Posso fare un su
con su <username>
e mi chiede la mia password. Esiste un parametro password per su
tale che non mi verrà richiesta una password?
per esempio su <username> -p <password>
superuser
qui, superuser.com/questions/67765/…
Posso fare un su
con su <username>
e mi chiede la mia password. Esiste un parametro password per su
tale che non mi verrà richiesta una password?
per esempio su <username> -p <password>
superuser
qui, superuser.com/questions/67765/…
Risposte:
Se vuoi scrivere uno script che funziona come un altro utente, qualcosa del genere funziona, anche se dows emette la parola "password" senza una nuova riga per uscire standard
su - username <<!
enterpasswordhere
enter commands to run as the new user
!
se hai un utente di nome fred con una password di 1234 e vuoi ottenere una ls della home directory di fred come fred, senza la stringa della password visualizzata, sembrerebbe
su - fred <<! >/dev/null 2>&1
1234
whoami > /dev/tty
ls > /dev/tty
!
su: must be run from a terminal
.
Credo che non ci sia e non sarebbe una buona idea. Ecco perché:
se scrivi una password in un comando simile su <username> -p <password>
, verrebbe memorizzata in testo semplice nella tua cronologia di bash. Questo è certamente un enorme problema di sicurezza.
Se è necessario eseguire comandi con su
(o sudo
) in modo automatizzato, scrivere uno script shell contenente i comandi senza su
o sudo
ed eseguiresu <username> script.sh
su root script
è ancora necessario inserire passwd.
echo <passwd> | sudo -S <command-line>
Anche se non è sicuro, ma funziona.