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.