
sudo
est un utilitaire de ligne de commande qui permet aux utilisateurs de confiance d'exécuter des commandes en tant qu'autre utilisateur, par défaut root.
Ce didacticiel montre deux façons d'accorder des privilèges sudo à un utilisateur. La première consiste à ajouter l'utilisateur au fichier sudoers. Ce fichier contient un ensemble de règles qui déterminent quels utilisateurs ou groupes sont accordés avec des privilèges sudo, ainsi que le niveau des privilèges. La deuxième option consiste à ajouter l'utilisateur au groupe sudo spécifié dans le sudoers
dossier. Par défaut, sur Debian et ses dérivés, les membres du groupe "sudo" se voient accorder un accès sudo.
Ajout d'un utilisateur au groupe sudo #
Le moyen le plus rapide et le plus simple d'accorder des privilèges sudo à un utilisateur consiste à ajouter l'utilisateur au groupe "sudo". Les membres de ce groupe peuvent exécuter n'importe quelle commande en tant que root via sudo
et invité à s'authentifier avec son mot de passe lors de l'utilisation de sudo
.
Nous supposons que l'utilisateur que vous souhaitez affecter au groupe existe déjà.
Exécutez la commande ci-dessous en tant que root ou un autre utilisateur sudo pour ajouter l'utilisateur au groupe sudo
usermod -aG sudo username
Assurez-vous de changer "nom d'utilisateur" avec le nom de l'utilisateur auquel vous souhaitez accorder l'accès.
Accorder l'accès sudo à l'aide de cette méthode est suffisant pour la plupart des cas d'utilisation.
Pour vous assurer que l'utilisateur a bien été ajouté au groupe, saisissez :
sudo whoami
Il vous sera demandé d'entrer le mot de passe. Si l'utilisateur a un accès sudo, la commande imprimera "root". Sinon, vous obtiendrez une erreur disant "l'utilisateur n'est pas dans le fichier sudoers".
Ajout d'un utilisateur au fichier sudoers #
Les privilèges sudo des utilisateurs et des groupes sont définis dans le /etc/sudoers
dossier. Ce fichier vous permet d'accorder un accès personnalisé aux commandes et de définir des politiques de sécurité personnalisées.
Vous pouvez configurer l'accès utilisateur en éditant 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.
Utilisez toujours le visudo
commande pour éditer le /etc/sudoers
dossier. 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 modifiez le fichier avec un éditeur de texte standard, une erreur de syntaxe peut entraîner la perte de l'accès sudo.
visudo
utilise l'éditeur spécifié par EDITOR
variable d'environnement, qui est définie par défaut sur vim. Si vous souhaitez modifier le fichier avec nano, modifiez la variable en exécutant :
EDITOR=nano visudo
Supposons que vous souhaitiez autoriser l'utilisateur à exécuter des commandes sudo sans qu'un mot de passe lui soit demandé. Pour ce faire, 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 le 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 typique est de permettre à l'utilisateur d'exécuter uniquement des commandes spécifiques via sudo
. Par exemple, pour autoriser uniquement le mkdir
et rmdir
commandes que vous utiliseriez :
username ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir
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, mais il est courant de nommer le fichier en fonction du nom d'utilisateur.