Obtention de privilèges
Les administrateurs système et, dans certains cas, les utilisateurs, peuvent avoir besoin d’effectuer certaines tâches avec des droits d’administration. S’identifier en tant que l’utilisateur root
peut être dangereux et peut causer des dommages importants au système et aux données. Ce chapitre aborde des façons d’obtenir des privilèges d’administration en utilisant des programmes setuid tels que su et sudo. Ces programmes autorisent certains utilisateurs à effectuer des tâches qui ne pourraient normalement être effectuées uniquement par l’utilisateur root
, tout en maintenant un haut niveau de contrôle et de sécurité du système.
Consultez le Red Hat Enterprise Linux 7 Security Guide pour plus d’informations à propos des commandes d’administration, des dangers potentiels et des manières de prévenir les pertes de données résultant d’une utilisation incorrecte des accès privilégiés.
La commande su
Lorsqu’un utilisateur exécute la commande su, on lui demande de saisir le mot de passe root
et, après authentification, l’utilisateur obtient un shell root
.
Une fois connecté à l’aide de la commande su, l’utilisateur est root
et a un accès d’administration du système absolu. Notez que cet accès demeure sujet aux restrictions imposées par SELinux, si activé. De plus, une fois qu’un utilisateur est devenu root
, il lui devient possible d’utiliser la commande su pour passer à n’importe quel autre utilisateur sur le système sans qu’on lui demande un mot de passe.
Considérant la puissance de ce programme, les administrateurs d’organisations pourraient vouloir limiter l’accès à la commande à certaines personnes.
Une des manières les plus simples est d’ajouter les utilisateurs au groupe d’administration spécial nommé wheel. Pour ce faire, tapez la commande suivante en tant que root
:
~]# usermod -a -G wheel nomdutilisateur
Dans la commande précédente, remplacez nomdutilisateur par le nom de l’utilisateur que vous souhaitez ajouter au groupe wheel
.
Vous pouvez aussi utiliser la section Utilisateurs des paramètres de la manière suivante pour modifier l’appartenance aux groupes. Notez que vous avez besoin des privilèges d’administration pour suivre la procédure.
-
Appuyez sur la touche Super pour accéder à la Vue d’ensemble des activités, tapez Utilisateurs puis appuyez sur Entrée. Les paramètres s’ouvrent alors à la section Utilisateurs. La touche Super peut revêtir plusieurs formes, suivant le clavier et le matériel utilisé, mais elle se trouve généralement à gauche de la barre d’espace (c’est généralement la touche Windows ou Commande).
-
Pour activer l’accès en modification, cliquez sur le bouton Déverrouiller, et saisissez un mot de passe d’administrateur valide.
-
Cliquez sur l’icône d’un utilisateur dans la colonne de gauche pour afficher les propriétés de l’utilisateur dans le panneau de droite.
-
Passez le type du compte de
Standard
àAdministrateur
. Cela aura pour effet d’ajouter l’utilisateur au groupewheel
.
See Managing Users in a Graphical Environment for more information about the Users tool.
Après avoir ajouté les utilisateurs souhaités au groupe wheel
, il est conseillé d’autoriser uniquement ces utilisateurs spécifiques à utiliser la commande su. Pour ce faire, modifiez le fichier de configuration PAM pour la commande su, /etc/pam.d/su
. Ouvrez ce fichier dans un éditeur de texte et décommentez la ligne suivante en enlevant le caractère #
:
#auth required pam_wheel.so use_uid
Avec ce changement, seuls les membres du groupe d’administration wheel
peuvent passer à un autre utilisateur en utilisant la commande su.
Remarque
L’utilisateur |
La commande sudo
La commande sudo propose une autre manière de donner un accès d’administration aux utilisateurs. Lorsque les utilisateurs de confiance commencent une commande d’administration par sudo, on leur demande leur propre mot de passe. Puis, lorsque l’authentification est réussie et que l’exécution de cette commande est autorisée, la commande d’administration est exécutée en tant que l’utilisateur root
.
Utilisation de base de la commande sudo :
sudo commande
Dans l’exemple ci-dessus, commande serait remplacé par une commande normalement réservée à l’utilisateur root
, comme par exemple mount.
La commande sudo permet un plus grand degré de flexibilité. Un exemple est que seuls les utilisateurs listés dans le fichier de configuration /etc/sudoers
sont autorisés à utiliser la commande sudo et que la commande est exécutée dans le shell de l’utilisateur, et non dans un shell root
. Cela signifie que le shell root
peut être entièrement désactivé, comme détaillé dans le Red Hat Enterprise Linux 7 Security Guide.
Chaque authentification réussie effectuée avec la commande sudo est journalisée dans le fichier /var/log/messages
, et la commande ainsi que le nom de l’utilisateur à l’origine de son exécution sont journalisés dans le fichier /var/log/secure
. Si vous avez besoin de plus de journalisation, utilisez le module pam_tty_audit
pour activer l’audit du TTY des utilisateurs spécifiés en ajoutant la ligne suivante à votre fichier /etc/pam.d/system-auth
:
session required pam_tty_audit.so disable=motif enable=motif
où motif représente une liste d’utilisateurs séparés par une virgule (globs autorisés). Par exemple, la configuration suivante activera l’audit du TTY pour l’utilisateur root
et le désactivera pour tous les autres utilisateurs :
session required pam_tty_audit.so disable=* enable=root
Un autre avantage de la commande sudo est qu’un administrateur peut autoriser des utilisateurs différents à accéder à des commandes différentes, suivant leurs besoins.
Les administrateurs voulant modifier le fichier de configuration de sudo, /etc/sudoers
, devraient utiliser la commande visudo.
Pour donner à quelqu’un des privilèges d’administration complets, tapez visudo et ajoutez, dans la section de spécification des privilèges utilisateur, une ligne similaire à celle-ci :
juan ALL=(ALL) ALL
Dans cet exemple, l’utilisateur juan
peut utiliser sudo à partir de n’importe quel hôte et exécuter n’importe quelle commande.
L’exemple ci-dessous illustre la granularité possible lors de la configuration de sudo :
%users localhost=/sbin/shutdown -h now
Dans cet exemple, n’importe quel membre du groupe users
du système peut lancer la commande /sbin/shutdown -h now tant qu’elle est exécutée à partir de la console.
La page man pour sudoers
contient une liste détaillée des options offertes par ce fichier.
Important
Plusieurs risques doivent être considérés lors de l’utilisation de la commande sudo. Vous pouvez les éviter en modifiant le fichier de configuration
|
Ressources supplémentaires
Les programmes permettant aux utilisateurs d’obtenir des privilèges d’administration sont des risques de sécurité potentiels. Néanmoins, la sécurité sort du cadre de ce livre. Vous devriez donc vous référer aux ressources listées ci-dessous pour plus d’informations au sujet de la sécurité et des accès privilégiés.
-
su
(1) — La page de manuel pour la su fournit des informations à propos des options de cette commande. -
sudo
(8) — La page de manuel pour sudo inclut une description détaillée de la commande et liste les options permettant de personnaliser son comportement. -
pam
(8) — La page de manuel décrivant l’utilisation des Pluggable Authentication Modules (PAM) pour Linux.
-
Le Red Hat Enterprise Linux 7 Security Guide décrit plus en profondeur les problèmes de sécurité potentiels en rapport avec les programmes setuid ainsi que des techniques permettant de limiter les risques associés.
-
Managing Users and Groups documents how to manage system users and groups in the graphical user interface and on the command line.
Want to help? Learn how to contribute to Fedora Docs ›