Introduction
Sous Linux, l’utilisateur root dispose de pouvoirs illimités sur le système. Cependant, se connecter en tant que root pour effectuer les tâches quotidiennes est dangereux. À la place, nous utilisons sudo, qui permet aux utilisateurs ordinaires d’exécuter certaines commandes avec des privilèges élevés.
Le fichier qui détermine qui peut utiliser sudo et quelles actions cette personne peut effectuer est /etc/sudoers. Il s’agit de l’un des fichiers de règles les plus sensibles d’un système Linux, car il définit les privilèges administratifs délégués.
La gestion de ce fichier exige une grande prudence. Une seule erreur de syntaxe peut empêcher tout le monde, y compris les administrateurs, d’accéder au système. C’est pourquoi vous ne devez jamais modifier directement ce fichier avec un éditeur de texte standard. Utilisez plutôt un outil spécial appelé visudo.
Il s’agit d’un fichier de règles, et pas seulement d’un paramètre pratique. Il définit qui peut emprunter des privilèges administratifs, dans quelles conditions et pour quelles commandes.
Dans ce lab, vous apprendrez à :
- Examiner la configuration de sudoers en toute sécurité avec
visudo. - Accorder des privilèges administratifs à un utilisateur.
- Vérifier que ces privilèges fonctionnent correctement.
Évaluer les privilèges actuels
Avant d’effectuer des modifications, vérifions l’état actuel. Nous avons créé pour ce lab un utilisateur standard nommé alex. Par défaut, les nouveaux utilisateurs ne disposent pas de privilèges administratifs.
Examiner le fichier sudoers
Pour afficher la configuration, nous utilisons visudo. Cet outil verrouille le fichier et vérifie la syntaxe avant l’enregistrement, ce qui évite les blocages accidentels du système.
Cette vérification explique l’existence de visudo. Avec un éditeur de texte classique, une petite faute de frappe peut n’être détectée qu’après l’enregistrement du fichier, alors que l’accès avec sudo ne fonctionne déjà plus.
Affichez la configuration actuelle :
sudo visudo
Vous verrez des lignes qui définissent les utilisateurs disposant de privilèges. Par exemple :
root ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
Dans cet environnement, visudo ouvre le fichier dans l’éditeur nano. Appuyez sur Ctrl+X pour quitter sans rien modifier.
Vérifier l’absence d’accès
Passons maintenant à l’utilisateur alex et essayons d’effectuer une tâche administrative.
Commencez par passer à l’utilisateur alex :
su - alex
(Saisissez password lorsque vous y êtes invité.)
Essayez ensuite d’afficher le contenu du répertoire restreint /root :
sudo ls /root
(Saisissez password lorsque vous y êtes invité.)
Observez le message d’erreur :
alex is not in the sudoers file. This incident will be reported.
Cela confirme que alex est un utilisateur standard et ne peut pas effectuer d’actions administratives.
Il s’agit du comportement sécurisé par défaut. En matière de sécurité Linux, commencer avec le moins de privilèges possible et n’accorder que ceux qui sont nécessaires relève du principe du moindre privilège.
Pour finir, revenez à votre utilisateur initial (labex) :
exit
Configurer les privilèges de l’utilisateur
Pour permettre à alex d’exécuter des commandes en tant que root, nous devons ajouter une règle au fichier /etc/sudoers.
Commencez par ouvrir le fichier en toute sécurité :
sudo visudo
Faites défiler le fichier jusqu’à la fin, ou recherchez la section « User privilege specification », puis ajoutez la ligne suivante :
alex ALL=(ALL:ALL) ALL
Décomposition de la règle :
alex: le nom d’utilisateur auquel accorder les privilèges.- Le premier
ALL: la règle s’applique aux connexions provenant de n’importe quel hôte (Host). (ALL:ALL): l’utilisateur peut exécuter des commandes en tant que n’importe quel utilisateur (User, par exempleroot) et avec n’importe quel groupe (Group).- Le dernier
ALL: l’utilisateur peut exécuter n’importe quelle commande (Any Command).
Cette règle est volontairement très large à des fins pédagogiques. Dans les systèmes réels, les administrateurs préfèrent souvent des règles sudo plus restrictives, qui autorisent certaines commandes précises plutôt qu’un accès complet sans restriction.
Pour finir, enregistrez le fichier et quittez :
- Appuyez sur
Ctrl+O, puis surEnterpour enregistrer. - Appuyez sur
Ctrl+Xpour quitter.
Si vous aviez fait une faute de frappe, visudo vous aurait averti afin d’éviter une configuration défectueuse.
Vérifier les privilèges mis à jour
Maintenant que nous avons mis à jour la configuration, alex devrait disposer de tous les droits administratifs. Vérifions-le.
Commencez par passer à l’utilisateur alex :
su - alex
Essayez ensuite à nouveau d’exécuter la commande nécessitant des privilèges :
sudo ls /root
(Saisissez password si vous y êtes invité.)
Observez le résultat. Vous devriez maintenant voir le contenu du répertoire /root, probablement vide ou contenant quelques fichiers d’implémentation, sans message d’accès refusé.
snap
Cela confirme que vous avez correctement accordé des privilèges élevés à l’utilisateur alex.
À ce stade, alex n’est toujours pas root par défaut. En revanche, alex a reçu le droit de demander l’exécution avec des privilèges élevés au moyen de sudo, ce qui est plus sûr et offre une meilleure traçabilité qu’une connexion directe en tant que root.
Pour finir, quittez la session de alex :
exit
Résumé
Dans ce lab, vous avez appris à gérer les privilèges des utilisateurs en toute sécurité.
Points essentiels :
- La sécurité avant tout : utilisez toujours
visudopour modifier/etc/sudoers. Ne modifiez jamais ce fichier directement. - Délégation des privilèges : vous pouvez accorder à certains utilisateurs un accès root sans partager le mot de passe de
root. - Vérification : testez toujours les nouveaux privilèges pour vous assurer qu’ils fonctionnent comme prévu.
La maîtrise de la configuration de sudoers vous permet de construire un système sécurisé dans lequel chaque utilisateur dispose exactement des permissions dont il a besoin, ni plus ni moins.



