Comment ajouter un utilisateur au fichier sudoers sous Linux
Publié: 2022-11-02 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.
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
.
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
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 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.
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
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
L'éditeur nano s'ouvre avec le fichier "/etc/fstab" chargé.
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
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
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
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
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