Comment ajouter un utilisateur au fichier sudoers sous Linux
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 Linux sudo
command sont membres d’un petit club sélect, parfois appelé la liste des « sudoers ». Chaque membre dispose des 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.
Sommaire
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
.
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 ce qui en a besoin.
La sudo
La commande 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.
Se connecter en tant que root
est désactivé par défaut sur la plupart des distributions modernes, mais il peut être rétabli. 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 délivre.
Subvention pour les distributions Linux modernes sudo
privilèges au compte d’utilisateur créé lors des étapes d’installation ou de configuration post-installation. Si quelqu’un d’autre essaie d’utiliser sudo
un message d’avertissement semblable à celui-ci s’affichera :
mary is not in the sudoers file. This incident will be reported.
Cela semble assez clair. Notre utilisateur mary
ne peut pas utiliser sudo
parce qu’elle n’est pas « dans le fichier sudoers ». Voyons donc comment nous pouvons l’ajouter.
Les sudoers Fichier et visudo
Avant que quelqu’un puisse utiliser le sudo
commande nous devons travailler avec le sudoers
dossier. 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.
La sudoers
dossier devoir être ouvert à l’aide de la visudo
commande. Cela verrouille le sudoers
fichier 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
nano lancé. Ce n’est peut-être pas le cas sur votre ordinateur.
Si nous voulons donner à quelqu’un un accès complet sudo
privilèges, nous avons seulement besoin de référencer certaines informations de la sudoers
dossier. Si nous voulons être plus granulaires 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
.
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. Marie doit avoir accès à tout root
peut faire. Tom n’a besoin que d’installer des applications.
Ajoutons d’abord Mary au groupe des sudoers. Nous devons commencer visudo
.
sudo visudo
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 ».
On nous dit que les membres du sudo
groupe peut 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 pourrait être wheel
ou autre chose. Maintenant que nous connaissons le nom du groupe, nous pouvons fermer l’éditeur et ajouter Mary à ce groupe.
Nous utilisons le usermod
commande avec le -a
(annexer) et -G
(nom du groupe). La -G
L’option nous permet de nommer le groupe auquel nous aimerions ajouter l’utilisateur, et l’option -a
l’option indique usermod
pour ajouter le nouveau groupe à la liste des groupes existants dans lesquels cet utilisateur se trouve déjà.
Si vous n’utilisez pas le -a
option, le seul groupe dans lequel votre utilisateur sera est le groupe nouvellement ajouté. Vérifiez et assurez-vous d’avoir inclus le -a
option.
sudo usermod -aG sudo mary
La prochaine fois que Marie 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 interdit à tout le monde, mais root
.
sudo nano /etc/fstab
L’éditeur nano s’ouvre avec le fichier « /etc/fstab » chargé.
Sans pour autant sudo
privilèges, 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 ne le faites pas enregistrer toutes les modifications que vous avez pu apporter.
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 sudoers
dossier.
sudo visudo
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.
# user tom can install software tom ALL=(root) /usr/bin/apt
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.
- à M: Le nom de l’utilisateur groupe par défaut. Il s’agit généralement du même nom que le nom de leur compte d’utilisateur.
- TOUS=: Cette règle s’applique à tous les hôtes de ce réseau.
- (racine): Les membres du groupe « tom », c’est-à-dire l’utilisateur Tom, peuvent supposer
root
privilèges, 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é le apt
gestionnaire de paquets ici 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
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 apt
directeur chargé d’emballage. Assurons-nous qu’ils peuvent le faire.
sudo apt install neofetch
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 sur les bras. 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.