{{tag>administration sécurité droits sudo}}
====== 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 : //**s**ubstitute **u**ser **do**//((voir [[https://man7.org/linux/man-pages/man1/su.1.html|la page du manuel Linux]])).
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 [[:utilisateurs:roschan:sudo|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 << [[:tutoriel:effectuer_des_taches_en_super_utilisateur|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 [[:terminal|lignes de commande]] que vous exécuterez, par exemple en utilisant //[[:man|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 [[tutoriel:comment_modifier_un_fichier|modifier un fichier]] avec //[[:nano|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 !!
===== Lancer un logiciel graphique en super-utilisateur =====
[[tutoriel:comment_eviter_root_quand_c_est_possible|É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 : [[:utilisateurs/aldian/sudo_gedit|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 [[:policykit#la_commande_pkexec|pkexec]].
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY nom-du-programme
\\
Certains utilitaires graphiques (par ex. [[gedit|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|gparted]] intègrent ce mode administrateur dès leur lancement depuis le menu d'applications, ou lanceur.\\
D'autres comme [[bleachbit|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 [[:tutoriel:comment_installer_un_paquet|installer]], par exemple [[apt>gksu]] pour [[:Ubuntu]]/[[:Xubuntu]]/[[:Lubuntu]], ou **[[apt>kdesudo]]** pour [[:Kubuntu]].
Par exemple, pour [[tutoriel:comment_modifier_un_fichier|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 =====
{{topic>: sudo}}
[[https://forum.ubuntu-fr.org/viewtopic.php?id=2047773|page sur le sujet dans le forum]]
-----
//Contributeurs : [[:utilisateurs:aldian]], [[:utilisateurs:bcag2]]//