
Il su
(abbreviazione di sostituto o cambio utente) l'utilità ti consente di eseguire comandi con i privilegi di un altro utente, per impostazione predefinita l'utente root.
Usando su
è il modo più semplice per passare all'account amministrativo nella sessione di accesso corrente. Ciò è particolarmente utile quando all'utente root non è consentito accedere al sistema tramite sshor utilizzando il display manager della GUI.
In questo tutorial spiegheremo come utilizzare il su
comando.
Come utilizzare il su
Comando #
La sintassi generale per su
il comando è il seguente:
su [OPTIONS] [USER [ARGUMENT...]]
Quando viene richiamato senza alcuna opzione, il comportamento predefinito di su
è eseguire una shell interattiva come root:
su
Ti verrà chiesto di inserire la password di root e, se autenticato, l'utente che esegue il comando diventa temporaneamente root.
La shell della sessione (SHELL
) e casa (HOME
) le variabili di ambiente sono impostate dal /etc/passwd
dell'utente sostitutivo voce e la directory corrente non viene modificata.
Per confermare che l'utente è cambiato, usa il whoami
comando:
whoami
Il comando stamperà il nome dell'utente che esegue la sessione della shell corrente:
root
L'opzione più comunemente usata quando si invoca su
è -
(-l
, --login
). Questo rende la shell una shell di login con un ambiente molto simile a un login reale e cambia la directory corrente:
su -
Se vuoi eseguire un'altra shell invece di quella definita nel passwd
file, usa il -s
, --shell
opzione. Ad esempio, per passare a root ed eseguire zsh
shell, dovresti digitare:
su -s /usr/bin/zsh
Per preservare l'intero ambiente (HOME
, SHELL
, USER
e LOGNAME
) dell'utente chiamante, invocare il comando con il -p
, --preserve-environment
opzione.
su -p
Quando il -
viene utilizzata l'opzione -p
viene ignorato.
Se vuoi eseguire un comando come utente sostitutivo senza avviare una shell interattiva, usa il -c
, --command
opzione. Ad esempio, per invocare il ps
comando come root, dovresti digitare:
su -c ps
Per passare a un altro account utente, passa il nome utente come argomento a su
. Ad esempio, per passare all'utente tyrion
dovresti digitare:
su tyrion
Sudo contro Su #
Su alcune distribuzioni Linux come Ubuntu, l'account utente root è disabilitato per impostazione predefinita per motivi di sicurezza. Ciò significa che non è stata impostata alcuna password per root e non è possibile utilizzare su
per passare a root.
Un'opzione per passare a root sarebbe quella di anteporre su
comando con sudo
e inserisci la password dell'utente attualmente connesso:
sudo su -
Il sudo
comando consente di eseguire programmi come un altro utente, per impostazione predefinita l'utente root.
Se all'utente viene concesso sudo
valutare, il su
il comando viene invocato come root. Esecuzione di sudo su -
e quindi digitare la password utente ha lo stesso effetto dell'esecuzione di su -
e digitando la password di root.
Se utilizzato con -i
opzione, sudo
eseguire una shell di accesso interattiva con l'ambiente dell'utente root:
sudo -i
sudo -i
è sostanzialmente lo stesso che eseguire su -
.
Il vantaggio di usare sudo
su su
è che la password di root non deve essere condivisa tra più account utente amministrativi.
Con sudo
puoi anche consentire agli utenti di eseguire solo programmi specifici con privilegi di root.
Conclusione #
su
è un'utilità della riga di comando che ti consente di diventare temporaneamente un altro utente ed eseguire comandi con l'utente sostitutivo.
Se hai domande o feedback, sentiti libero di lasciare un commento.