GNU/Linux >> Linux Esercitazione >  >> Linux

sudo:comando non trovato

Con il comando su, qualsiasi utente che conosce la password di root può "ottenere root" e fare qualsiasi cosa l'utente root possa fare. Un account che utilizza "su - root" è essenzialmente l'amministratore del server. Questo è spesso molto più potere di quanto dovrebbe essere delegato agli utenti. Una pratica migliore consiste nel delegare funzioni specifiche agli utenti anziché concedere privilegi di root a livello di sistema.

Il comando sudo consente all'amministratore del server di delegare comandi specifici a utenti specifici senza concedere loro privilegi completi sul server. La delega viene eseguita nel file /etc/sudoers utilizzando l'editor visudo. A utenti e gruppi possono essere assegnati comandi specifici da eseguire per adempiere alle proprie responsabilità senza disporre dei privilegi di amministratore completi.

Sintassi

La sintassi del comando sudo è:

$ sudo [options] {command}

Se si verifica l'errore seguente durante l'esecuzione del comando sudo:

sudo: command not found

puoi provare a installare il pacchetto sudo come mostrato di seguito secondo la tua scelta di distribuzione.

Distribuzione Comando
Debian apt-get install sudo
Ubuntu apt-get install sudo
Alpino apk aggiungi sudo
Arci Linux pacman -S sudo
Kali Linux apt-get install sudo
CentOS yum install sudo
Fedora dnf install sudo
Raspbian apt-get install sudo

Esempi di comando sudo

1. Esegui un comando come superutente:

$ sudo less /var/log/syslog

2. Modifica un file come superutente con il tuo editor predefinito:

$ sudo --edit /etc/fstab

3. Eseguire un comando come un altro utente e/o gruppo:

$ sudo --user=user --group=group id -a

4. Ripetere l'ultimo comando preceduto da `sudo` (solo in `bash`, `zsh`, ecc.):

$ sudo !!

5. Avviare la shell predefinita con privilegi di superutente ed eseguire file specifici per l'accesso (`.profile`, `.bash_profile`, ecc.):

$ sudo --login

6. Avvia la shell predefinita con privilegi di superutente senza modificare l'ambiente:

$ sudo --shell

7. Avvia la shell predefinita come utente specificato, caricando l'ambiente dell'utente e leggendo i file specifici per l'accesso (`.profile`, `.bash_profile`, ecc.):

$ sudo --login --user=user

8. Elenca i comandi consentiti (e vietati) per l'utente che esegue il richiamo:

$ sudo --list

Conclusione

come funziona esattamente il programma sudo che può fare qualsiasi cosa? È più semplice di quanto pensi! Fare riferimento al seguente codice:

$ which sudo
/usr/bin/sudo
$ ls -l $(which sudo)
-rwsr-xr-x 1 root root 145040 Jun 13  2022 /usr/bin/sudo

Notiamo che l'eseguibile binario sudo è in realtà un programma setuid-root! Quindi pensaci:ogni volta che esegui un programma con sudo, il processo sudo viene eseguito immediatamente con un privilegio di root, senza password, senza problemi. Ma, ovviamente, per sicurezza, l'utente deve inserire la password; una volta inserito correttamente, sudo continua l'esecuzione ed esegue il comando desiderato, come root. Se l'utente non riesce a inserire la password correttamente (in genere entro tre tentativi), sudo interrompe l'esecuzione.


Linux
  1. gestore abbonamenti:comando non trovato

  2. id:comando non trovato

  3. w:comando non trovato

  4. df:comando non trovato

  5. du:comando non trovato

sudo:apt-add-repository:comando non trovato?

Comando alternativo all'aggiornamento non trovato?

nc:comando non trovato

aws-shell:comando non trovato

sudo:npm:comando non trovato

comando non trovato quando si utilizza sudo