GNU/Linux >> Linux Esercitazione >  >> Linux

Comando Sudo in Linux

Il comando sudo consente di eseguire programmi come un altro utente, per impostazione predefinita l'utente root. Se trascorri molto tempo sulla riga di comando, sudo è uno dei comandi che utilizzerai abbastanza frequentemente.

L'uso di sudo invece di accedere come root è più sicuro perché puoi concedere privilegi amministrativi limitati a singoli utenti senza che essi conoscano la password di root.

In questo tutorial spiegheremo come usare il sudo comando.

Installazione di Sudo (comando sudo non trovato) #

Il pacchetto sudo è preinstallato sulla maggior parte delle distribuzioni Linux.

Per verificare se il pacchetto sudo è installato sul tuo sistema, apri la tua console, digita sudo e premi Enter . Se sudo ha installato il sistema, verrà visualizzato un breve messaggio di aiuto. Altrimenti, vedrai qualcosa come sudo command not found .

Se sudo non è installato puoi installarlo facilmente usando il gestore pacchetti della tua distribuzione.

Installa Sudo su Ubuntu e Debian #

apt install sudo

Installa Sudo su CentOS e Fedora #

yum install sudo

Aggiunta utente a sudoers #

Per impostazione predefinita, sulla maggior parte delle distribuzioni Linux concedere l'accesso a sudo è semplice come aggiungere l'utente al gruppo sudo definito in sudoers file. I membri di questo gruppo potranno eseguire qualsiasi comando come root. Il nome del gruppo può variare da distribuzione a distribuzione.

Nelle distribuzioni basate su RedHat come CentOS e Fedora, il nome del gruppo sudo è wheel . Per aggiungere l'utente al gruppo, esegui:

usermod -aG wheel username

Su Debian, Ubuntu e i loro derivati, i membri del gruppo sudo sono concessi con accesso sudo:

usermod -aG sudo username

L'account utente root in Ubuntu è disabilitato per impostazione predefinita per motivi di sicurezza e gli utenti sono incoraggiati a eseguire attività di amministrazione del sistema utilizzando sudo. L'utente iniziale creato dal programma di installazione di Ubuntu è già un membro del gruppo sudo, quindi se stai utilizzando Ubuntu, è probabile che l'utente a cui hai effettuato l'accesso sia già autorizzato con i privilegi sudo.

Per consentire a un utente specifico di eseguire solo determinati programmi come sudo, invece di aggiungere l'utente al gruppo sudo, aggiungi gli utenti a sudoers file.

Ad esempio, per consentire all'utente linuxize per eseguire solo mkdir comando come sudo, digita:

sudo visudo

e aggiungi la seguente riga:

linuxize  ALL=/bin/mkdir

Sulla maggior parte dei sistemi, il visudo il comando apre il /etc/sudoers file con l'editor di testo vim. Se non hai esperienza con vim, consulta il nostro articolo su come salvare un file e uscire dall'editor di vim.

Puoi anche consentire agli utenti di eseguire comandi sudo senza inserire la password:

linuxize  ALL=(ALL) NOPASSWD: ALL

Come usare Sudo #

La sintassi per sudo il comando è il seguente:

sudo OPTION.. COMMAND

Il sudo comando ha molte opzioni che controllano il suo comportamento, ma di solito viene utilizzato nella sua forma più semplice, senza alcuna opzione.

Per usare sudo, anteponi semplicemente al comando sudo :

sudo command

Dove command è il comando per il quale vuoi usare sudo.

Sudo leggerà il /etc/sudoers file e controlla se l'utente che esegue il richiamo è autorizzato con sudo assessment. La prima volta che usi sudo in una sessione, ti verrà chiesto di inserire la password utente e il comando verrà eseguito come root.

Ad esempio, per elencare tutti i file in /root directory che useresti:

sudo ls /root
[sudo] password for linuxize:
.  ..  .bashrc	.cache	.config  .local  .profile

Timeout password #

Per impostazione predefinita, sudo ti chiederà di inserire nuovamente la password dopo cinque minuti di inattività sudo. Puoi modificare il timeout predefinito modificando sudoers file. Apri il file con visudo :

sudo visudo

Imposta il timeout predefinito aggiungendo la riga sottostante, dove 10 è il timeout specificato in minuti:

Defaults  timestamp_timeout=10

Se desideri modificare il timestamp solo per un utente specifico, aggiungi la riga seguente, dove nome_utente è l'utente in questione.

Defaults:user_name timestamp_timeout=10

Esegui un comando come utente diverso da root #

C'è un'errata percezione che sudo viene utilizzato solo per fornire i permessi di root a un utente normale. In realtà, puoi usare sudo per eseguire un comando come qualsiasi utente.

Il -u l'opzione ti consente di eseguire un comando come un utente specificato.

Nell'esempio seguente, stiamo usando sudo per eseguire whoami comando come utente “richard”:

sudo -u richard whoami

Il whoami command stamperà il nome dell'utente che esegue il comando:

richard

Come reindirizzare con Sudo #

Se provi a reindirizzare l'output di un comando a un file per il quale il tuo utente non ha permessi di scrittura, riceverai un errore "Autorizzazione negata".

sudo echo "test" > /root/file.txt
bash: /root/file.txt: Permission denied

Ciò accade perché il reindirizzamento “> ” dell'output viene eseguito con l'utente a cui si è effettuato l'accesso, non l'utente specificato con sudo. Il reindirizzamento avviene prima del sudo viene richiamato il comando.

Una soluzione è invocare una nuova shell come root usando sudo sh -c :

sudo sh -c 'echo "test" > /root/file.txt'

Un'altra opzione è inviare l'output come utente normale al tee comando, come mostrato di seguito:

echo "test" | sudo tee /root/file.txt

Conclusione #

Hai imparato a usare il sudo comando e come creare nuovi utenti con privilegi sudo.

Se hai domande, sentiti libero di lasciare un commento.


Linux
  1. Comando Linux mv

  2. Linux du comando

  3. comando IP Linux

  4. comando cd di Linux

  5. Esempi di comandi sudo in Linux

Linux quale comando

Comando Data in Linux

Comando W in Linux

Al comando in Linux

Comando Df in Linux

Nozioni di base sulla riga di comando di Linux:sudo