GNU/Linux >> Tutoriels Linux >  >> Linux

Comment exécuter la commande Sudo sans mot de passe

Le sudo La commande permet aux utilisateurs de confiance d'exécuter des programmes en tant qu'autre utilisateur, par défaut l'utilisateur root. Si vous passez beaucoup de temps sur la ligne de commande, sudo est l'une des commandes que vous utiliserez fréquemment.

Habituellement, pour accorder l'accès sudo à un utilisateur, vous devez ajouter l'utilisateur au groupe sudo défini dans le sudoers dossier. Sur Debian, Ubuntu et leurs dérivés, les membres du groupe sudo reçoivent des privilèges sudo alors que sur les distributions basées sur RedHat comme CentOS et Fedora, le nom du groupe sudo est wheel .

Chaque membre de ce groupe sera invité à entrer le mot de passe avant d'exécuter une commande sudo. Cela ajoute une couche de sécurité supplémentaire et c'est le moyen préféré d'accorder des privilèges sudo aux utilisateurs.

Cependant, dans certaines situations, comme l'exécution de scripts automatisés, vous devrez peut-être configurer le fichier sudoers et autoriser certains utilisateurs à exécuter sudo commandes sans qu'on vous demande le mot de passe.

Ajout d'un utilisateur au fichier Sudoers #

Le fichier sudoers contient des informations qui déterminent les privilèges sudo d'un utilisateur et d'un groupe.

Vous pouvez configurer l'accès utilisateur sudo en modifiant le fichier sudoers ou en ajoutant un fichier de configuration au /etc/sudoers.d annuaire. Les fichiers créés dans ce répertoire seront inclus dans le fichier sudoers.

Avant d'apporter des modifications, il est conseillé de sauvegarder le fichier actuel :

sudo cp /etc/sudoers{,.backup_$(date +%Y%m%d)}
La commande date ajoutera la date actuelle au nom du fichier de sauvegarde.

Ouvrez le /etc/sudoers fichier avec le visudo commande :

sudo visudo

Lorsque vous apportez des modifications au fichier sudoers, utilisez toujours visudo . Cette commande vérifie le fichier après édition, et s'il y a une erreur de syntaxe, elle n'enregistrera pas les modifications. Si vous ouvrez le fichier avec un éditeur de texte, une erreur de syntaxe entraînera la perte de l'accès sudo.

Sur la plupart des systèmes, le visudo la commande ouvre le /etc/sudoers fichier avec l'éditeur de texte vim. Si vous n'avez pas d'expérience avec vim, vous pouvez utiliser un autre éditeur de texte. Par exemple, pour changer l'éditeur en GNU nano, vous exécuterez :

sudo EDITOR=nano visudo

Faites défiler jusqu'à la fin du fichier et ajoutez la ligne suivante qui permettra à l'utilisateur "linuxize" d'exécuter n'importe quelle commande avec sudo sans qu'on vous demande de mot de passe :

/etc/sudoers
linuxize  ALL=(ALL) NOPASSWD:ALL
N'oubliez pas de remplacer "linuxize" par le nom d'utilisateur auquel vous souhaitez accorder l'accès.

Si vous souhaitez autoriser l'utilisateur à exécuter uniquement des commandes spécifiques sans entrer de mot de passe, spécifiez les commandes après le NOPASSWD mot-clé.

Par exemple, pour autoriser uniquement le mkdir et mv commandes que vous utiliseriez :

/etc/sudoers
linuxize ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/mv

Une fois terminé, enregistrez le fichier et quittez l'éditeur.

Utilisation de /etc/sudoers.d #

Au lieu de modifier le fichier sudoers, vous pouvez créer un nouveau fichier avec les règles d'autorisation dans /etc/sudoers.d annuaire. Cette approche rend la gestion des privilèges sudo plus maintenable.

Ouvrez votre éditeur de texte et créez le fichier :

sudo nano /etc/sudoers.d/linuxize

Vous pouvez nommer le fichier comme vous le souhaitez, mais il est généralement préférable d'utiliser le nom d'utilisateur comme nom de fichier.

/etc/sudoers.d/linuxize

Ajoutez la même règle que vous ajouteriez au fichier sudoers :

linuxize  ALL=(ALL) NOPASSWD:ALL

Enfin, enregistrez le fichier et fermez l'éditeur.

Conclusion #

Nous vous avons montré comment éditer le /etc/sudoers afin que vous puissiez exécuter sudo commandes sans saisir de mot de passe. Ceci est utile lorsque vous avez des scripts dans lesquels un utilisateur non root doit exécuter des tâches administratives.

Si vous avez des questions, n'hésitez pas à laisser un commentaire.


Linux
  1. Comment exécuter un programme spécifique en tant que root sans invite de mot de passe ?

  2. Comment exécuter une commande sans propriétés racine ?

  3. Comment exécuter SCP sans interruption de l'invite de mot de passe sous Linux

  4. Comment ajouter à un fichier en tant que sudo?

  5. Comment puis-je chown un fichier à un subuid sans sudo

Comment utiliser Sudo et le fichier Sudoers

Comment le gestionnaire de fichiers monte-t-il un lecteur externe sans Sudo ?

Comment exécuter des commandes particulières sans mot de passe Sudo sous Linux

Comment exécuter des commandes Sudo sans mot de passe

Comment exécuter les commandes sudo sans mot de passe

Comment exécuter à distance la commande ssh une commande sudo sans mot de passe