+- My Board (https://ellohost.com/forum)
+-- Forum: Tutoriel FR (https://ellohost.com/forum/forumdisplay.php?fid=7)
+--- Forum: Others (https://ellohost.com/forum/forumdisplay.php?fid=16)
+--- Thread: Comment Utiliser Sudo et le Fichier Sudoers (/showthread.php?tid=170)
Comment Utiliser Sudo et le Fichier Sudoers - aaron - 08-13-2023
Comment Utiliser Sudo et le Fichier Sudoers
La commande sudo permet aux utilisateurs non root d'exécuter d'autres commandes Linux qui nécessiteraient normalement des privilèges superutilisateur, tandis que le fichier sudoers indique au système comment gérer la commande sudo. Dans ce tutoriel, nous vous montrerons les bases de la commande sudo et comment éditer le fichier sudoers.
Comprendre Sudo
Pour comprendre comment fonctionne sudo, accédez d'abord à votre VPS via SSH. Si vous avez des problèmes, consultez le tutoriel PuTTY.
Par défaut, l'utilisateur root n'a pas besoin d'utiliser le préfixe sudo. Il possède déjà tous les privilèges possibles. Pendant ce temps, si un utilisateur non root souhaite ajouter un autre utilisateur, il devra ajouter le préfixe sudo à la commande useradd, comme ceci :
sudo useradd edward
Si l'utilisateur n'utilise pas le préfixe sudo, il recevra un message "Permission refusée".
Le Fichier Sudoers
La commande sudo est configurée via un fichier situé dans /etc/ appelé sudoers.
Grâce à la commande sudo, vous accordez des privilèges de niveau administratif aux utilisateurs ordinaires. Normalement, le premier utilisateur que vous créez lors de l'installation d'Ubuntu a des droits sudo. Dans un environnement VPS, c'est l'utilisateur root par défaut. Vous pouvez configurer d'autres utilisateurs pour qu'ils puissent également exécuter la commande sudo. Cela peut être fait en éditant sudoers.
Important ! Notez que des erreurs ou une mauvaise syntaxe dans votre fichier sudoers peuvent entraîner le verrouillage de tous les utilisateurs de votre distribution.
Syntaxe du Fichier Sudoers
Vous pouvez ouvrir le fichier avec votre éditeur de texte préféré. Nous utiliserons vi :
vi /etc/sudoers
Notre fichier VPS ressemble à ceci :
Examinons quelques formats et règles à suivre lors de l'édition de sudoers :
Toutes les lignes commençant par # sont des commentaires.
root ALL=(ALL:ALL) ALL – Cette ligne signifie que l'utilisateur root a des privilèges illimités et peut exécuter n'importe quelle commande sur le système.
%admin ALL=(ALL) ALL – Le signe % spécifie un groupe. Toute personne dans le groupe admin a les mêmes privilèges que l'utilisateur root.
%sudo ALL=(ALL:ALL) ALL – Tous les utilisateurs du groupe sudo ont les privilèges pour exécuter n'importe quelle commande.
Une autre ligne d'intérêt est #includedir /etc/sudoers.d, ce qui signifie que nous pouvons ajouter des configurations au répertoire sudoers.d et les lier ici.
Édition du Fichier Sudoers
Pour éditer le fichier /etc/sudoers, utilisez la commande suivante :
sudo visudo -f /etc/sudoers
Il est recommandé d'utiliser visudo pour éditer le fichier sudoers. Visudo s'assure que sudoers est édité par un utilisateur à la fois et fournit les vérifications syntaxiques nécessaires.
Pour voir quels utilisateurs sont dans le groupe sudo, nous pouvons utiliser la commande grep :
grep 'sudo' /etc/group
Cela affichera une liste de noms d'utilisateurs.
Pour ajouter un utilisateur appelé bill au groupe sudo, utilisez la commande adduser dans la ligne de commande, comme ceci :
adduser bill sudo
Si nous utilisons la commande grep pour vérifier qui est dans le groupe, nous verrons le nom d'utilisateur bill.
Si vous souhaitez accorder des privilèges root à quelqu'un, ajoutez-le simplement à sudo.
Pour supprimer un utilisateur de sudo :
deluser bill sudo
La commande deluser supprimera bill du groupe sudo.
Maintenant, l'utilisateur bill ne pourra plus effectuer d'actions nécessitant des privilèges sudo.
Utiliser le Fichier Sudoers pour Accorder des Privilèges Spécifiques
Et si nous voulons que bill puisse exécuter uniquement des commandes spécifiques avec des privilèges sudo, comme des commandes réseau ?
Pour ce faire, nous créons un fichier de configuration dans /etc/sudoers.d/ appelé networking.
Utilisez la commande suivante pour créer le fichier :
Ce que nous avons fait dans le fichier ci-dessus, c'est de créer un groupe netadmin. Les utilisateurs du groupe netadmin peuvent exécuter les commandes spécifiées dans NETALL. NETALL inclut à son tour toutes les commandes sous les alias CAPTURE et SERVERS. La commande tcpdump est sous l'alias CAPTURE, c'est-à-dire /usr/sbin/tcpdump.
Ensuite, nous ajoutons l'utilisateur bill au groupe netadmin :
sudo adduser bill netadmin
Maintenant, l'utilisateur bill pourra exécuter la commande tcpdump ainsi que d'autres commandes liées au réseau.