Configuration des privilèges de superutilisateur avec sudo
- CONTENU
Familiarisez-vous avec les bases de la configuration de
sudo
et apprenez à déléguer les privilèges de superutilisateur avecsudo
.- MOTIF
Certaines commandes nécessitent des privilèges d'administrateur ou
root
. L'utilisation desudo
vous permet de déléguer à certains utilisateurs ou groupes les privilèges nécessaires pour exécuter ces commandes.- EFFORT
La lecture de cet article vous prendra au maximum 20 minutes. L'écriture de votre première règle de configuration
sudo
ne prend que quelques minutes, mais l'établissement d'une configurationsudo
fonctionnelle qui soit opérationnelle dans l'ensemble de votre environnement prendra beaucoup plus de temps, selon la complexité de votre configuration.- OBJECTIF
Comprendre les principes de base de la configuration
sudo
. Traiter les cas d'utilisation courants pour la configurationsudo
. Apprendre à travailler avec des utilisateurs, des groupes d'utilisateurs et des alias dans des configurationssudo
. Se familiariser avec les meilleures pratiques et le dépannage desudo
.- CONDITIONS REQUISES
Connaissances de base de
sudo
.Privilèges
root
. Pour plus d'informations sur l'emploi desudo
en tant qu'utilisateur standard, reportez-vous au document https://documentation.suse.com/smart/systems-management/html/sudo-run-commands-as-superuser/index.html.Le paquet sudo doit être installé.
1 Présentation de la configuration sudo
#
sudo
fournit un moyen de déléguer de manière sécurisée et efficace des privilèges de superutilisateur à certains utilisateurs ou groupes.
Certaines opérations sur un système Linux nécessitent des privilèges d'administrateur ou root
. Les utilisateurs privés qui gèrent leur propre système n'ont pas à déléguer de privilèges de superutilisateur, car l'administrateur et l'utilisateur ordinaire sont la même personne dans ce scénario. Toutefois, dès qu'un système fait partie d'un plus vaste environnement comptant plusieurs utilisateurs, groupes et hôtes, il devient essentiel de garder le contrôle de qui est autorisé à faire quoi et où. En même temps, il est important de fournir à tous les utilisateurs et groupes les privilèges nécessaires pour effectuer leurs tâches.
sudo
est conçu pour vous aider dans cette mission. Il offre les avantages suivants :
- Amélioration de la sécurité du système
sudo
offre un contrôle précis sur les utilisateurs, les groupes, les hôtes et les commandes et augmente ainsi la sécurité du système en réduisant le risque de dommages intentionnels ou accidentels par un intrus ou un utilisateur système.- Suivi d'audit complet
Chaque fois qu'un utilisateur change de privilège, cette information apparaît dans le journal du système et toutes les opérations effectuées par cet utilisateur avec des privilèges élevés peuvent être retracées.
- Possibilité de déléguer des tâches
root
spécifiques À l'aide de
sudo
, les administrateurs système peuvent permettre à des utilisateurs individuels ou à des groupes d'effectuer certaines tâches sans devoir entrer le mot de passeroot
et à basculer vers le compteroot
.
Cet article fournit des informations détaillées de configuration sudo
. Cependant, il ne fournit aucun conseil sur la façon de créer une stratégie sudo
exhaustive et sécurisée. Les stratégies liées à la sécurité sont très complexes et dépendent fortement de l'environnement pour lequel elles sont créées.
2 Création de configurations sudo
personnalisées #
Apprenez à créer un simple exemple de configuration sudo
personnalisée et à le développer étape par étape. Créez des groupes et utilisez des alias pour que votre configuration personnalisée reste simple et efficace.
Les exemples de règles décrits ci-dessous sont fournis uniquement à des fins de démonstration. Utilisez-les pour comprendre la syntaxe générale des fichiers de configuration sudo
. Ne les utilisez pas dans des configurations réelles, car ils ne reflètent pas la complexité de ces environnements.
2.1 Meilleures pratiques de configuration sudo
#
Avant de commencer, voici quelques règles de base pour la gestion des configurations sudo
:
- Utilisez toujours
visudo
pour modifier les fichiers de configurationsudo
Toute modification de la configuration
sudo
doit être effectuée à l'aide de la commandevisudo
.visudo
est un outil personnalisé qui vous permet d'éditer les fichiers de configurationsudo
et d'exécuter des vérifications de syntaxe de base, en veillant à garder intacte la configuration et son fonctionnement. Une configurationsudo
erronée peut empêcher l'accès d'un utilisateur à son propre système.- Créez toujours les configurations personnalisées sous
/etc/sudoers.d/
Les configurations personnalisées doivent résider sous
/etc/sudoers.d/
afin quesudo
puisse les extraire. Les paramètres des fichiers de configuration personnalisés sont prioritaires sur ceux de la configuration par défaut dans/etc/sudoers
.- Tenez toujours compte de l'ordre dans lequel les configurations sont lues
Pour vous assurer que les configurations personnalisées sont lues dans le bon ordre, ajoutez-leur un numéro en préfixe. Utilisez des zéros au début pour établir l'ordre dans lequel les fichiers sont lus. Par exemple,
01_myfirstconfig
est analysé avant10_myotherconfig
. Si une directive a été définie dans un fichier qui est lu avant un autre fichier contenant des informations contradictoires, la dernière directive lue est appliquée.- Utilisez toujours des noms de fichiers descriptifs
Utilisez des noms qui indiquent la finalité du fichier de configuration. Cela vous aide à suivre ce que votre configuration
sudo
est censée faire.
sudo
et systèmes de fichiers immuables
Un système de fichiers immuable est un système de fichiers impossible à modifier une fois installé. Il est accessible en lecture seule. Si le produit SUSE que vous utilisez repose sur un système de fichiers immuable, la configuration sudo
par défaut fournie avec le produit est installée sous /usr/etc/sudoers
et tous les ajustements préconfigurés se trouvent sous /usr/etc/sudoers.d/
.
Vos propres configurations personnalisées sont situées sous /etc/sudoers.d/
et sont prioritaires sur tout ce qui se trouve à l'emplacement /usr/etc/sudoers.d/
. La commande visudo
ouvre /usr/etc/sudoers
et enregistre le fichier modifié à l'emplacement /etc/sudoers
, s'il n'y avait pas encore de fichier sudoers
. Si un fichier était déjà présent, visudo
ouvre et écrit dans ce fichier. L'instance située sous /etc/
est prioritaire sur celle qui est conservée à l'emplacement /usr/etc/
. De cette façon, les ajustements de configuration effectués par l'utilisateur ne seront pas endommagés lors des mises à jour.
2.2 Création d'un fichier de configuration spécifique à l'utilisateur #
Créez un fichier de configuration sudo
qui permet à un utilisateur standard (tux
) d'employer la commande useradd
avec son propre mot de passe au lieu du mot de passe root
.
En tant qu'administrateur système (
root
), créez un fichier de configuration personnalisé qui contient les nouvelles directives spécifiques à l'utilisateur en démarrantvisudo
. Utilisez une numérotation ainsi qu'un nom descriptif :#
visudo -f /etc/sudoers.d/02_usermanagement
Créez une règle qui permet à
tux
d'exécuter le fichier binaire/usr/sbin/useradd
dans tout l'environnement auquel cette configurationsudo
s'applique :tux1 ALL2 = /usr/sbin/useradd3
Spécifiez l'utilisateur ou le groupe. Répertoriez les utilisateurs par nom ou
#UID
et les groupes par%GROUPNAME
. Si vous disposez de plusieurs éléments ici, séparez-les par des virgules. Pour refuser des entrées, utilisez!
.Spécifiez un ou plusieurs hôtes (séparés par des virgules). Utilisez des noms d'hôte (complets) ou des adresses IP. Ajoutez
ALL
pour appliquer ce paramètre globalement à tous les hôtes. Utilisez!
pour les interdictions.Spécifiez un ou plusieurs exécutables (séparés par des virgules). Lorsque vous les spécifiez, veillez à respecter les règles suivantes :
-
/usr/sbin/useradd
Sans ajouter d'options supplémentaires, cela permet d'exécuter toutes les commandes
useradd
possibles.-
/usr/sbin/useradd -c
Si vous spécifiez explicitement une option, cette option est la seule autorisée. Aucune autre ne sera disponible pour l'utilisateur que vous avez spécifié ci-dessus.
-
/usr/sbin/useradd ""
Cette syntaxe permet à l'utilisateur d'invoquer une simple commande
useradd
sans aucune option.
Dans l'exemple ci-dessus, vous pouvez autoriser toutes les options et sous-commandes ou les limiter à quelques-unes pour des raisons de sécurité, mais interdire à un utilisateur de spécifier une quelconque option est inutile dans ce contexte.
-
Pour permettre à l'utilisateur d'utiliser son propre mot de passe au lieu du mot de passe
root
, ajoutez la ligne suivante :Defaults:tux !targetpw
Lorsqu'il est actif, cet indicateur demande à l'utilisateur d'entrer le mot de passe de l'utilisateur cible, c'est-à-dire
root
. Cet indicateur est activé par défaut sur n'importe quel système SLE Micro. Annulez-le en utilisant!
pour demander à l'utilisateur d'entrer simplement son propre mot de passe au lieu du mot de passeroot
.Enregistrez la configuration, quittez l'éditeur, puis ouvrez un deuxième shell pour vérifier si
sudo
respecte votre nouvelle configuration.
2.3 Création de configurations personnalisées en regroupant des éléments #
Modifiez la configuration de l'Exemple 1, « création d'un fichier de configuration spécifique à l'utilisateur » de sorte qu'un groupe d'utilisateurs nommés puisse exécuter la commande useradd
sans avoir besoin du mot de passe root
. Ajoutez également usermod
et userdel
à la liste des commandes disponibles pour ce groupe.
Pour modifier l'exemple de configuration, ouvrez-le en tant qu'administrateur système avec
visudo
.#
visudo /etc/sudoers.d/02_usermanagement
Ajoutez d'autres utilisateurs à la règle dans une liste séparée par des virgules :
tux, wilber ALL = /usr/sbin/useradd
Pour permettre aux utilisateurs répertoriés d'exécuter plusieurs commandes, spécifiez-les sous forme de liste séparée par des virgules :
tux, wilber ALL = /usr/sbin/useradd, /usr/sbin/usermod, /usr/sbin/userdel
Pour permettre aux utilisateurs répertoriés dans la liste d'utiliser leur propre mot de passe au lieu du mot de passe
root
, ajoutez la ligne suivante :Defaults:tux, wilber !targetpw
Lorsqu'il est actif, cet indicateur demande aux utilisateurs de la liste d'entrer le mot de passe de l'utilisateur cible, c'est-à-dire de l'utilisateur
root
. Cet indicateur est activé par défaut sur n'importe quel système SLE Micro. Annulez-le en utilisant!
pour demander aux utilisateurs de la liste d'entrer simplement leur propre mot de passe au lieu du mot de passeroot
.Enregistrez la configuration, quittez l'éditeur, puis ouvrez un deuxième shell pour vérifier si
sudo
respecte votre nouvelle configuration.
2.4 Simplification des configurations grâce à l'application d'alias #
Les alias permettent de simplifier davantage votre configuration personnalisée de l'Exemple 2, « création de configurations personnalisées en regroupant des éléments ». Le regroupement d'éléments est utile dans une certaine mesure, mais l'utilisation d'alias globaux pour les utilisateurs, les commandes et les hôtes est le moyen le plus efficace de conserver une configuration sudo
propre et légère.
L'utilisation d'alias et de groupes au lieu de listes est une méthode bien plus efficace pour gérer les modifications apportées à votre configuration. Si un utilisateur quitte ses fonctions, il suffit de le retirer de la déclaration User_Alias
globale de votre fichier de déclaration d'alias au lieu de parcourir séparément tous les fichiers de configuration personnalisés pour le supprimer. La même procédure s'applique à tout autre type d'alias (Host_Alias
, Cmnd_Alias
et Runas_Alias
).
Créez un nouveau fichier pour stocker vos définitions d'alias globales :
#
visudo /etc/sudoers.d/01_aliases
Ajoutez la ligne suivante pour créer l'alias
TEAMLEADERS
:User_Alias TEAMLEADERS = tux, wilber
Ajoutez la ligne suivante pour créer l'alias
USERMANAGEMENT
:Cmnd_Alias USERMANAGEMENT = /usr/sbin/useradd, /usr/sbin/usermod, /usr/sbin/userdel
Enregistrez vos modifications, puis quittez
visudo
.En tant qu'administrateur système, lancez
visudo
pour modifier l'exemple de fichier de configuration :#
visudo -f /etc/sudoers.d/02_usermanagement
Supprimez la règle précédente et remplacez-la par la règle suivante qui utilise les alias que vous venez de définir ci-dessus :
TEAMLEADERS ALL = USERMANAGEMENT
Pour permettre à tous les utilisateurs définis par
User_Alias
d'utiliser leur propre mot de passe au lieu du mot de passeroot
, ajoutez la ligne suivante :Defaults:TEAMLEADERS !targetpw
Enregistrez la configuration, quittez l'éditeur, puis ouvrez un deuxième shell pour vérifier si
sudo
respecte votre nouvelle configuration.
Pour obtenir une description plus détaillée de la syntaxe de configuration de sudo
, reportez-vous à la Section 7, « Référence de configuration sudo
» et à la page de manuel de sudo
.
3 Modification du timeout de l'invite de mot de passe sudo
#
Apprenez à modifier les paramètres de timeout pour exécuter des commandes qui nécessitent des privilèges root
sans avoir à entrer le mot de passe root
pour chaque commande.
Lorsque vous exécutez une commande précédée de sudo
pour la première fois, vous êtes invité à entrer le mot de passe root
. Ce mot de passe reste valide pendant un certain temps. Une fois qu'il a expiré, l'utilisateur est de nouveau invité le saisir. Pour prolonger ou raccourcir le timeout lors de l'exécution de commandes nécessitant des privilèges root
, apportez les modifications suivantes à votre fichier de configuration sudo
.
root
Pour des raisons de sécurité, n'accordez pas un accès illimité aux privilèges root
. Définissez plutôt un timeout raisonnable pour éviter toute utilisation abusive du compte root
par un intrus.
sudo
#En tant qu'administrateur système, créez un fichier de configuration
sudo
pour la configuration de l'horodatage avec :#
visudo --f=/etc/sudoers.d/timestamp_timeout
Une fois l'authentification réussie avec le mot de passe
root
, le fichier est ouvert.Activez l'édition et ajoutez la ligne
timestamp_timeout=
. Entrez une valeur pour l'horodatage.Par exemple, pour réduire le timeout à trois minutes, entrez :
timestamp_timeout=3
Si l'horodatage est défini sur zéro, vous êtes invité à entrer le mot de passe
root
pour chaque exécution d'une commandesudo
.Enregistrez les modifications, puis fermez le fichier.
Vous avez créé un fichier de configuration sudo
et raccourci le paramètre de timeout pour l'exécution des commandes sudo
.
4 Démarrage d'un shell avec des privilèges root
#
Démarrez un shell avec des privilèges root
permanents à l'aide de la commande sudo -s
ou sudo -i
. Avec les deux commandes, vous n'êtes invité à entrer le mot de passe root
qu'une seule fois.
4.1 Différence entre les commandes sudo -s
et sudo -i
#
Le fait de devoir entrer sudo
à chaque fois que vous voulez exécuter une commande en tant que root
peut devenir fastidieux. À la place, vous pouvez utiliser l'un des mécanismes intégrés pour démarrer un shell avec des privilèges root
permanents. Pour cela, deux options de commande sont disponibles :
sudo -s
lance le shell avec l'environnement de l'utilisateur actuel et offre quelques mesures de contrôle des privilèges. Pour exécuter cette commande, entrez le mot de passeroot
.sudo -i
démarre le shell en tant que shell de connexion interactif avec un environnement propre. Pour exécuter cette commande, entrez le mot de passeroot
.
Avec les deux commandes, le shell démarre avec un nouvel environnement et vous êtes connecté en tant qu'utilisateur root
. Lorsque vous exécuterez d'autres commandes dans ce shell avec des privilèges élevés, il ne sera pas nécessaire de ressaisir le mot de passe. Vous quittez cet environnement lorsque vous fermez le shell et vous devez à nouveau saisir le mot de passe pour exécuter une autre commande sudo
.
4.2 Démarrage d'un shell avec sudo -s
#
La commande sudo -s
lance un shell interactif sans connexion. Une fois l'authentification réussie avec le mot de passe root
, toutes les commandes suivantes sont exécutées avec des privilèges élevés.
La variable d'environnement SHELL
ou le shell par défaut de l'utilisateur spécifie le shell qui s'ouvre. Si cette variable est vide, le shell défini dans /etc/passwd
est sélectionné.
Par défaut, la commande sudo -s
s'exécute à partir du répertoire de l'utilisateur précédent, car l'utilisateur cible hérite de l'environnement de l'utilisateur précédent. La commande est également consignée dans votre historique.
Pour démarrer un shell avec des privilèges élevés de façon permanente, entrez la commande suivante :
tux:~ >
sudo -s
[sudo] password for root:root:/home/tux #
exit
tux:~ >
L'invite passe de >
à #
.
Vous avez démarré un shell avec des privilèges élevés de façon permanente. Toutes les commandes suivantes sont exécutées sans que vous ayez à entrer de nouveau le mot de passe.
4.3 Démarrage d'un shell avec sudo -i
#
La commande sudo -i
est similaire à l'option de ligne de commande sudo
-s
, mais elle lance un shell de connexion interactif. Lorsque vous utilisez la commande sudo -s
, l'utilisateur cible hérite de l'environnement de l'utilisateur précédent. Vous pouvez empêcher cet héritage en utilisant la commande sudo -i
, où l'utilisateur cible obtient un environnement nettoyé et démarre à partir de son propre répertoire $HOME
.
Pour exécuter une commande avec sudo -i
, entrez ceci :
tux:~ >
sudo -i
[sudo] password for root:root:~ #
exit
tux:~ >
Vous avez démarré un shell avec des privilèges élevés en permanence et la commande est consignée dans votre historique. Toutes les commandes suivantes sont exécutées sans que vous ayez à entrer de nouveau le mot de passe.
5 Meilleures pratiques sudo
#
Découvrez quelques-unes des meilleures pratiques sudo
pour contrôler l'accès au système et permettre aux utilisateurs d'être productifs.
- Testez et auditez minutieusement vos configurations
sudo
Pour créer une structure de configuration
sudo
vraiment efficace et sécurisée, établissez une routine pour effectuer régulièrement des tests et des audits. Identifiez les failles possibles et trouvez des solutions pour y remédier. Ne laissez pas la facilité d'utilisation prendre le pas sur la sécurité.- Conservez les configurations
sudo
personnalisées dans des fichiers distincts Le principal fichier de configuration de stratégie pour
sudo
est/etc/sudoers
. Ce fichier est fourni par les paquets système et les modifications apportées peuvent empêcher les mises à jour. Par conséquent, créez des fichiers de configuration distincts contenant vos paramètres personnalisés sous le répertoire/etc/sudoers.d/
. Ceux-ci sont extraits par défaut par une directive dans/etc/sudoers
.- Limitez le timeout
sudo
. Pour des raisons de sécurité, n'accordez pas un accès illimité aux privilèges
root
. Définissez plutôt un timeout raisonnable pour éviter toute utilisation abusive du compteroot
par un intrus. Pour plus d'informations, reportez-vous à la Section 3, « Modification du timeout de l'invite de mot de passesudo
».- Utilisez la commande
visudo
Utilisez la commande
visudo
pour éditer le fichier/etc/sudoers
en toute sécurité, car elle vérifie la syntaxe du fichier avant d'enregistrer les modifications. Il s'agit d'une méthode préventive pour corriger les erreurs qui peuvent nuire au système. Outre la vérification de la syntaxe de base, vous pouvez également exécutervisudo -c
pour vérifier si l'ensemble de votre structure de configurationsudo
est analysée dans le bon ordre et sans erreur.- Gérez les utilisateurs en groupes plutôt qu'individuellement
Veillez à ce que votre configuration
sudo
reste la plus simple et la plus gérable possible. Gérez les utilisateurs en les ajoutant à des groupes, puis en accordant des privilèges à ces groupes plutôt qu'à des utilisateurs individuels. Cela vous permet d'ajouter ou de supprimer des utilisateurs en modifiant simplement les paramètres du groupe au lieu d'avoir à rechercher l'utilisateur dans votre configuration.Exemple de règle qui permet à tous les utilisateurs d'un exemple de groupe
%admingrp
d'exécuter toutes les commandes :%admingrp ALL = (ALL) ALL
- Restreignez le chemin d'accès aux fichiers binaires
Avec la directive
secure_path
, limitez les zones dans lesquelles les utilisateurs peuvent exécuter des commandes. L'exemple suivant illustre le paramètre par défaut fourni avec SLE Micro.Defaults secure_path="/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin:/usr/local/sbin"
- Préservez la transparence de la journalisation
sudo
sudo
consigne les événements dans le fichier journal standard où ses entrées peuvent facilement être ignorées. Ajoutez la règle suivante à votre configuration pour spécifier un fichier journalsudo
dédié.Defaults logfile=/var/log/sudo.log
6 Dépannage #
Apprenez à déboguer et à résoudre les problèmes de configuration sudo
.
6.1 Les configurations personnalisées sous /etc/sudoers.d/
sont ignorées #
La directive #includedir
dans /etc/sudoers
ignore les fichiers qui se terminent par le caractère ~
ou qui contiennent le caractère .
. Cela permet d'éviter les problèmes avec les fichiers de configuration fournis par le gestionnaire de paquets (contenant .
), ou avec les fichiers temporaires ou de sauvegarde d'un éditeur (se terminant par ~
). Assurez-vous que les noms de vos fichiers de configuration personnalisés ne contiennent ni ne se terminent par ces caractères. Si c'est le cas, renommez-les.
6.2 Conflit de directives personnalisées #
L'ordre dans lequel les fichiers de configuration sont lus détermine le moment auquel une directive de configuration sudo
est appliquée. Les directives d'un fichier situé sous /etc/sudoers.d/
sont prioritaires sur les mêmes directives dans /etc/sudoers
. Si les directives personnalisées indiquées dans /etc/sudoers.d/
ne fonctionnent pas, vérifiez l'ordre dans lequel les fichiers sont lus à l'aide de visudo -c
. Ajustez l'ordre, si nécessaire.
6.3 Verrouillage en raison d'une configuration sudo
défaillante #
Si vous avez accidentellement endommagé la configuration sudo
de votre système et que vous vous êtes exclu de sudo
, utilisez su -
et le mot de passe root
pour démarrer un shell root. Exécutez visudo -c
pour rechercher les erreurs, puis corrigez-les à l'aide de visudo
.
7 Référence de configuration sudo
#
Cette section fournit une référence de configuration de base de sudo
qui vous aide à comprendre et à gérer les configurations sudo
par défaut et personnalisées.
7.1 Syntaxe de configuration sudoers
#
Les fichiers de configuration sudoers
contiennent deux types d'options : des chaînes et des indicateurs. Bien que les chaînes puissent contenir n'importe quelle valeur, les indicateurs peuvent être activés (ON) ou désactivés (OFF). Les constructions de syntaxe les plus importantes pour les fichiers de configuration sudoers
sont les suivantes :
# Everything on a line after # is ignored1 Defaults !insults # Disable the insults flag2 Defaults env_keep += "DISPLAY HOME" # Add DISPLAY and HOME to env_keep3 tux ALL = NOPASSWD: /usr/bin/frobnicate, PASSWD: /usr/bin/journalctl4
Il existe deux exceptions : | |
Supprimez le caractère | |
Indiquez la liste des variables d'environnement à conserver lorsque | |
Règle complexe qui indique que l'utilisateur |
-
targetpw
Si cette option est définie,
sudo
vous invite à saisir le mot de passe utilisateur spécifié dans l'option-u
ou le mot de passeroot
, si-u
n'est pas utilisé. La valeur par défaut est ON (Activé).Defaults targetpw # Turn targetpw flag ON
-
rootpw
Si cette option est définie,
sudo
vous invite à saisir le mot de passeroot
. La valeur par défaut est OFF (Désactivé).Defaults !rootpw # Turn rootpw flag OFF
-
env_reset
Si cette valeur est définie,
sudo
crée un environnement minimal avecTERM
,PATH
,HOME
,MAIL
,SHELL
,LOGNAME
,USER
,USERNAME
etSUDO_*
. En outre, les variables répertoriées dansenv_keep
sont importées de l'environnement d'appel. La valeur par défaut est ON (Activé).Defaults env_reset # Turn env_reset flag ON
-
env_keep
Liste des variables d'environnement à conserver lorsque l'indicateur
env_reset
est ON (Activé).# Set env_keep to contain EDITOR and PROMPT Defaults env_keep = "EDITOR PROMPT" Defaults env_keep += "JRE_HOME" # Add JRE_HOME Defaults env_keep -= "JRE_HOME" # Remove JRE_HOME
-
env_delete
Liste des variables d'environnement à supprimer lorsque l'indicateur
env_reset
est OFF (Désactivé).# Set env_delete to contain EDITOR and PROMPT Defaults env_delete = "EDITOR PROMPT" Defaults env_delete += "JRE_HOME" # Add JRE_HOME Defaults env_delete -= "JRE_HOME" # Remove JRE_HOME
7.2 Règles sudoers
de base #
Chaque règle respecte le schéma suivant ([]
indique les parties facultatives) :
#Who Where As whom Tag What User_List Host_List = [(User_List)] [NOPASSWD:|PASSWD:] Cmnd_List
-
User_List
Un ou plusieurs identificateurs (séparés par des virgules) : un nom d'utilisateur, un groupe au format
%GROUPNAME
ou un ID utilisateur au format#UID
. La négation peut être spécifiée avec le préfixe!
.-
Host_List
Un ou plusieurs identificateurs (séparés par des virgules) : un nom d'hôte (complet) ou une adresse IP. La négation peut être spécifiée avec le préfixe
!
.ALL
est un choix courant pourHost_List
.-
NOPASSWD:|PASSWD:
L'utilisateur n'est pas invité à entrer de mot de passe lors de l'exécution des commandes correspondant à
Cmd_List
aprèsNOPASSWD:
.PASSWD:
est la valeur par défaut. Il ne doit être spécifié que lorsquePASSWD:
etNOPASSWD:
sont sur la même ligne :tux ALL = PASSWD: /usr/bin/foo, NOPASSWD: /usr/bin/bar
-
Cmnd_List
Un ou plusieurs spécificateurs (séparés par des virgules) : chemin d'accès à un exécutable, suivi d'un argument autorisé facultatif.
/usr/bin/foo # Anything allowed /usr/bin/foo bar # Only "/usr/bin/foo bar" allowed /usr/bin/foo "" # No arguments allowed
ALL
peut être utilisé en tant que User_List
, Host_List
et Cmnd_List
.
7.3 Simplification de sudoers
grâce aux alias #
Les administrateurs peuvent éviter de devoir gérer un ensemble de règles répétitives et individuelles en introduisant des alias pour grouper des éléments. Leur syntaxe est la même que celle des règles. Les types d'alias pris en charge sont les suivants :
-
User_Alias
Liste de noms d'utilisateurs
-
Runas_Alias
Groupe d'utilisateurs par UID
-
Host_Alias
Liste de noms d'hôtes
-
Cmnd_Alias
Liste de commandes, de répertoires et d'alias
Considérez les alias comme des listes de noms d'utilisateurs, de groupes, de commandes et d'hôtes. Pour illustrer la puissance des alias, prenez cet exemple :
Host_Alias WEBSERVERS = www1, www2, www31 User_Alias ADMINS = tux, wilber, suzanne2 Cmnd_Alias REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff3 ADMINS WEBSERVERS = REBOOT4
Les trois serveurs sont regroupés en un seul Host_Alias | |
Comme pour les hôtes regroupés ci-dessus, des utilisateurs de groupes ou même des groupes d'utilisateurs (comme | |
Spécifie un groupe de commandes utilisées dans le même contexte. | |
Tous les alias sont regroupés dans une règle unique indiquant que tous les utilisateurs spécifiés par |
En résumé, les alias aident les administrateurs à ce que le fichier sudoers
reste le plus simple et le plus gérable (et donc le plus sécurisé) possible. Si, par exemple, l'un des utilisateurs a quitté la société, vous pouvez supprimer le nom de cette personne de l'instruction User_Alias
et de tout groupe système auquel elle appartenait une seule fois au lieu de devoir rechercher toutes les règles qui contenaient cet utilisateur spécifique.
8 Mentions légales #
Copyright © 2006–2024 SUSE LLC et contributeurs. Tous droits réservés.
Il est autorisé de copier, distribuer et/ou modifier ce document conformément aux conditions de la licence de documentation libre GNU version 1.2 ou (à votre discrétion) 1.3, avec la section permanente qu'est cette mention de copyright et la licence. Une copie de la version de licence 1.2 est incluse dans la section intitulée « Licence de documentation libre GNU ».
Pour les marques commerciales SUSE, consultez le site Web https://www.suse.com/company/legal/. Toutes les autres marques de fabricants tiers sont la propriété de leur détenteur respectif. Les symboles de marque (®, ™, etc.) désignent des marques commerciales de SUSE et de ses sociétés affiliées. Des astérisques (*) désignent des marques commerciales de fabricants tiers.
Toutes les informations de cet ouvrage ont été regroupées avec le plus grand soin. Cela ne garantit cependant pas sa complète exactitude. Ni SUSE LLC, ni les sociétés affiliées, ni les auteurs, ni les traducteurs ne peuvent être tenus responsables des erreurs possibles ou des conséquences qu'elles peuvent entraîner.