Comment ajouter un utilisateur au fichier sudoers sous Linux

Publié: 2022-11-02
Ordinateur portable Linux affichant une invite bash
fatmawati achmad zaenuri/Shutterstock.com
Si on vous dit qu'un utilisateur "n'est pas dans le fichier sudoers", vous pouvez donner à l'utilisateur tous les privilèges sudo avec la commande usermod. Pour contrôler ce qu'un utilisateur peut faire avec sudo, modifiez le fichier sudoers avec visudo.

Les personnes qui peuvent utiliser la commande Linux sudo sont membres d'un petit club sélect, parfois appelé la liste des "sudoers". Chaque membre a les mêmes pouvoirs que root . Alors comment rejoindre ce club ? Nous allons parcourir l'ajout d'une personne à sudoers ainsi que la modification du fichier sudoers pour limiter les autorisations.

Table des matières

sudo : votre alter-ego surpuissant
Les sudoers Fichier et visudo
Ajouter un nouvel utilisateur sudo dans Ubuntu et d'autres distributions Linux
Limitez les privilèges sudo en éditant le fichier sudoers
Celui qui détient ce commandement

sudo : votre alter-ego surpuissant

Dans les installations Linux, l'utilisateur root est l'utilisateur le plus privilégié. Ils peuvent effectuer n'importe quelle tâche administrative, accéder à n'importe quel fichier, quel qu'en soit le propriétaire, et ils peuvent créer, manipuler et même supprimer d'autres utilisateurs.

Ce niveau de puissance est dangereux. Si root fait une erreur, les résultats peuvent être catastrophiques. Ils ont la capacité de monter et de démonter des systèmes de fichiers et de les écraser entièrement. Une façon beaucoup plus sûre de travailler est de ne jamais se connecter en tant que root .

8 façons de modifier et de configurer Sudo sur Ubuntu
CONNEXION 8 façons de modifier et de configurer Sudo sur Ubuntu

Les utilisateurs désignés peuvent utiliser sudo pour obtenir temporairement des pouvoirs administratifs, effectuer l'action requise, puis revenir à leur état normal et non privilégié. C'est plus sûr parce que vous invoquez consciemment vos pouvoirs supérieurs lorsque vous en avez besoin et pendant que vous vous concentrez sur tout ce qui en a besoin.

La commande sudo est l'équivalent Linux de crier "Shazam". Lorsque les trucs effrayants sont terminés, vous abandonnez votre alter ego surpuissant et revenez à votre moi normal et monotone.

La connexion en tant que root est désactivée par défaut sur la plupart des distributions modernes, mais elle peut être rétablie. L'utilisation du compte root pour le travail quotidien est déconseillée. Les erreurs qui auraient normalement un impact sur un seul utilisateur ou qui seraient complètement bloquées en raison de privilèges insuffisants, peuvent s'exécuter sans entrave si root les émet.

Les distributions Linux modernes accordent des privilèges sudo au compte d'utilisateur créé lors des étapes d'installation ou de configuration post-installation. Si quelqu'un d'autre essaie d'utiliser sudo , il verra un message d'avertissement comme celui-ci :

 mary n'est pas dans le fichier sudoers. Cet incident sera signalé.

Cela semble assez clair. Notre utilisateur mary ne peut pas utiliser sudo car elle n'est pas "dans le fichier sudoers". Voyons donc comment nous pouvons l'ajouter.

CONNEXION: Comment contrôler l'accès sudo sous Linux

Les sudoers Fichier et visudo

Avant que quelqu'un puisse utiliser la commande sudo , nous devons travailler avec le fichier sudoers . Cela répertorie les groupes d'utilisateurs des utilisateurs qui peuvent utiliser sudo . Si nous devons apporter des modifications au fichier, nous devons le modifier.

Le fichier sudoers doit être ouvert à l'aide de la commande visudo . Cela verrouille le fichier sudoers et empêche deux personnes d'essayer d'apporter des modifications en même temps. Il effectue également des vérifications d'intégrité avant d'enregistrer vos modifications, en s'assurant qu'elles sont correctement analysées et syntaxiquement correctes.

Notez que visudo n'est pas un éditeur, il lance l'un de vos éditeurs disponibles. Sur Ubuntu 22.04, Fedora 37 et Manjaro 21, visudo lancé nano. Ce n'est peut-être pas le cas sur votre ordinateur.

Si nous voulons donner à quelqu'un l'accès à tous les privilèges sudo , nous n'avons qu'à référencer certaines informations du fichier sudoers . Si nous voulons être plus précis et donner à notre utilisateur certaines des fonctionnalités de root , nous devons modifier le fichier et enregistrer les modifications.

Dans tous les cas, nous devons utiliser visudo .

CONNEXION: Comment quitter l'éditeur Vi ou Vim

Ajouter un nouvel utilisateur sudo dans Ubuntu et d'autres distributions Linux

Nous avons deux utilisateurs qui ont besoin d'accéder aux privilèges root afin d'exercer leurs fonctions. Ce sont Tom et Marie. Mary doit avoir accès à tout ce que root peut faire. Tom n'a besoin que d'installer des applications.

Ajoutons d'abord Mary au groupe des sudoers. Nous devons démarrer visudo .

 sudo visudo 

Lancer visudo sur Ubuntu Linux

Faites défiler vers le bas dans l'éditeur jusqu'à ce que vous voyiez la section "Spécification des privilèges de l'utilisateur". Recherchez un commentaire qui dit quelque chose de similaire à "Autoriser les membres de ce groupe à exécuter n'importe quelle commande".

