Contrariamente a quanto il loro uso più comune farebbe pensare, su
e sudo
non sono pensati solo per accedere (o eseguire azioni) come root.
su
ti permette di scambiare la tua identità con quella di qualcun altro. Per questo motivo, quando digiti su
, il sistema deve verificare che tu disponga delle credenziali per l'utente di destinazione in cui stai tentando di trasformarti.
sudo
è un po' diverso. Usando sudo
ti consente di eseguire alcuni comandi (o tutti, a seconda della configurazione) come qualcun altro. La tua identità viene utilizzata per determinare quali tipi di comandi sudo
correrà per te sotto l'identità di qualcun altro:se sei un utente fidato (nel senso che l'amministratore di sistema si fida di te), ti verrà concesso più libero sfogo rispetto, diciamo, a uno stagista. Ecco perché sudo
deve verificare la tua identità piuttosto che quella dell'utente di destinazione.
In altre parole, cercando di su
per qualcuno che non sei è come tentare di addebitare i tuoi acquisti su una carta di credito rubata usando sudo
è come vendere l'auto di un amico tramite delega legale.
Per quanto riguarda quello che stavi cercando di fare, solo sudo su root
, o ancora più semplicemente sudo su
e digita la tua normale password utente. Ciò equivarrebbe all'incirca alla sostituzione delle credenziali della carta di credito del tuo amico con le tue utilizzando la delega legale che ti hanno fornito :). Ovviamente presuppone il sudo
la configurazione consente di eseguire su
con privilegi avanzati.
Inoltre, i sistemi che sono preconfigurati con sudo
access in genere hanno l'account root disabilitato (nessuna password root), puoi abilitarlo usando passwd
comando dopo essere diventato root tramite sudo su
.
È configurabile* ma, per impostazione predefinita, "sudo" ti chiede la tua password. Sta solo cercando di assicurarsi che sei tu, non qualcuno che sta usando la tua tastiera mentre stavi prendendo il caffè.
Al contrario, "su root" ti chiede la password di root.
*Se targetpw in /etc/sudoers è falso (predefinito), "sudo" ti chiede la tua password. Se è vero, allora "sudo" ti chiede la password di root o, se hai specificato un altro utente con l'opzione "-u", la password di quell'utente.
sudo
viene utilizzato per aumentare temporaneamente le autorizzazioni dell'utente al livello root, mentre su root
è usato per creare una nuova shell con root come utente;