Comment exécuter la commande sudo sans mot de passe



La commande sudo représente un atout précieux dans l’environnement de la ligne de commande Linux. Elle octroie aux utilisateurs la possibilité d’exécuter des instructions nécessitant les privilèges root, sans qu’il soit nécessaire de se connecter directement en tant que tel, ce qui renforce la sécurité du système. Cependant, l’utilisation de sudo exige la saisie du mot de passe, ce qui peut s’avérer parfois contraignant.

Bien que cette exigence de mot de passe soit un gage de sécurité indéniable, elle peut s’avérer répétitive et fastidieuse au quotidien. Si l’on souhaite privilégier la commodité à la rigueur sécuritaire, il est possible de configurer sudo de sorte qu’il ne requière plus de mot de passe pour son exécution.

Première méthode : Utilisation temporaire de sudo sans mot de passe

La manière la plus simple d’utiliser sudo sans mot de passe est de le faire de manière temporaire. Cette approche ne nécessite aucune modification des fichiers système. Elle repose sur l’utilisation de la commande sudo -s.

La commande sudo -s ouvre un shell sudo. En pratique, cela signifie que vous démarrez une session dans le terminal avec votre identifiant et votre mot de passe habituels, mais que vous obtenez ensuite un shell root. À partir de cet environnement, vous pouvez lancer n’importe quelle instruction comme si vous l’aviez fait avec la commande sudo.

Pour utiliser sudo -s, ouvrez d’abord un terminal, puis saisissez la commande ci-dessous.

sudo -s

Vous constaterez que l’invite de commande de votre terminal a changé, indiquant que vous êtes connecté au shell sudo en tant que root. Vous pouvez dès lors saisir les instructions que vous souhaitez exécuter avec les privilèges sudo, sans devoir renseigner votre mot de passe.

L’accès au shell sudo est possible depuis n’importe quel compte utilisateur. Pour quitter le shell sudo, saisissez la commande exit.

exit

Seconde méthode : Autoriser l’exécution de sudo sans mot de passe via le fichier sudoers

Si vous désirez exécuter les commandes sudo sans devoir à chaque fois passer par un shell sudo, vous pouvez désactiver l’exigence de mot de passe pour sudo. Cette modification, qui s’opère au niveau du fichier de configuration, permettra d’exécuter toutes les commandes sudo sans mot de passe.

Avant de procéder, il est crucial de comprendre que l’absence de mot de passe pour sudo représente un risque de sécurité non négligeable. Si votre mot de passe utilisateur est faible, un attaquant pourrait potentiellement compromettre votre système. Assurez-vous donc d’utiliser un mot de passe utilisateur robuste en le modifiant si nécessaire.

Pour modifier votre mot de passe utilisateur, ouvrez un terminal et exécutez la commande passwd.

passwd

Le système vous demandera alors de renseigner un nouveau mot de passe. Choisissez un mot de passe à la fois sûr et facile à retenir. Une fois votre mot de passe changé, suivez les instructions détaillées ci-dessous pour désactiver l’exigence de mot de passe pour sudo via le fichier sudoers.

Étape 1 : Exécutez la commande visudo pour ouvrir le fichier sudoers en vue de sa modification. Il est primordial d’utiliser visudo plutôt que d’éditer directement /etc/sudoers, ceci pour des raisons de sécurité.

sudo EDITOR=nano visudo

Il est à noter que si la commande visudo ne fonctionne pas avec sudo, vous pouvez aussi y accéder en vous connectant en tant que root avec la commande su.

su -

EDITOR=nano visudo

Étape 2 : Une fois dans l’éditeur Nano, localisez la ligne de code root ALL=(ALL) ALL et appuyez sur la touche Entrée pour insérer une nouvelle ligne juste en dessous.

Sur la nouvelle ligne, saisissez le code suivant. Remplacez impérativement « utilisateur » par votre nom d’utilisateur, sous peine d’invalidité du code.

utilisateur ALL=(ALL) NOPASSWD: ALL

Étape 3 : Appuyez simultanément sur Ctrl + O pour sauvegarder les modifications du fichier de configuration. Après la sauvegarde, quittez l’éditeur en appuyant sur Ctrl + X.

Une fois le fichier de configuration modifié, vous pourrez lancer toutes les commandes sudo sans avoir à renseigner de mot de passe !

Restreindre l’exécution de commandes spécifiques sans mot de passe sudo

Si vous ne souhaitez pas que toutes les commandes sudo soient exécutées sans mot de passe, vous pouvez limiter cette exception à des commandes spécifiques. Voici comment procéder.

Tout d’abord, ouvrez le fichier sudoers avec la commande visudo ci-dessous.

sudo EDITOR=nano visudo

Dans l’éditeur de texte Nano, recherchez la ligne de code root ALL=(ALL) ALL, puis appuyez sur Entrée pour insérer une nouvelle ligne en dessous. Ensuite, saisissez le code suivant, en veillant à remplacer « utilisateur » par votre nom d’utilisateur.

utilisateur ALL=(ALL) NOPASSWD:

Après avoir saisi le code ci-dessus, indiquez les commandes que vous souhaitez exécuter sans mot de passe. Par exemple, pour que la commande cp puisse être utilisée dans sudo sans mot de passe, vous feriez :

utilisateur ALL=(ALL) NOPASSWD:/usr/bin/cp

Pour ajouter plusieurs commandes, séparez-les par une virgule « , ». Une fois l’édition du fichier sudoers terminée, appuyez simultanément sur Ctrl + O pour sauvegarder les changements. Enfin, appuyez sur Ctrl + X pour quitter Nano.