Linux : comment utiliser sudo sans saisir de mot de passe ?

Exécuter commande sudo sans mot de passe - Linux

Vous utilisez Linux et vous avez besoin d’exécuter une commande avec des privilèges élevés via sudo sans saisir le mot de passe, et vous ne savez pas comment faire ? Alors, sachez que c’est possible ! Cet article vous explique comment procéder.

Sous Linux, un utilisateur membre du groupe « sudo » peut exécuter des commandes qui nécessitent des privilèges élevés, sans pour autant être le super-utilisateur « root » en lui-même. Toutefois, la première fois que l’on élève ses privilèges au sein d’une session, il convient de saisir son mot de passe, par mesure de sécurité. Si l’on souhaite exécuter une commande sudo dans un script, c’est gênant, car il faudra saisir le mot de passe.

Dans certains cas, on peut avoir besoin de retirer cette obligation pour que la commande sudo puisse être exécutée directement.

1. Editer le fichier /etc/sudoers

La configuration des autorisations s’effectue dans le fichier « /etc/sudoers« , que ce soit sur Debian ou une autre distribution Linux. Ce fichier sudoers s’édite avec cette commande :

sudo visudo

Cette commande permet d’éditer le fichier sudoers en mode texte.

2. Ajouter la règle NOPASSWD

Dans le fichier sudoers, l’utilisation du paramètre NOPASSWD sert à autoriser l’exécution d’une commande sans avoir besoin de saisir le mot de passe. Si l’on prend l’exemple de l’utilisateur « tutobox« , ceci donnerait :

tutobox ALL=(ALL) NOPASSWD: ALL

Mais, attention, cette règle permet à l’utilisateur tutobox d’utiliser la commande « sudo » pour exécuter toutes les commandes sans mot de passe ! Dans le même esprit, la commande ci-dessous attribue cette autorisation à tous les utilisateurs membre du groupe « informatique » :

%informatique ALL=(ALL) NOPASSWD: ALL

Il est recommandé d’affiner cette règle ! En effet, on va permettre à l’utilisateur d’exécuter une commande spécifique sans mot de passe. Si l’on prend l’exemple de la commande « rm » qui sert à supprimer des fichiers et dossiers, cela donne la règle suivante :

tutobox ALL=(ALL) NOPASSWD: /bin/rm

Ainsi, l’utilisateur tutobox devra spécifier son mot de passe s’il exécute une commande via « sudo », sauf s’il appelle la commande « rm » correspondante au binaire « /bin/rm ». Pour un groupe, cela fonctionne de la même façon.

Linux (Debian) - sudo sans mot de passe

S’il y a plusieurs commandes que vous souhaitez autoriser sans mot de passe, utilisez cette syntaxe :

tutobox ALL=(ALL) NOPASSWD: /bin/rm, /bin/php

On pourrait aller plus loin en spécifiant une commande complète, avec le chemin du fichier à supprimer, par exemple. Ceci pour montrer que l’on peut restreindre précisément.

3. Conclusion

Grâce à cet article de la boîte à tutoriels informatique, vous êtes capable d’exécuter une commande sudo sans mot de passe sur votre serveur Linux. Attention, à utiliser quand il n’est pas possible de faire autrement, et avec parcimonie.

Ressources :

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *