sudo

De ArchwikiFR


sudo est un programme conçu pour permettre à un administrateur système de déléguer des privilèges à des utilisateurs, et ainsi leur permettre de lancer certaines (ou toutes) commandes en tant que root ou autre utilisateur tout en enregistrant l'utilisation de ces privilèges.

Sommaire

Installation

pacman -S sudo

Configuration

Il faut éditer le fichier /etc/sudoers avec l'outil visudo, en root :

visudo
Astuce: Pour sauvegarder les modifications et quitter visudo utiliser :wq
Note: À sa fermeture, visudo vérifiera si vous avez commis des erreurs, vous permettant de rectifier le tir.

On peut utiliser un autre éditeur en utilisant la variable $EDITOR :

EDITOR=vim visudo

permettra d'utiliser vim à la place de vi.

Exemples de configuration :

  • Autoriser l'utilisateur jean à éteindre l'ordinateur :
jean  localhost=/sbin/shutdown -h now
  • Autoriser le group wheel à lancer des commandes en root :
%wheel ALL=(ALL) ALL
  • Utiliser sudo avec le mot de passe root :
Defaults rootpw

Utilisation

Ensuite, on utilise sudo simplement, sudo devant les commandes :

sudo pacman -Syu

On peut utiliser la commande sudoedit ou sudo -e pour éditer un ou plusieurs fichiers. Ces derniers seront d'abord copiés dans des fichiers temporaires avant d'être sauvés sous leurs vrais noms lorsqu'on quitte l'édition.

Avancé

Complétion avec bash

Par défaut, la complétion ne fonctionne pas pour sudo, pour l'activer, il faut ajouter ceci à votre ~/.bashrc:

complete -cf sudo

Ainsi:

sudo pac<TAB>

donnera la liste des choix dont en théorie pacman.

Lancement d'applications graphiques

Si vous tenez à lancer une application graphique avec sudo, vous pouvez utiliser gksudo (disponible dans gksu) ou kdesu (disponible si vous disposez de kdebase-runtime ).

kdesu

Pour utiliser kdesu avec sudo plutôt qu'avec su (comportement par défaut), vous pouvez ajouter dans $HOME/.kde4/share/config/kdesurc (ou /usr/share/config/kdesurc pour tous les utilisateurs) :

[super-user-command]
super-user-command=sudo
Outils personnels
Autres langues