Esegui comando come utente Linux "sistema" (shell = / bin / false)


29

Ho creato un utente di "sistema" in Ubuntu 11.04 ( adduser --system) per eseguire determinati lavori cron, ma a volte voglio testare le cose eseguendo manualmente i comandi come quell'utente. Qual è il modo più semplice per farlo?

sunon funziona, perché l'utente ha /bin/falsecome shell (che va bene per cron). Ho cambiato manualmente la shell per /bin/bashfare i miei test e poi cambiarla di nuovo, ma mi chiedo che ci sia un modo più semplice?

Risposte:


41

Uso su - targetuser -s /bin/bashda una shell di root.

Per l'esecuzione del comando diretto utilizzare -c:

su - targetuser -s /bin/bash -c "/bin/echo hello world" 

Funziona, grazie! Come ho perso l'opzione -s?
EMP,

3
puoi anche puntare su un'opzione -c "your_command_here" per passare il comando che desideri eseguire invece di attendere la shell e quindi digitarlo a un nuovo prompt.
dmourati,

2

Usa sudo. Funzionerà anche se l'utente non ha una vera shell.

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.