Introduzione
In Linux, il su
comando (cambia utente) viene utilizzato per eseguire un comando come un utente diverso.
In questa guida imparerai come utilizzare il su
comando, con esempi pratici.
Prerequisiti
- Un sistema che esegue Linux
- Accesso a una finestra di terminale/riga di comando (Ctrl-Alt-T, Ctrl-Alt-F2)
Come funziona il comando su
Il su
comando viene utilizzato per eseguire una funzione come utente diverso. È il modo più semplice per passare o passare all'account amministrativo nella sessione di accesso corrente.
Alcune versioni di Linux, come Ubuntu, disabilitano l'account utente root per impostazione predefinita, rendendo il sistema più sicuro. Ma ciò impedisce anche all'utente di eseguire comandi specifici.
Utilizzando su
agire temporaneamente come utente root ti consente di aggirare questa restrizione ed eseguire attività diverse con utenti diversi.
su Sintassi dei comandi
Per utilizzare il su
comando, inseriscilo in una riga di comando come segue:
su [options] [username [arguments]]
Se viene specificato un nome utente, su
il valore predefinito è il superutente (root). Trova semplicemente l'utente che ti serve e aggiungilo a su
sintassi del comando.
su Opzioni di comando
Per visualizzare un elenco di comandi, inserisci quanto segue:
su –h
Ecco alcune opzioni comuni da utilizzare con su
comando:
Username
– Sostituisci nome utente con il nome utente effettivo con cui desideri accedere. Può essere qualsiasi utente, non solo root.–c
o–command [command]
– Esegue un comando specifico come l'utente specificato.–
o–l
o–login [username]
– Esegue uno script di accesso per passare a un nome utente specifico. Dovrai inserire una password per quell'utente.–s
o–shell [shell]
– Consente di specificare un ambiente shell diverso in cui eseguire.–h
o–help
– Mostra il file della guida persu
comando.–p
o––preserve–environment
– Conserva il guscio ambiente (HOME, SHELL, UTENTE, LOGNAME).
Esempi di comando su
Passa a un altro utente
Per cambiare l'utente che ha effettuato l'accesso in questa finestra del terminale, inserisci quanto segue:
su –l [other_user]
Ti verrà richiesta una password. Inseriscilo e il login cambierà in quell'utente.
Se ometti un nome utente, verrà impostato automaticamente su root account. Ora, l'utente che ha effettuato l'accesso può eseguire tutti i comandi di sistema. Questo cambierà anche la home directory e il percorso dei file eseguibili.
Usa il whoami
comando per verificare di essere passato a un altro utente.
Esegui comando specifico come utente diverso
Per eseguire un comando specifico come un utente diverso, usa il –c
opzione:
su –c [command] [other_user]
Il sistema risponderà chiedendoti la password utente.
Quando inserisci questo esempio, il sistema utilizzerà l'account specificato per eseguire ls
(elenco dei contenuti della directory).
Usa una shell diversa
Per utilizzare una shell o un ambiente operativo diverso, inserisci quanto segue:
su –s /usr/bin/zsh
Questo comando apre un account utente root in Z shell .
Utilizza un utente diverso nello stesso ambiente
Puoi mantenere l'ambiente dell'account utente corrente con il –p
opzione:
su –p [other_user]
Sostituisci [altro_utente] con il nome utente effettivo a cui vuoi passare.
L'account utente cambierà, ma manterrai la stessa home directory. Ciò è utile se devi eseguire un comando come un utente diverso, ma devi accedere ai dati dell'utente corrente.
Per verificare di essere rimasto nello stesso ambiente domestico, utilizza echo $HOME
comando che visualizzerà la directory in cui stai lavorando.
Confronto comandi:su vs sudo
comando sudo
Il sudo
Il comando garantisce un accesso una tantum o limitato alla funzionalità di root. In genere, il sudo
comando viene utilizzato per eseguire rapidamente un comando amministrativo, quindi tornare alle autorizzazioni regolari dell'account utente.
Per fornire l'accesso sudo, l'utente deve essere aggiunto al gruppo sudo.
su Comando
Il su
comando consente di passare dall'utente corrente a qualsiasi altro utente. Se devi eseguire un comando come un utente diverso (non root), usa il –l [username]
opzione per specificare l'account utente. Inoltre,su
può anche essere usato per passare al volo a un diverso interprete di shell.
su
è un comando più vecchio ma più completo. Può duplicare la funzionalità di sudo
utilizzando il –c
opzione per passare un singolo comando alla shell.