Le fichier sudoers ouvert dans l'éditeur nano

On nous dit que les membres du groupe sudo peuvent exécuter n'importe quelle commande. Tout ce que nous avons besoin de savoir dans le cas de Mary, c'est le nom de ce groupe. Ce n'est pas toujours sudo ; ça peut être une wheel ou autre chose. Maintenant que nous connaissons le nom du groupe, nous pouvons fermer l'éditeur et ajouter Mary à ce groupe.

Comment modifier les données utilisateur avec chfn et usermod sous Linux
CONNEXION Comment modifier les données utilisateur avec chfn et usermod sous Linux

Nous utilisons la commande usermod avec les options -a (ajouter) et -G (nom du groupe). L'option -G nous permet de nommer le groupe auquel nous aimerions ajouter l'utilisateur, et l'option -a indique à usermod d'ajouter le nouveau groupe à la liste des groupes existants dans lesquels cet utilisateur se trouve déjà.

Si vous n'utilisez pas l'option -a , le seul groupe auquel votre utilisateur appartiendra est le groupe nouvellement ajouté. Vérifiez et assurez-vous que vous avez inclus l'option -a .

 sudo usermod -aG sudo marie 

Utiliser usermod pour ajouter l'utilisateur mary au groupe sudo

La prochaine fois que Mary se connectera, elle aura accès à sudo . Nous l'avons connectée et nous essayons de modifier le fichier de la table du système de fichiers, "/etc/fstab". Il s'agit d'un fichier qui est interdit à tout le monde sauf root .

 sudo nano /etc/fstab 

Utiliser usermod pour ajouter l'utilisateur mary au groupe sudo

L'éditeur nano s'ouvre avec le fichier "/etc/fstab" chargé.

l'utilisateur mary modifie le fichier /etc/fstab en utilisant sudo

Sans les privilèges sudo , vous ne pourrez l'ouvrir qu'en tant que fichier en lecture seule. Mary n'a plus ces restrictions. Elle peut enregistrer toutes les modifications qu'elle apporte.

Fermez l'éditeur et n'enregistrez pas les modifications que vous avez apportées.

Limitez les privilèges sudo en éditant le fichier sudoers

Notre autre utilisateur, Tom, va recevoir l'autorisation d'installer le logiciel, mais il ne recevra pas tous les privilèges accordés à Mary.

Nous devons éditer le fichier sudoers .

 sudo visudo 

Lancer visudo sur Ubuntu Linux

Faites défiler vers le bas dans l'éditeur jusqu'à ce que vous voyiez la section "Spécification des privilèges de l'utilisateur". Recherchez un commentaire qui dit quelque chose de similaire à "Autoriser les membres de ce groupe à exécuter n'importe quelle commande". C'est le même point dans le fichier où nous avons trouvé le nom du groupe auquel nous devions ajouter Mary.

Ajoutez ces lignes sous cette section.

 # l'utilisateur tom peut installer un logiciel
tom ALL=(racine) /usr/bin/apt 

Ajout de nouvelles entrées au fichier sudoers

La première ligne est un simple commentaire. Notez qu'il y a un onglet entre le nom d'utilisateur "tom" et le mot "All".

C'est ce que signifient les éléments sur la ligne.

  • tom : Le nom du groupe par défaut de l'utilisateur. Il s'agit généralement du même nom que le nom de leur compte d'utilisateur.
  • ALL= : Cette règle s'applique à tous les hôtes de ce réseau.
  • (root) : les membres du groupe "tom", c'est-à-dire l'utilisateur Tom, peuvent assumer les privilèges root pour les commandes répertoriées.
  • /usr/bin/apt : C'est la seule commande que l'utilisateur Tom peut exécuter en tant que root .

Nous avons spécifié ici le gestionnaire de packages apt car cet ordinateur utilise Ubuntu Linux. Vous devrez le remplacer par la commande appropriée si vous utilisez une distribution différente.

Connectons Tom et voyons si nous obtenons le comportement attendu. Nous allons essayer de modifier le fichier « /etc/fstab ».

 sudo nano /etc/fstab 

Essayer de modifier le fichier /etc/fstab sans privilèges sudo

Cette commande est rejetée et on nous dit que "l'utilisateur tom n'est pas autorisé à exécuter '/usr/bin/nano /etc/fstab' en tant que root…"

C'est ce que nous voulions. L'utilisateur Tom est uniquement censé pouvoir utiliser le gestionnaire de packages apt . Assurons-nous qu'ils peuvent le faire.

 sudo apt installer neofetch 

Utilisateur Tom utilisant la commande apt avec sudo

La commande est exécutée avec succès pour Tom.

Celui qui détient ce commandement

Si tous vos utilisateurs peuvent utiliser sudo , vous aurez le chaos entre les mains. Mais cela vaut la peine de promouvoir d'autres utilisateurs afin qu'ils puissent partager votre charge administrative. Assurez-vous simplement qu'ils sont dignes et gardez un œil sur eux.

Même si vous êtes le seul utilisateur sur votre ordinateur, il vaut la peine d'envisager de créer un autre compte d'utilisateur et de lui donner un accès complet à sudo . De cette façon, si jamais vous vous retrouvez bloqué sur votre compte principal, vous avez un autre compte avec lequel vous pouvez vous connecter pour essayer de remédier à la situation.

CONNEXION: Comment examiner l'utilisation de la commande sudo sous Linux