Ecrire dans le sudoers grâce à visudo

Comment permettre à un utilisateur d'utiliser sudo ?

13 juin 2011

La commande sudo (Substitute User DO) est un outil très pratique pour exécuter une commande en se faisant passer pour un autre utilisateur, en particulier l'utilisateur root. Bien évidemment n'importe quel utilisateur ne peut pas utiliser sudo par défaut, il faut configurer les autorisations de sudo dans un fichier nommé sudoers.

Le sudoers est situé dans /etc, un ls -l dans ce dossier nous donne :

Visualisation de /etc

-r--r-----      1 root root             519     13      juin    17:14   sudoers

Comme vous pouvez le constater, le fichier n'a aucun droit en écriture. Pour modifier le sudoers il faut utiliser un éditeur dédié : visudo.

L'editeur visudo est, comme son nom l'indique, basé sur l'incontournable éditeur vi. En plus de permettre d'éditer le sudoers, il gère les conflits d'accès (lorsque 2 utilisateurs veulent modifier le sudoers en même temps) et permet de vérifier la syntaxe du sudoers.

Utilisation de visudo

# Ouverture du sudoers.
# Pour passer en mode insertion (mode d'édition), appuyez sur "a".
# Pour revenir en mode normal (mode commande) et enregistrer, appuyez sur échap et saisissez ":wq".
visudo

# Vérification de la syntaxe
visudo -c
/etc/sudoers: parsed OK

# Si le sudoers n'est pas dans /etc
visudo -f chemin/sudoers

# Pour les autres options
man visudo

Maintenant que vous connaissez visudo, il faut ajouter une autorisation dans le sudoers. Repérez la zone "User privilege specification" et ajoutez la ligne relative à votre utilisateur. Le NOPASSWD de ne pas avoir à saisir son mot de passe à chaque utilisation de la commande sudo.

Ajout d'une autorisation pour l'utilisateur nico

# User privilege specification
root    ALL=(ALL) ALL
nico    ALL=(ALL) NOPASSWD:ALL

Et n'oubliez pas que si les droits root ne sont pas attribués par défaut à tout le monde, il y a une raison évidente de sécurité...

Par
Créateur et administrateur.

Dans la même catégorie

Docker pour les null
Git : annuler le dernier commit sans perdre ses modifications
SSHFS : monter un système de fichier avec SSH
Linux : débloquer une interface graphique gelée
Gnome 3 : changer les raccourcis clavier systèmes
Bash : sortir automatiquement du script si une variable n'est pas initialisée
Bash : sortir automatiquement du script si une commande échoue
GIT : merger 2 commits
Nginx : mettre un serveur par défaut
GIT : Afficher la branche courante dans le prompt
Couper une vidéo ou une musique sous linux
Debian / Ubuntu : installer HTTPS pour APT
Filtrer les lignes affichées par la commande tail
Apache 2 : Créer des sous-domaines dynamiques
Transférer des fichiers sur un smartphone android sans câble USB
Comment connaitre la taille d'un dossier sous linux ?
Surveiller la sortie d'une commande avec watch
Comment lancer ou arrêter un script au démarrage de Linux ?
Comment connaître la version de mon OS Linux ?
Comment afficher le cache ARP sous Linux ?
GIT : les commandes indispensables
Comment trouver mon adresse IP publique ?
Linux : Comment configurer une adresse IP fixe ?
Comment supprimer les fichiers plus vieux qu'une date donnée en bash ?
Apache 2 : Comment changer le DocumentRoot en fonction du port ?
GIT : Comment ajouter les nouveaux fichiers automatiquement ?
Comment exécuter un script local sur une machine distante avec SSH ?
32 bits ou 64 bits ?

Commentaire(s)