GNU/Linux >> Tutoriels Linux >  >> Linux

sudo :commande introuvable

Avec la commande su, tout utilisateur connaissant le mot de passe root peut « devenir root » et faire tout ce que l'utilisateur root peut faire. Un compte utilisant "su - root" est essentiellement l'administrateur du serveur. C'est souvent beaucoup plus de pouvoir que ce qui devrait être délégué aux utilisateurs. Une meilleure pratique consiste à déléguer des fonctions spécifiques aux utilisateurs plutôt que d'accorder des privilèges root à l'échelle du système.

La commande sudo permet à l'administrateur du serveur de déléguer des commandes spécifiques à des utilisateurs spécifiques sans leur accorder tous les privilèges sur le serveur. La délégation se fait dans le fichier /etc/sudoers à l'aide de l'éditeur visudo. Les utilisateurs et les groupes peuvent recevoir des commandes spécifiques à exécuter afin de s'acquitter de leurs responsabilités sans disposer de privilèges d'administrateur complets.

Syntaxe

La syntaxe de la commande sudo est :

$ sudo [options] {command}

Si vous rencontrez l'erreur ci-dessous lors de l'exécution de la commande sudo :

sudo: command not found

vous pouvez essayer d'installer le package sudo comme indiqué ci-dessous selon votre choix de distribution.

Répartition Commande
Debian apt-get install sudo
Ubuntu apt-get install sudo
Alpin apk ajouter sudo
Arch Linux pacman -S sudo
Kali Linux apt-get install sudo
CentOS yum installer sudo
Fédora dnf installer sudo
Raspbian apt-get install sudo

Exemples de commande sudo

1. Exécutez une commande en tant que superutilisateur :

$ sudo less /var/log/syslog

2. Modifiez un fichier en tant que superutilisateur avec votre éditeur par défaut :

$ sudo --edit /etc/fstab

3. Exécutez une commande en tant qu'un autre utilisateur et/ou groupe :

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

4. Répétez la dernière commande précédée de `sudo` (uniquement dans `bash`, `zsh`, etc.):

$ sudo !!

5. Lancez le shell par défaut avec les privilèges de superutilisateur et exécutez les fichiers spécifiques à la connexion (`.profile`, `.bash_profile`, etc.):

$ sudo --login

6. Lancez le shell par défaut avec les privilèges de superutilisateur sans modifier l'environnement :

$ sudo --shell

7. Lancez le shell par défaut en tant qu'utilisateur spécifié, en chargeant l'environnement de l'utilisateur et en lisant les fichiers spécifiques à la connexion (`.profile`, `.bash_profile`, etc.):

$ sudo --login --user=user

8. Listez les commandes autorisées (et interdites) pour l'utilisateur appelant :

$ sudo --list

Conclusion

comment fonctionne exactement le programme sudo can-do-anything ? C'est plus simple que vous ne le pensez ! Reportez-vous au code suivant :

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

On remarque que l'exécutable binaire sudo est en réalité un programme setuid-root ! Alors réfléchissez-y :chaque fois que vous exécutez un programme avec sudo, le processus sudo s'exécute immédiatement avec un privilège root :pas de mot de passe, pas de problème. Mais, bien sûr, pour des raisons de sécurité, l'utilisateur doit entrer le mot de passe; une fois qu'ils l'ont entré correctement, sudo continue l'exécution et exécute la commande que vous voulez, en tant que root. Si l'utilisateur ne parvient pas à saisir correctement le mot de passe (généralement dans les trois tentatives), sudo interrompt l'exécution.


Linux
  1. gestionnaire d'abonnement :commande introuvable

  2. visudo :commande introuvable

  3. sudoedit :commande introuvable

  4. id :commande introuvable

  5. w :commande introuvable

sudo :apt-add-repository :commande introuvable ?

La commande alternative de mise à jour est introuvable ?

nc :commande introuvable

aws-shell :commande introuvable

sudo :npm :commande introuvable

sudo :python :commande introuvable