sudo
est un utilitaire de ligne de commande conçu pour permettre aux utilisateurs de confiance d'exécuter des commandes en tant qu'un autre utilisateur, par défaut l'utilisateur root.
Vous avez deux options pour accorder l'accès sudo à un utilisateur. La première consiste à ajouter l'utilisateur au fichier sudoers. Ce fichier contient des informations qui définissent les utilisateurs et les groupes auxquels sont accordés les privilèges sudo, ainsi que le niveau des privilèges.
La deuxième option consiste à ajouter l'utilisateur au groupe sudo défini dans le sudoers
dossier. Par défaut, sur les distributions basées sur RedHat comme CentOS et Fedora, les membres du groupe "wheel" reçoivent des privilèges sudo.
Ajout d'un utilisateur au groupe de roues #
Le moyen le plus simple d'accorder des privilèges sudo à un utilisateur sur CentOS consiste à ajouter l'utilisateur au groupe "roue". Les membres de ce groupe peuvent exécuter toutes les commandes via sudo
et invité à s'authentifier avec son mot de passe lors de l'utilisation de sudo
.
Nous supposons que l'utilisateur existe déjà. Si vous souhaitez créer un nouvel utilisateur, consultez ce guide.
Pour ajouter l'utilisateur au groupe, exécutez la commande ci-dessous en tant que root ou un autre utilisateur sudo. Remplacez "nom d'utilisateur" par le nom de l'utilisateur auquel vous souhaitez accorder des autorisations.
usermod -aG wheel username
Accorder l'accès sudo à l'aide de cette méthode est suffisant pour la plupart des cas d'utilisation.
Pour tester l'accès sudo, exécutez le whoami
commande :
sudo whoami
Vous serez invité à entrer le mot de passe. Si l'utilisateur a un accès sudo, la commande imprimera "root":
root
Si vous obtenez une erreur disant "l'utilisateur n'est pas dans le fichier sudoers", cela signifie que l'utilisateur n'a pas les privilèges sudo.
Ajout d'un utilisateur au fichier sudoers #
Les privilèges sudo des utilisateurs et des groupes sont configurés dans le /etc/sudoers
dossier. L'ajout de l'utilisateur à ce fichier vous permet d'accorder un accès personnalisé aux commandes et de configurer des politiques de sécurité personnalisées pour l'utilisateur.
Vous pouvez configurer l'accès utilisateur sudo en modifiant le fichier sudoers ou en créant un nouveau fichier de configuration dans /etc/sudoers.d
annuaire. Les fichiers à l'intérieur de ce répertoire sont inclus dans le fichier sudoers.
Pour éditer le /etc/sudoers
fichier, utilisez le visudo
commande. Cette commande vérifie le fichier pour les erreurs de syntaxe lorsque vous l'enregistrez. S'il y a des erreurs, le fichier n'est pas enregistré. Si vous ouvrez le fichier avec un éditeur de texte, une erreur de syntaxe peut entraîner la perte de l'accès sudo.
Typiquement, visudo
utilise vim pour ouvrir le /etc/sudoers
. Si vous n'avez aucune expérience avec vim et que vous souhaitez modifier le fichier avec nanotype :
EDITOR=nano visudo
Supposons que vous souhaitiez autoriser l'utilisateur à exécuter des commandes sudo sans qu'un mot de passe lui soit demandé. Ouvrez le /etc/sudoers
fichier :
visudo
Faites défiler jusqu'à la fin du fichier et ajoutez la ligne suivante :
/etc/sudoersusername ALL=(ALL) NOPASSWD:ALL
Enregistrez un fichier et quittez l'éditeur. N'oubliez pas de remplacer "nom d'utilisateur" par le nom d'utilisateur auquel vous souhaitez accorder l'accès.
Un autre exemple courant consiste à autoriser l'utilisateur à n'exécuter que des commandes spécifiques via sudo
. Par exemple, pour n'autoriser que le du
et ping
commandes que vous utiliseriez :
username ALL=(ALL) NOPASSWD:/usr/bin/du,/usr/bin/ping
Au lieu de modifier le fichier sudoers, vous pouvez obtenir la même chose en créant un nouveau fichier avec les règles d'autorisation dans /etc/sudoers.d
annuaire. Ajoutez la même règle que vous ajouteriez au fichier sudoers :
echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username
Cette approche rend la gestion des privilèges sudo plus maintenable. Le nom du fichier n'a pas d'importance. C'est une pratique courante que le nom du fichier soit le même que le nom d'utilisateur.