SUDO (Substitute User Do) est une commande historique et incontournable de l’environnement Unix.
Implantée par Bob Coggeshall et Cliff Spencer dans les années 80 et maintenue par Todd C. Miller d’OpenBSD, cette commande permet d’accorder les droits « Root » (administrateur) à un compte utilisateur sur le lancement des commandes.
Cette commande (sous forme de package) est présente sur la plupart des distributions Linux comme Ubuntu par exemple.
Sous Debian, Sudo peut être présente mais sous la condition de créer le compte root sans associer de mot de passe (à ne pas confondre avec la commande « su« ).
Dans les bonnes pratiques Linuxiennes, se connecter à Root est déconseillé car trop sensible.
L’utilisation de Root peux entrainer des dommages irréversible pour votre système.
. une erreur peut casser tout le système
. aucun garde-fou
. risque de sécurité élevé
C’est la qu’intervient Sudo !
Utilisation de sudo
Sudo s’utilise dans le terminal Linux et précède toujours la commande à exécuter.
Exemple :
Ci-dessus, Sudo précède la commande « systemctl restart httpd.service » qui va redémarrer le serveur Apache.
Autre exemple :
L’utilisateur « Jon » n’a pas les privilèges pour mettre à jours les paquets du système, il devra entrer la commande « sudo » devant les commandes « apt update » et « apt upgrade -y » si il veut qu’elles se lancent.
Note : dans la commande, « && » est utilisée pour lancer 2 commandes = apt update « et » apt upgrade -y.
Note : « -y » est une option qui veut dire « yes » afin de confirmer l’exécution de la commande.
Installation de sudo
Si Sudo n’est pas installée sur votre distribution, vous pouvez le faire via les commandes suivantes :
Une fois installée, il faudra ajouter votre utilisateur au groupe « sudo » via cette commande :
Vous pouvez ensuite lister les permissions de votre utilisateur via la commande suivante :
Vous pouvez également vérifier si votre utilisateur appartient bien au groupe sudo via cette commande :
Gestion des permissions sudo
Par défaut, sudo exécute les commandes sous root, mais vous pouvez l’utiliser en invoquant un autre utilisateur grâce à l’option « -u« .
Exemple en invoquant l’utilisateur « fred » :
Il est également possible d’utiliser sudo temporairement afin d’éviter de la rentrer à chaque commande en utilisant l’option « -i ».
Les autorisations sudo données aux utilisateurs sont écrites dans le fichier de configuration qui s’appelle « sudoers« .
Il est possible de modifier ce fichier via l’outil « visudo« .