Esecuzione di un comando come utente nologin


43

Di recente ho configurato il mio server in modo che i miei utenti "virtuali" suPHP non possano accedere utilizzando questo articolo

Il mio problema ora è che prima quando eseguivo un rakecomando per la mia applicazione Ruby on Rails in esecuzione sul server, ero solito suentrare www-dataed eseguire il comando da lì - ovviamente non posso più farlo a causa del nologin.

Quindi, come utente root, come posso eseguire comandi come altri utenti, anche se sono nologin?


Un modo è quello di lanciare una shell per quell'utente (specificando esplicitamente la shell): sudo -u www-data basheseguire i comandi e disconnettersi
cyberx86

@ cyberx86 La tua soluzione funziona a meraviglia, potresti inviarla come risposta per me?

Risposte:


50

Un modo è quello di lanciare una shell per quell'utente (specificando esplicitamente la shell):

sudo -u www-data bash 

Questo avvierà una shell (bash) come l'utente specificato. È quindi possibile eseguire i comandi e disconnettersi (per tornare alla shell precedente)


39

Come root puoi usare su -s /bin/sh $user - l' -sopzione sovrascrive la shell configurata per l'utente.


1
Questo sembra sempre un errore per me.

Funziona benissimo per me, non ho mai avuto problemi. Quando si eseguono script con necessità di sintassi bash / bin / bash anziché / bin / sh
ekerner
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.