GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come utilizzare il comando sudo in Linux

Introduzione

Sudo sta per SuperUser DO e viene utilizzato per accedere a file e operazioni con restrizioni. Per impostazione predefinita, Linux limita l'accesso ad alcune parti del sistema impedendo che i file sensibili vengano compromessi.

Il sudo comando eleva temporaneamente i privilegi consentendo agli utenti di completare attività riservate senza accedere come utente root. In questo tutorial, scopri come utilizzare il comando sudo in Linux con esempi.

Prerequisiti

  • Un sistema che esegue Linux
  • Accesso a una riga di comando/finestra del terminale (Attività> Ricerca> Terminale)
  • Un account utente con sudo o root privilegi

Come usare il comando sudo

sudo è stato sviluppato come un modo per concedere temporaneamente a un utente diritti amministrativi. Per farlo funzionare, usa sudo prima di un comando ristretto. Il sistema richiederà la tua password. Una volta fornito, il sistema esegue il comando.

Sintassi

Per iniziare a utilizzare sudo , usa la seguente sintassi:

sudo [command]

Quando il sudo viene utilizzato il comando, viene inserito un timestamp nei registri di sistema. L'utente può eseguire comandi con privilegi elevati per un breve periodo (predefinito 15 minuti). Se un utente non sudo tenta di utilizzare il sudo comando, viene registrato come evento di sicurezza.

Opzioni

sudo può essere utilizzato con opzioni aggiuntive:

  • -h - aiuto; visualizza la sintassi e le opzioni dei comandi
  • -V – versione; mostra la versione corrente dell'applicazione sudo
  • -v – convalidare; aggiorna il limite di tempo su sudo senza eseguire un comando
  • -l - elenco; elenca i privilegi dell'utente o controlla un comando specifico
  • -k - uccisione; termina gli attuali privilegi sudo

Ulteriori opzioni possono essere trovate sotto il -h opzione.

Concessione dei privilegi sudo

Per la maggior parte delle moderne distribuzioni Linux, un utente deve trovarsi in sudo , sudoers, o ruota gruppo per utilizzare il sudo comando. Per impostazione predefinita, un sistema a utente singolo concede i privilegi sudo al proprio utente. Un sistema o un server con più account utente può escludere alcuni utenti dai privilegi sudo.

Si consiglia di concedere solo i privilegi assolutamente necessari all'esecuzione delle attività quotidiane dell'utente.

Le sezioni seguenti spiegano come aggiungere un utente al gruppo sudoers.

RedHat e CentOS

In Redhat/CentOS, la ruota controlli di gruppo sudo utenti. Aggiungi un utente al gruppo di ruote con il seguente comando:

usermod -aG wheel [username]

Sostituisci [username] con un vero nome utente. Potrebbe essere necessario accedere come amministratore o utilizzare il su comando.

Debian e Ubuntu

In Debian/Ubuntu, il sudo il gruppo controlla gli utenti sudo. Aggiungi un utente al gruppo sudo con il seguente comando:

usermod -aG sudo [username]

Sostituisci [username] con un vero nome utente. Potrebbe essere necessario accedere come amministratore o utilizzare il su comando.

Utilizzo di visudo e del gruppo sudoers

In alcune versioni moderne di Linux, gli utenti vengono aggiunti ai sudoers file per concedere i privilegi. Questo viene fatto usando il visudo comando.

1. Usa il visudo comando per modificare il file di configurazione:

sudo visudo

2. Si aprirà /etc/sudoers per la modifica. Per aggiungere un utente e concedere privilegi sudo completi , aggiungi la seguente riga:

[username] ALL=(ALL:ALL) ALL

3. Salva ed esci dal file.

Ecco una ripartizione dei privilegi sudo concessi:

[username] [any-hostname]=([run-as-username]:[run-as-groupname]) [commands-allowed]

Esempi di sudo in Linux

Utilizzo di base del sudo

1. Apri una finestra di terminale e prova il seguente comando:

apt-get update

2. Dovresti vedere un messaggio di errore. Non hai le autorizzazioni necessarie per eseguire il comando.

3. Prova lo stesso comando con sudo :

sudo apt-get update

4. Digitare la password quando richiesto. Il sistema esegue il comando e aggiorna i repository.

Esegui comando come utente diverso

1. Per eseguire un comando come un utente diverso, nel terminale, immettere il seguente comando:

whoami

2. Il sistema dovrebbe visualizzare il tuo nome utente. Quindi, esegui il seguente comando:

sudo -u [different_username] whoami

3. Inserisci la password per [different_username] e il whoami il comando verrà eseguito e visualizzerà il diverso utente.

Passa all'utente root

Questo comando cambia il tuo prompt dei comandi nella shell BASH come utente root:

sudo bash

La tua riga di comando dovrebbe cambiare in:

[email protected]:/home/[username]

Il hostname value sarà il nome di rete di questo sistema. Il username sarà il nome utente di accesso corrente.

Esegui comandi precedenti con sudo

La riga di comando di Linux conserva un registro dei comandi eseguiti in precedenza. È possibile accedere a questi record premendo la freccia su. Per ripetere l'ultimo comando con privilegi elevati, utilizzare:

sudo !!

Funziona anche con i comandi precedenti. Specificare il numero storico come segue:

sudo !6

Questo esempio ripete la sesta voce della cronologia con il sudo comando.

Esegui più comandi in una riga

Stringi più comandi insieme, separati da un punto e virgola:

sudo ls; whoami; hostname

Aggiungi una stringa di testo a un file esistente

L'aggiunta di una stringa di testo a un file viene spesso utilizzata per aggiungere il nome di un repository software al file di origine, senza aprire il file per la modifica. Usa la seguente sintassi con il comando echo, sudo e tee:

echo ‘string-of-text’ | sudo tee -a [path_to_file]

Ad esempio:

echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list

Ubuntu
  1. Come usare il comando Linux grep

  2. Come usare il comando cronologia in Linux

  3. Come utilizzare il comando Apt-Get in Linux

  4. Come utilizzare il comando id in Linux

  5. Come utilizzare il comando "schermo" in Linux

Come utilizzare il comando Linux Top

Come utilizzare il comando fd sul sistema Linux

Come utilizzare il comando wget in Linux?

Come usare il comando xargs in Linux?

Come utilizzare il comando RPM in Linux

Come utilizzare il comando which in Linux