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.

Contrairement à ce que laisse supposer cette page, la commande 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.

Cette page est volontairement simplifiée à l'extrême afin de la rendre accessible et que les informations essentielles soient faciles à trouver.
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 ».

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.

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.

Pour repasser en root une commande que l'on vient de saisir en simple utilisateur, on peut utiliser :
 sudo !!
Éviter de lancer une commande en tant qu'administrateur lorsque c'est possible.

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

  • sudo.txt
  • Dernière modification: Le 01/05/2024, 14:39
  • par krodelabestiole