Su (Unix)
su (da switch user o substitute user) è un comando dei sistemi operativi Unix e Unix-like che permette di avviare una shell testuale assumendo l'identità di un altro utente del sistema. È anche possibile indicare tra i parametri un comando da far eseguire alla nuova shell, che a questo punto sarà eseguito con la nuova identità.
su viene tipicamente usato da utenti non privilegiati per avviare una shell nei panni di root, e dall'utente root per avviare una shell nei panni di utenti ordinari.
Normalmente su richiede di effettuare un'autenticazione con le credenziali dell'utente di cui si vuole assumere l'identità. Ciò non è richiesto quando su viene eseguito dall'utente root.
Su alcuni sistemi (non GNU/Linux[1], anche se tecnicamente possibile[2]) solo gli utenti che appartengono al gruppo speciale wheel possono assumere l'identità di root.
Uso
La sintassi tipica di su è la seguente:
su [-] [utente] [-c comando]
Il parametro utente specifica il nome dell'utente di cui si desidera assumere l'identità. Se non specificato si assume sia root.
Specificando il segno meno "-" si indica di avviare una shell di login, che offre un ambiente sostanzialmente identico a quello che si otterrebbe effettuando il login testuale nei panni dell'utente di cui si assume l'identità (ad esempio la directory corrente diventa quella dell'utente di cui si assume l'identità). Non specificandolo si ottiene invece un ambiente che in parte deriva da quello corrente.
Con l'opzione -c è possibile specificare una riga di comando da far eseguire alla nuova shell, di fatto permettendo l'avvio diretto di altri programmi.
Esempi
Un utente non privilegiato può avviare una shell come root:
su -
Un utente non privilegiato può eseguire direttamente un comando come root:
su -c "mkdir /opt/esempio"
L'utente root avvia una shell nei panni dell'utente non privilegiato alice:
su - alice
Note
- ^ (EN) Why GNU su does not support the ‘wheel’ group, in GNU Coreutils manual. URL consultato il 17-05-2008.
- ^ (EN) Blocking; su to root, by one and sundry, in Securing and Optimizing Linux: RedHat Edition - A Hands on Guide. URL consultato il 17-05-2008.
Voci correlate
- sudo – Esegue comandi con l'identità di altri utenti.