GNU/Linux >> Linux Esercitazione >  >> Linux

Esplorazione delle differenze tra i comandi sudo e su in Linux

Questo articolo esplora le differenze tra sudo e su comandi in Linux. Puoi anche guardare questo video per conoscere questi comandi. Diventare root permanentemente con su è un noto 'no-no' nell'universo *nix. Come mai? Perché diventare root con su significa che sei root, che equivale ad accedere a un terminale come utente root con la password di root. Ed è pericoloso per molte ragioni.

[ Potrebbe interessarti anche: Nozioni di base sulla riga di comando di Linux:sudo ]

Lavorare come root significa che hai il potere di:

  • Rimuovi uno o tutti i file
  • Modifica i permessi di uno o tutti i file
  • Cambia il runlevel del sistema
  • Modifica account utente
  • Monta o smonta i filesystem
  • Rimuovi o installa software
  • Crea, rimuovi e modifica i file system

Fondamentalmente, puoi fare qualsiasi cosa al sistema come utente root. È l'onnipotente account amministrativo. E, a differenza di altri sistemi operativi più loquaci, non vedrai un "Sei sicuro?" finestra di dialogo per essere sicuri che rm -rf * il comando che hai appena emesso era in /opt/tmp anziché su / . Come puoi immaginare, gli errori commessi come utente root possono essere irreversibili e devastanti. C'è un'alternativa:sudo .

sudo

sudo , che è l'acronimo di superutente do o sostituto utente do , è un comando che esegue un prompt con privilegi elevati senza la necessità di modificare l'identità. A seconda delle tue impostazioni in /etc/sudoers file, puoi inviare singoli comandi come root o come un altro utente. Per continuare a eseguire i comandi con l'alimentazione di root, devi sempre usare il comando sudo. Ad esempio, se desideri installare Nginx pacchetto, esegui:

$ dnf install nginx

Ma vedrai un errore se non sei root o nel gruppo sudo. Invece, se esegui questo comando:

$ sudo dnf install nginx

Ti verrà chiesto di digitare la tua password, quindi potrai eseguire il comando se fai parte del gruppo sudo.

Un modo semplice per passare a una sessione interattiva come utente root è il seguente:

$ sudo -i

La teoria alla base dell'utilizzo di sudo è che l'atto di emettere il comando sudo prima di qualsiasi comando che esegui ti fa pensare di più a ciò che stai facendo e, si spera, fare meno errori con un account che possiede un potere illimitato.

su

su , invece, è l'acronimo di cambia utente o utente sostitutivo . In pratica stai passando a un particolare utente e hai bisogno della password per l'utente a cui stai passando. Molto spesso, l'account utente a cui si passa è l'account root, ma può essere qualsiasi account del sistema.

Ad esempio, se digiti:

$ su -

Nell'esempio sopra, stai passando a root e hai bisogno della password di root. Il (- ) ti fornisce l'ambiente di root (percorso e variabili della shell) invece di darti semplicemente il potere dell'utente root per un singolo comando mantenendo il tuo ambiente.

$ su bryant

Per il secondo esempio, stai passando a bryant , quindi hai bisogno della password di Bryant a meno che tu non sia root.

Se vuoi passare a bryant account utente incluso il percorso di Bryant e le variabili di ambiente, utilizzare il (- ) interruttore:

$ su - bryant

Il (- ) ha lo stesso effetto dell'accesso a un sistema direttamente con quell'account utente. In sostanza, tu diventi quell'utente.

Concludi

Ricapitolando ciò che hai imparato.

  • sudo ti consente di impartire comandi come un altro utente senza modificare la tua identità
  • Devi avere una voce in /etc/sudoers per eseguire queste autorizzazioni limitate
  • sudo -i ti porta a una sessione interattiva come root
  • su significa passare a un particolare utente
  • Semplicemente digitando su passa all'utente root
  • sudo chiederà la tua password, mentre su chiederà la password per l'utente a cui stai passando

[ Vuoi saperne di più sulla sicurezza? Consulta la checklist di sicurezza e conformità IT. ] 

Ma quando ne usi uno, non un altro? Dal momento che il sudo la politica è definita in /etc/sudoers , questo può fornire potenti controlli delle autorizzazioni. Da sudo può praticamente fare tutto ciò che su può, direi che è meglio attenersi a sudo a meno che tu non stia lavorando con alcuni codici legacy che richiedono il su comando.


Linux
  1. Scopri la differenza tra i comandi "su" e "su -" in Linux

  2. Differenza tra i comandi "su" e "su -" in Linux

  3. Come consentire all'utente di utilizzare sudo in Ubuntu Linux

  4. Qual è la differenza tra Sudo Su – e Sudo Su –?

  5. Differenza tra utente Sudo e utente root?

Comprendere la differenza tra il comando sudo e su su Linux

Esegui i comandi come un altro utente tramite Sudo in Linux

Digita i comandi Linux in lettere maiuscole per eseguirli come utente Sudo

Come conoscere i gruppi di un utente Linux

Comandi Linux avanzati per utenti esperti

Imparare i comandi Linux Elimina utente o Aggiungi utente Linux