Bien que le fichier /etc/sudoers soit un fichier texte normal, il est essentiel de ne pas le modifier directement avec un éditeur de texte standard comme Vim ou nano. Le fichier /etc/sudoers contrôle l'accès à tous les privilèges élevés et une erreur dans ce fichier peut rendre impossible l'obtention des privilèges root sur le serveur. La plupart des distributions définiront un éditeur par défaut (généralement Vim ou nano) pour /etc/sudoers. Lors de l'utilisation de la commande visudo, le système vérifie la syntaxe du fichier /etc/sudoers avant de valider les modifications, ce qui permet à l'administrateur de corriger les erreurs avant qu'elles ne fassent partie de la configuration en cours.
La partie "vi" de la commande visudo fait référence à l'éditeur de texte vi, qui est standard dans de nombreuses distributions. Cependant, ne laissez pas le nom vous tromper; vous pouvez utiliser d'autres éditeurs de texte pour modifier le fichier sudoers. Cependant, vous devez le modifier via la commande visudo pour faire bonne mesure. Si vous entrez la commande sudo visudo, votre éditeur de texte par défaut s'ouvrira, affichant le contenu du fichier /etc/sudoers. Dans le cas de Mint, l'éditeur de texte par défaut dans le terminal est nano, donc le fichier /etc/sudoers s'ouvrira dans l'éditeur de texte nano lorsque vous exécuterez cette commande. Si, pour une raison quelconque, il s'ouvre dans un autre éditeur de texte, vous pouvez indiquer explicitement quel éditeur de texte vous souhaitez utiliser à l'aide de la commande suivante :
$ sudo EDITOR=nano visudo
La syntaxe de la commande visudo est :
$ visudo [options]
Options de la ligne de commande
Option | Description |
---|---|
-c | Vérification syntaxique du contenu du fichier, sans modification. Sort avec 0 s'il est valide, ou 1 sinon. |
-f nom_fichier | Spécifie un autre emplacement pour le fichier sudoers. |
-q | Mode silencieux. Lorsqu'il est utilisé avec -c, n'imprime pas les erreurs. |
-s | Vérification stricte. Un alias utilisé avant d'être défini est une erreur. |
-V | Imprimez le numéro de version. |
Si vous rencontrez l'erreur ci-dessous lors de l'exécution de la commande visudo :
visudo: 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 visudo
1. Modifiez le fichier sudoers :
$ sudo visudo
2. Vérifiez le fichier sudoers pour les erreurs :
$ sudo visudo -c
3. Modifiez le fichier sudoers à l'aide d'un éditeur spécifique :
$ sudo EDITOR=editor visudo
4. Afficher les informations de version :
visudo --version
Conclusion
L'utilisation de visudo au lieu de l'édition empêche directement deux utilisateurs d'effectuer des modifications à la fois. De plus, visudo n'enregistrera pas les modifications apportées aux sudoers si elles ne sont pas syntaxiquement correctes. Soyez très prudent lorsque vous modifiez l'accès des utilisateurs via visudo. Si vous ne faites pas attention, vous pouvez ouvrir toute votre machine à ceux à qui vous préférez ne pas accorder un accès complet. Si vous étiez administrateur dans une entreprise, vous voudriez probablement donner aux utilisateurs l'accès à des commandes spécifiques nécessaires pour faire leur travail, et rien de plus.