Droits de super utilisateur
Les actions que l'on peut être amené à effectuer sur son système relèvent de deux types: l'utilisation courante (lire ses mails, naviguer sur Internet, etc), et l'administration (installation de logiciels et configuration avancée). L'utilisation courante ne demande pas de privilèges particuliers.
Par contre pour les tâches d'administration, qui pourraient endommager le système en cas d'erreur, des droits spécifiques sont requis: les droits de super utilisateur.
sudo
ne sert pas particulièrement à prendre les droits du super utilisateur.
Elle sert à réaliser une action au nom d'un autre utilisateur : substitute user do1).
Cependant elle attend le nom de l'utilisateur (ou son user-ID numérique) en paramètre -u
, et s'il n'est pas renseigné elle choisit par défaut l'utilisateur root.
Cette page ne semble donc pas traiter particulièrement de la commande sudo
, mais plutôt de la manière de réaliser certaines tâches d'administration du système.
On peut trouver une documentation concernant la commande sudo
sur cette page.
En conséquence, elle ne couvre pas tous les cas de figure. En cas de doute et pour creuser le sujet, se reporter au tutoriel « Effectuer des tâches en super utilisateur ».
Pré-requis: comprendre l'action que vous allez effectuer
Toute tâche d'administration est sensible, et il n'est pas forcément facile de revenir en arrière. Il est vivement conseillé de chercher à comprendre les lignes de commande que vous exécuterez, par exemple en utilisant man, car en cas d'erreur, la réinstallation complète du système est parfois l'unique option.
Exécuter une ligne de commande en super utilisateur
Dans l'immense majorité des cas où il vous sera demandé d'effectuer une action en ligne de commande avec les droits d'administration, il vous suffit d'ajouter le mot clé sudo
au début de votre ligne de commande.
Exemple typique, pour modifier un fichier avec nano:
sudo nano /chemin/vers/mon/fichier
Après la saisie d'une ligne de commande commençant par sudo
, il vous sera demandé de taper votre mot de passe, mais les caractères ne s'afficheront pas à l'écran et il n'y aura pas non plus de petites étoiles *
, ce qui est normal. Tapez tout de même votre mot de passe et validez.
sudo !!
Lancer un logiciel graphique en super-utilisateur
La commande sudo
⋅ on s'en sert surtout pour des actions qui ont lieu dans un terminal ou dans une console.
⋅ on évite le plus possible de lancer une application graphique (qui ouvre sa propre fenêtre en dehors du terminal.)
Consultez : Problématiques liées à l'édition des fichiers système via une application graphique
Ubuntu 18.04 et les versions suivantes
L'ancien gksudo
peut être utilement remplacé par pkexec.
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY nom-du-programme
Certains utilitaires graphiques (par ex. gedit) proposent un mode administrateur, qui demandera le mot de passe aux moments opportuns (à la lecture d'un fichier, à son enregistrement) en le lançant depuis un terminal via
gedit admin:///chemin/vers/fichier
Certaines comme gparted intègrent ce mode administrateur dès leur lancement depuis le menu d'applications, ou lanceur.
D'autres comme bleachbit disposent de 2 lanceurs, l'un en mode utilisateur « normal », l'autre en mode « administrateur » qui demandera le mot de passe d'un utilisateur « administrateur ».
D'autres logiciels ont potentiellement l'option de passer en mode administrateur via des plugins / extensions (Nautilus, Caja, Nemo…) rarement installés par défaut. Et pour cause : c'est une pratique à réserver à des utilisateurs aguerris, conscients des risques pris à agir en tant que Super-Utilisateur.
Avant Ubuntu 18.04
La plupart des logiciels graphiques qui ont besoin d'être exécutés avec les privilèges du super-utilisateur vous demanderont votre mot de passe lorsqu'il y en aura besoin. Cependant, il peut arriver que vous souhaitiez exécuter en super-utilisateur un logiciel qui peut aussi fonctionner sans.
Dans le cas général, ce n'est pas une bonne pratique, il est toujours préférable de rechercher comment atteindre le même but via un utilitaire en ligne de commande. Si toutefois vous n'avez pas d'autre alternative, notez que dans ce cas, l'usage du sudo
(présenté dans la partie dédiée aux lignes de commande) n'est pas approprié : il y a un risque d'écrasement de votre configuration courante. Il est donc nettement préférable d'utiliser l'utilitaire approprié à votre système, ces utilitaires ne sont pas présents par défaut, il faut les installer, par exemple gksu pour Ubuntu/Xubuntu/Lubuntu, ou kdesudo pour Kubuntu.
Par exemple, pour modifier un fichier avec votre éditeur de texte habituel dans Ubuntu/Xubuntu/Lubuntu :
gksudo xdg-open mon-fichier
et dans Kubuntu :
kdesudo xdg-open mon-fichier
Pour approfondir
page sur le sujet dans le forum