Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
utilisateurs:roschan:sudo [Le 08/10/2017, 14:58]
Roschan
utilisateurs:roschan:sudo [Le 08/10/2017, 22:36]
Roschan
Ligne 1: Ligne 1:
 {{tag>​administration sécurité droits sudo}} {{tag>​administration sécurité droits sudo}}
 ------ ------
 +
 +<note help>
 +cette page doit fusionner elle-même avec https://​doc.ubuntu-fr.org/​sudo-annexe **fait**
 +
 +le but étant de faire une page "​conforme au template"​ pour sudo **fait** \\
 +et ici -> https://​doc.ubuntu-fr.org/​utilisateurs/​roschan/​elevation_privileges on fera un tuto propre user-friendly **fait** (il faudra échanger les backlinks) **pas fait** \\
 +et ici -> https://​doc.ubuntu-fr.org/​utilisateurs/​roschan/​elevation_privileges_avances un tuto avancé avec tout le bullshit obsolète sur gkmachin **en cours**
 +</​note>​
  
 ====== La commande sudo ====== ====== La commande sudo ======
Ligne 79: Ligne 87:
 ==== Alternatives à sudo ==== ==== Alternatives à sudo ====
  
-  * [[:polkit]] fonctionne selon un principe différent : un programme ​sans fenêtre ​s'​exécute en arrière-plan (sans fenêtre), et dispose des droits root. Les applications sont invitées à lui demander les droits nécessaires pour effectuer des opérations spécifiques. Cela évite de lancer des programmes graphiques en tant que super-utilisateur,​ ça évite également d'​utiliser ''​sudo''​ pour des commandes n'en ayant pas besoin, la sécurité est donc accrue, et moins d'​actions sont requises de la part de l'​utilisateur (**ce sont les applications qui demandent les droits**, pas l'​utilisateur). Parmi les programmes capables d'​utiliser PolKit, on peut citer :+  * [[:polkit]] fonctionne selon un principe différent : un programme ​("​démon"​) ​s'​exécute en arrière-plan (sans fenêtre), et dispose des droits root. Les applications sont invitées à lui demander les droits nécessaires pour effectuer des opérations spécifiques. Cela évite de lancer des programmes graphiques en tant que super-utilisateur,​ ça évite également d'​utiliser ''​sudo''​ pour des commandes n'en ayant pas besoin, la sécurité est donc accrue, et moins d'​actions sont requises de la part de l'​utilisateur (**ce sont les applications qui demandent les droits**, pas l'​utilisateur). Parmi les programmes capables d'​utiliser PolKit, on peut citer :
     * [[:​gnome-packagekit|GNOME Paquets]]     * [[:​gnome-packagekit|GNOME Paquets]]
     * [[:​gnome-software|GNOME Logiciels]]     * [[:​gnome-software|GNOME Logiciels]]
Ligne 95: Ligne 103:
  
 Les avantages de l'​emploi de ''​sudo'',​ par opposition à l'​emploi direct d'un unique compte super-utilisateur (''​root''​) via la commande ''​su'',​ sont nombreux pour une utilisation dans un environnement domestique ou de PME/PMI : Les avantages de l'​emploi de ''​sudo'',​ par opposition à l'​emploi direct d'un unique compte super-utilisateur (''​root''​) via la commande ''​su'',​ sont nombreux pour une utilisation dans un environnement domestique ou de PME/PMI :
-  * L'​installateur d'​Ubuntu est plus concis. ​Ceci est important pour le nouvel arrivant, qui peut ne pas être au courant du fonctionnement du compte super-utilisateur et de son danger potentiel ; +  * L'​installateur d'​Ubuntu est ainsi plus concis. 
-  * Les administrateurs n'ont pas à se souvenir d'un mot de passe supplémentaire, qu'ils peuvent facilement oublier, ou compromettre la sécurité du compte ''​root''​ par des mauvaises habitudes ; +  * Les administrateurs n'ont pas à se souvenir d'un mot de passe supplémentaire. 
-  * Cela évite le comportement du « Je peux tout faire sur ma machine » : \\ avant d'​effectuer une action d'​administration,​ Ubuntu vous demande votre mot de passe, ce qui devrait faire réfléchir les administrateurs aux conséquences de leur action ​;+  * Cela évite le comportement du « Je peux faire n'​importe quoi sur ma machine » : \\ avant d'​effectuer une action d'​administration,​ Ubuntu vous demande votre mot de passe, ce qui devrait faire vous réfléchir ​sur les conséquences de vos actions ​;
   * ''​sudo''​ conserve une trace de toutes les commandes exécutées. Si un problème apparaît, vous pourrez toujours consulter ce journal afin de retrouver la commande ayant causé le problème ;   * ''​sudo''​ conserve une trace de toutes les commandes exécutées. Si un problème apparaît, vous pourrez toujours consulter ce journal afin de retrouver la commande ayant causé le problème ;
   * Tous les pirates tentant de pénétrer par la force brute votre système savent qu'il existe un compte appelé ''​root''​ et essaieront de pirater celui-ci d'​abord. Ils ne connaissent pas les identifiants des autres utilisateurs de votre ordinateur ;   * Tous les pirates tentant de pénétrer par la force brute votre système savent qu'il existe un compte appelé ''​root''​ et essaieront de pirater celui-ci d'​abord. Ils ne connaissent pas les identifiants des autres utilisateurs de votre ordinateur ;
-  * Ceci permet un transfert rapide des droits d'​administration, autant pour du long que pour du court terme, par le simple ajout ou retrait d'un utilisateur dans le groupe d'​administration. Le tout, sans compromettre la sécurité de votre environnement informatique par le partage d'un mot de passe unique pour le compte ''​root''​ ; +  * Ceci permet un transfert rapide des droits d'​administration,​ sans compromettre la sécurité de votre environnement informatique par le partage d'un mot de passe unique pour le compte ''​root''​ ; 
-  * ''​sudo''​ peut être configuré avec une politique bien plus affinée+  * ''​sudo''​ peut être configuré avec de manière ​affinée.
- +
-==== « sudo » n'​est-il pas moins sécurisé que « su root » ? ==== +
- +
-Non : \\ +
-Le modèle de sécurité à la base est le même, et les deux modèles partagent une même faiblesse. Tout utilisateur utilisant ''​su root''​ ou ''​sudo''​ pour effectuer des tâches administratives doit être considéré comme un utilisateur privilégié. \\ Si le compte de l'​utilisateur est compromis par un attaquant, celui-ci peut aussi obtenir une élévation de privilèges et compromettre le système d'​exploitation. \\ Les utilisateurs ayant les droits d'​administration doivent être protégés avec les mêmes soins que le compte super-utilisateur. +
- +
-On remarque que ''​sudo''​ encourage la modification des habitudes de travail, qui peuvent provoquer un impact positif sur la sécurité du système d'​exploitation. \\ ''​sudo''​ est habituellement utilisé pour exécuter une commande unique, alors que ''​su root''​ est souvent utilisé pour exécuter un terminal ''​root''​ et exécuter des multiples commandes. \\ L'​approche de ''​sudo''​ réduit la possibilité qu'un terminal ''​root''​ soit laissé ouvert indéfiniment sur le poste de travail et encourage l'​utilisateur à minimiser son utilisation des privilèges d'​administration.+
  
 ===== Utilisation avancée ===== ===== Utilisation avancée =====
  
-<​note ​warning>Au delà de ce point, les manipulations ​représentent un danger certain, et s'​adressent donc aux utilisateurs avancés.</​note>​+<​note ​important>Au delà de ce point, les manipulations ​visent uniquement ​aux utilisateurs avancés.</​note>​
  
 ==== Observer le journal des tâches exécutées précédemment par « sudo » ==== ==== Observer le journal des tâches exécutées précédemment par « sudo » ====
Ligne 133: Ligne 134:
   * **sudo -g bar** lance la commande avec le groupe bar spécifié (le groupe spécifié est le groupe primaire de l'​utilisateur cible indiqué dans /​etc/​passwd)   * **sudo -g bar** lance la commande avec le groupe bar spécifié (le groupe spécifié est le groupe primaire de l'​utilisateur cible indiqué dans /​etc/​passwd)
   * ** sudo -i -u toto ** permet de se connecter en tant que l'​utilisateur toto (ne pas utiliser ces options pour root)   * ** sudo -i -u toto ** permet de se connecter en tant que l'​utilisateur toto (ne pas utiliser ces options pour root)
- 
-=== Différences entre "sudo -i" et "sudo -s" et pourquoi il est préférable de ne jamais lancer "sudo su" === 
- 
-Voici une commande mettant en évidence ces différences (il est nécessaire que le paquet **[[apt>​meld]]** soit installé pour que cette commande fonctionne):​ <code bash>​sudo -s env > /​tmp/​testenv_sudo_-s ; sudo -i env > /​tmp/​testenv_sudo_-i ; sudo su -c env > /​tmp/​testenv_sudo_su ; meld /​tmp/​testenv_sudo_* && rm /​tmp/​testenv_sudo_* </​code>​ 
- 
-Les principales différences observées, dans le cas où ces commandes sont lancées par l'​utilisateur nommé foo : 
- 
-|            ^ sudo -s       ^ sudo -i      ^ sudo su    ^ 
-^ HOME=      | /​home/​foo ​    | /root        | /root      | 
-^ PWD=       | /​home/​foo ​    | /root        | /​home/​foo ​ | 
-^ PATH=      | /​usr/​local/​sbin:/​usr/​local/​bin:​ \\ /​usr/​sbin:/​usr/​bin:/​sbin:/​bin:/​usr/​X11R6/​bin | /​usr/​local/​sbin:/​usr/​local/​bin:​ \\ /​usr/​sbin:/​usr/​bin:/​sbin:/​bin:/​usr/​games | /​usr/​local/​sbin:/​usr/​local/​bin:​ \\ /​usr/​sbin:/​usr/​bin:/​sbin:/​bin:/​usr/​games | 
-^ fichier(s) exécuté(s) | /​home/​foo/​.bashrc | /​etc/​environment,​ /​root/​.login,​ /​root/​.profile,​ /​root/​.bashrc | /​etc/​environment,​ /​root/​.bashrc | 
- 
-On voit donc que ces commandes ont une influence différente sur les variables d'​environnement,​ et cela peut avoir des conséquences inattendues (compilations,​ exécution de scripts, etc.). 
- 
-==== Ouvrir un terminal en mode root ==== 
- 
-Utiliser ''​sudo''​ pour exécuter une seule commande ne cause pas un réel désagrément,​ mais il peut être désagréable de l'​utiliser pour exécuter une longue procédure nécessitant plusieurs interventions en mode super-utilisateur (''​root''​). \\ L'​ouverture d'un terminal en mode ''​root''​ permet d'​éviter d'​avoir à appeler ''​sudo''​ à chacune des étapes de cette procédure, sans avoir à activer l'​accès au compte d'​utilisateur ''​root''​. 
- 
-<note important>​L'​inconvénient de cette méthode est qu'​aucune trace des actions posées n'est inscrite dans le journal de ''​sudo''​ (sinon l'​ouverture du terminal ''​root''​ lui-même). Il est **déconseillé** d'​ouvrir un terminal ''​root''​.</​note>​ 
- 
-Pour vous servir d'un terminal ''​root''​ : 
-  - Ouvrez [[:​terminal|une fenêtre de terminal]] ; 
-  - Saisissez la commande suivante : <code bash>​utilisateur@ordinateur:​~$ sudo -i</​code>​ 
-  - Saisissez votre mot de passe à l'​invite de saisie de mot de passe ; 
-  - Exécutez votre série de commandes d'​administration ; 
-  - Fermez la session ''​root''​ : <code bash>​root@ordinateur:​~#​ exit</​code>​ ou "''​Ctrl d''"​ 
- 
-==== Activer et désactiver le compte root ==== 
- 
-<note important>​Activer le compte root n'est **pas** nécessaire. Toutes les tâches d'​administration auxquelles on est confronté sous Ubuntu peuvent être réalisées avec sudo ou polkit.</​note>​ 
-Si le besoin d'un login en tant que ''​root''​ se fait ressentir, la meilleure alternative est de le simuler avec la commande suivante : <code bash>​sudo -i</​code>​ Il est possible de sortir de ce shell avec le raccourci "''​Ctrl d''"​ ou avec la commande suivante : <code bash>​exit</​code>​ 
- 
-À vos risques et périls, donc : pour activer le compte root (c'​est-à-dire lui donner un mot de passe), on peut utiliser la commande suivante: <code bash>​sudo passwd root</​code>​ 
- 
-<note warning>​Se connecter graphiquement à votre environnement de bureau en tant que root peut **poser de gros problèmes**. 
- 
-Si vous pensez avoir besoin d'un compte root activé pour réaliser une certaine action, consultez un canal de support officiel ([[:​salons_irc|irc]],​ [[:​wiki:​liste_discussion#​utilisateurs_francophones_d_ubuntu|liste de diffusion]], ​ [[:​tutoriel:​howto_forum|forum]],​ ...) **avant** de l'​activer,​ afin de vous assurez qu'il n'y a pas une meilleure méthode pour réaliser cette action.</​note>​ 
- 
-Pour désactiver un compte root précédemment activé: <code bash>​sudo usermod -p '​!'​ root</​code>​ 
  
 ===== À lire aussi ===== ===== À lire aussi =====
  
-  * [[:elevation_privileges]] +  * [[elevation_privileges]] 
-  * [[:elevation_privileges_avances]]+  * [[elevation_privileges_avances]]
   * **(en) [[http://​www.sudo.ws|Site officiel du projet "​sudo"​]]**   * **(en) [[http://​www.sudo.ws|Site officiel du projet "​sudo"​]]**
   * **(en)** [[http://​www.sudo.ws/​sudo/​sudoers.man.html|Sudoers Manual]]   * **(en)** [[http://​www.sudo.ws/​sudo/​sudoers.man.html|Sudoers Manual]]
Ligne 187: Ligne 148:
 , ...// , ...//
  
- 
-<note help>​-------------- 
- 
-cette page doit fusionner elle-même avec https://​doc.ubuntu-fr.org/​sudo-annexe **fait** 
- 
-le but étant de faire une page "​conforme au template"​ pour sudo **fait** \\ 
-et ici -> https://​doc.ubuntu-fr.org/​utilisateurs/​roschan/​elevation_privileges on fera un tuto propre user-friendly (il faudra échanger les backlinks) \\ 
-et ici -> https://​doc.ubuntu-fr.org/​utilisateurs/​roschan/​elevation_privileges_avances un tuto avancé avec tout le bullshit obsolète sur gkmachin 
- 
------- 
- 
-Plan provisoire : 
- 
-  - principe de fonctionnement 
-  - utilisation 
-  - configuration 
-    - ajouter des utilisateurs 
-    - sudoers 
-  - remarques sur la sécurité 
-  - utilisation avancée 
-  - voir aussi 
- 
---------------------</​note>​ 
- 
-<del> 
- 
-Dans Ubuntu, l'​accomplissement de tâches privilégiées (ou tâches d'​administration) s'​effectue à travers un « filtre » puissant appelé **sudo**. Son principe est le suivant: 
-  * Toutes les tâches administratives ne peuvent être exécutées qu'à travers l'​utilitaire d'​administration ''​sudo''​. Exécutée hors-''​sudo'',​ la tâche est bloquée ; 
-  * Lorsqu'​un utilisateur tente d'​exécuter une tâche administrative à travers le filtre ''​sudo'',​ cet utilitaire vérifie que cet utilisateur a le droit d'​effectuer cette tâche. Dans le cas contraire, il bloque la tâche. 
- 
- 
-===== Préalables ===== 
- 
-Pour effectuer des tâches administratives à travers l'​utilitaire ''​sudo'',​ votre compte d'​utilisateur doit être promu au rôle d'​administrateur (aussi appelé <<​super-utilisateur>>​​). 
- 
-Vous disposez d'un compte d'​administrateur lorsque : 
-  * votre compte d'​utilisateur est celui qui a été créé au moment de l'​installation d'​Ubuntu. Par défaut, ce compte est un compte privilégié,​ et c'est le seul compte privilégié ; 
-  * ou lorsqu'​un administrateur a promu manuellement votre compte d'​utilisateur au rôle d'​administrateur. 
- 
-Rapportez-vous à la section [[#​comment_assigner_le_role_d_administrateur_a_un_compte_d_utilisateur|"​Comment assigner le rôle d'​administrateur à un compte d'​utilisateur ?"]] pour apprendre comment promouvoir un compte d'​utilisateur existant au rôle d'​administrateur,​ ou à la section [[:​sudoers#​ajout_ou_retrait_de_privileges_a_un_compte_d_utilisateur_ou_un_groupe_d_utilisateurs|"​Ajout ou retrait de privilèges à un compte d'​utilisateur ou un groupe d'​utilisateurs"​]] pour configurer plus finement les privilèges accordés par l'​utilitaire ''​sudo''​. 
- 
- 
-===== Utilisation ===== 
-<note important>​Si vous utilisez le protocole d'​affichage [[:​Wayland]] (protocole d'​affichage par défaut à partir d'​Ubuntu [[:​artful|17.10]] avec l'​environnement [[:GNOME Shell]]), les manipulations qui suivent ne fonctionneront pas toutes : reportez-vous à [[:​wayland#​impossible_de_lancer_une_application_comme_admin|ce paragraphe de la page dédiée]] pour contourner le problème.</​note>​ 
- 
-==== Exécuter une application graphique (Ubuntu, Xubuntu) ==== 
- 
-  - L'​utilitaire **gksudo** (ou **gksu**) n'est pas installé par défaut dans les [[:​versions]] d'​Ubuntu [[:​trusty|Trusty 14.04]] et au-delà. [[:​tutoriel/​comment_installer_un_paquet|Installez le paquet]] **[[apt>​gksu]]** 
-  - Appuyez sur les touches [ALT]+[F2] de votre clavier pour ouvrir une invite d'​exécution de programme; 
-  - Saisissez l'​instruction suivante pour exécuter le programme de votre choix à travers l'​utilitaire **gksudo** ou **gksu**: <​code>​gksudo "nom du programme"</​code>​ \\ {{  :​sudo-gksudo1.png?​300 ​ |Saisissez l'​instruction sous la forme « gksudo "nom du programme"​ » (ex : « gksudo "​update-manager"​ »). }} {{ :​sudo-gksudo1-1.png?​300 |Saisissez l'​instruction sous la forme « gksudo nom du programme » (ex : « gksudo xdg-open /​etc/​default/​grub »).}} 
-  - Cliquez sur le résultat; 
-  - Un dialogue de saisie de mot de passe s'​affiche. Saisissez le mot de passe de votre compte d'​utilisateur actuel. \\ {{  :​sudo-gksudo2.png?​300 ​ |Saisissez *votre* mot de passe.}} \\ 
-Si vous n'avez pas entré un mot de passe erroné, votre programme se charge en mode privilégié. En cas d'​erreur dans votre mot de passe, recommencez les opérations ci-dessus. \\ Lors du succès de l'​authentification,​ les tâches administratives sont débloquées pour une durée de 15 minutes : \\ votre mot de passe ne vous sera pas demandé dans les 15 minutes suivantes pour effectuer d'​autres tâches administratives. 
- 
-==== Exécuter une application graphique (Kubuntu) ==== 
- 
-  - Appuyez sur les touches [ALT]+[F2] de votre clavier pour ouvrir une invite d'​exécution de programme ; \\ \\  
-  - Saisissez l'​instruction suivante pour exécuter le programme de votre choix à travers l'​utilitaire **sudo** : <​code>​kdesudo "nom du programme"</​code>​Utilisez les guillemets anglais pour entourer le nom de votre programme, particulièrement si celui-ci utilise plusieurs arguments. \\ {{  :​sudo-kdesudo1.png?​300 ​ |Saisissez l'​instruction sous la forme « gksudo "nom du programme"​ » (ex : « kdesudo "​kpackagekit"​ »). }} \\ 
-  - Un dialogue de saisie de mot de passe s'​affiche. Saisissez le mot de passe de votre compte d'​utilisateur actuel. \\ {{  :​sudo-kdesudo2.png?​300 ​ |Saisissez *votre* mot de passe.}} \\ 
-Si vous n'avez pas entré un mot de passe erroné, votre programme se charge en mode privilégié. En cas d'​erreur dans votre mot de passe, recommencez les opérations ci-dessus. Lors du succès de l'​authentification,​ les tâches administratives sont débloquées pour une durée de 15 minutes : votre mot de passe ne vous sera pas demandé dans les 15 minutes suivantes pour effectuer d'​autres tâches administratives. 
- 
- 
-==== Exécuter une application graphique sous 14.04 et versions ultérieures ==== 
- 
-Dans un [[:​terminal|terminal]],​ saisissez la commande suivante :​ <​code>​pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY "nom du programme"</​code>​ 
- 
- 
-==== Exécuter une application ou une commande en console (toutes variantes) ==== 
- 
-  - Ouvrez [[:​terminal|une fenêtre de terminal]] ; \\ {{  :​sudo-sudo1.png?​300 ​ |Ouvrez une fenêtre de terminal dans Ubuntu}} \\ 
-  - Saisissez l'​instruction suivante pour exécuter une commande en mode console à travers l'​utilitaire **sudo**, puis appuyez sur la touche [Entrée] de votre clavier : <​code>​sudo <​commande></​code>​Inscrivez votre commande sans les crochets, même si votre commande contient plusieurs arguments. \\ {{  :​sudo-sudo2.png?​300 ​ |Saisissez l'​instruction sous la forme « sudo <​commande>​ » (ex : « sudo apt-get update »). }} \\ 
-   - Un dialogue de saisie de mot de passe s'​affiche. Saisissez le mot de passe de votre compte d'​utilisateur actuel. Aucun caractère n'​apparaît lorsque vous saisissez des caractères sur votre clavier ; ceci est normal. Même si rien n'​apparaît à l'​écran,​ votre mot de passe est pris en compte. 
-Si vous n'avez pas entré un mot de passe erroné, votre commande s'​exécute immédiatement en mode privilégié. En cas d'​erreur dans votre mot de passe, recommencez les opérations ci-dessus. Lors du succès de l'​authentification,​ les tâches administratives sont débloquées pour une durée de 15 minutes : votre mot de passe ne vous sera pas demandé dans les 15 minutes suivantes pour effectuer d'​autres tâches administratives. 
- 
- 
-==== Quand doit-on utiliser sudo/​gksudo/​kdesudo ? ==== 
- 
-**La règle est simple :** 
-  * Pour exécuter un programme en mode //​graphique//,​ utilisez **gksudo** (Ubuntu et Xubuntu) ou **kdesudo** (Kubuntu) ; 
-  * Pour exécuter une commande en mode console, utilisez **sudo**. 
- 
-<note tip>​**Prenez de bonnes habitudes !** \\ À l'​heure actuelle, on trouve plusieurs fois dans cette documentation,​ dans le forum et dans le planet l'​instruction ''​sudo <​commande>''​ pour exécuter de nombreux programmes en mode graphique avec des privilèges d'​administration. \\ Bien que ceci fonctionne quand même pour de nombreux programmes, vous devriez prendre l'​habitude de lui préférer ''​gksudo''​ ou ''​kdesudo''​. \\ Utiliser ''​sudo''​ pour exécuter des applications en mode graphique peut causer des problèmes dans votre session utilisateur courante, vous empêchant de poursuivre votre travail.((''​gksudo''​ paramètre le dossier personnel (la variable d'​environnement ''​$HOME''​) pour l'​application exécutée en mode privilégiée à ///root// plutôt qu'à ///​home/<​identifiant>//​ et copie le fichier ''​.Xauthority''​ dans un dossier temporaire. \\ Ceci empêche que des fichiers du dossier personnel de l'​utilisateur changent de propriétaire (et donc corrompent la session graphique en cours).))</​note>​ 
- 
-===== Comment assigner le rôle d'​administrateur à un compte d'​utilisateur ? ===== 
- 
-{{  :​sudo-promoadmin.png?​250|Promouvoir un compte d'​utilisateur au rang d'​administrateur dans Ubuntu 10.04 LTS}} 
- 
-Seuls les administrateurs sont habilités à effectuer des tâches administratives à travers l'​utilitaire ''​sudo''​. Pour augmenter les privilèges d'un compte d'​utilisateur,​ vous devez vous-même être d'​abord un administrateur. 
-Pour assigner le rôle d'​administrateur à un autre compte d'​utilisateur:​ 
-  * **Dans Ubuntu et Xubuntu :** utilisez [[:​users-admin#​changer_le_type_de_compte_d_utilisateur|le module de gestion des utilisateurs du panneau de configuration système]] pour modifier ses privilèges ; 
-  * **Dans Kubuntu :** utilisez [[:​kcmshell4_userconfig|le module de gestion des comptes d'​utilisateurs du panneau d'​administration de KDE]] pour modifier ses privilèges ; 
-  * **En mode console :** Ouvrez un terminal et exécutez la commande suivante : <​code>​sudo adduser <​identifiant>​ sudo</​code>​où ''<​identifiant>''​ doit être remplacé par l'​identifiant du compte d'​utilisateur (sans les <​chevrons>​) auquel des privilèges supplémentaires doivent être accordés. 
- 
-Notez que les changements de privilèges ne sont pas appliqués dès leur enregistrement. Ils ne sont appliqués que lorsque toutes les sessions en cours sont closes pour ce compte-là. À l'​ouverture de session suivante pour ce compte, les nouveaux privilèges sont pris en compte. 
- 
-Rapportez-vous à la section [[:​sudoers#​ajout_ou_retrait_de_privileges_a_un_compte_d_utilisateur_ou_un_groupe_d_utilisateurs|"​Ajout ou retrait de privilèges à un compte d'​utilisateur ou un groupe d'​utilisateurs"​]] pour configurer plus finement les privilèges accordés par l'​utilitaire ''​sudo''​. 
- 
-===== Aller plus loin ===== 
- 
-==== Configuration avancée de l'​utilitaire sudo ==== 
- 
-''​sudo''​ peut être paramétré finement pour autoriser ou refuser l'​exécution de tâches privilégiées. Plus que simplement autoriser l'​exécution de toutes les tâches administratives à un groupe d'​utilisateurs par l'​authentification par mot de passe, ''​sudo''​ peut être paramétré pour permettre à un utilisateur particulier ou un groupe d'​utilisateurs particulier d'​exécuter une ou des tâches bien précises, avec ou sans saisie du mot de passe. D'​autres paramètres,​ tels le délai d'​attente avant qu'une ré-authentification soit nécessaire,​ l'​endroit où est enregistré le journal d’événements et le niveau de courtoisie de ''​sudo'',​ sont aussi paramétrables. 
-  * //​**[[:​sudoers|Configuration avancée de /​etc/​sudoers]]**//​ 
- 
-==== Les avantages de sudo ==== 
- 
-Les avantages de l'​emploi de ''​sudo'',​ par opposition à l'​emploi direct d'un unique compte super-utilisateur (''​root''​),​ sont nombreux pour une utilisation dans un environnement domestique ou de PME/PMI : 
-  * L'​installateur d'​Ubuntu doit poser moins de questions. Ceci est particulièrement important pour le nouvel arrivant, qui peut ne pas être au courant de l'​utilité du compte super-utilisateur et de son potentiel dangereux ; 
-  * Les administrateurs n'ont pas à se souvenir d'un mot de passe supplémentaire,​ qu'ils peuvent facilement oublier, ou compromettre la sécurité du compte ''​root''​ par des mauvaises habitudes ; 
-  * Cela évite le comportement du « Je peux tout faire sur ma machine » : \\ avant d'​effectuer une action d'​administration,​ Ubuntu vous demande votre mot de passe, ce qui devrait faire réfléchir les administrateurs aux conséquences de leur action ; 
-  * ''​sudo''​ conserve une trace de toutes les commandes exécutées. Si un problème apparaît, vous pourrez toujours consulter ce journal afin de retrouver la commande ayant causé le problème ; 
-  * Tous les pirates tentant de pénétrer par la force brute votre système savent qu'il existe un compte appelé ''​root''​ et essaieront de pirater celui-ci d'​abord. Ils ne connaissent pas les identifiants des autres utilisateurs de votre ordinateur ; 
-  * Ceci permet un transfert rapide des droits d'​administration,​ autant pour du long que pour du court terme, par le simple ajout ou retrait d'un utilisateur dans le groupe d'​administration. Le tout, sans compromettre la sécurité de votre environnement informatique par le partage d'un mot de passe unique pour le compte ''​root''​ ; 
-  * ''​sudo''​ peut être configuré avec une politique bien plus affinée. 
- 
-==== « sudo » n'​est-il pas moins sécurisé que « su root » ? ==== 
- 
-Le modèle de sécurité à la base est le même, et les deux modèles partagent une même faiblesse. Tout utilisateur utilisant ''​su root''​ ou ''​sudo''​ pour effectuer des tâches administratives doit être considéré comme un utilisateur privilégié. \\ Si le compte de l'​utilisateur est compromis par un attaquant, celui-ci peut aussi obtenir une élévation de privilèges et compromettre le système d'​exploitation. \\ Les utilisateurs ayant les droits d'​administration doivent être protégés avec les mêmes soins que le compte super-utilisateur. 
- 
-Sur une note plus ésotérique,​ on remarque que ''​sudo''​ encourage la modification des habitudes de travail, qui peuvent provoquer un impact positif sur la sécurité du système d'​exploitation. \\ ''​sudo''​ est habituellement utilisé pour exécuter une commande unique, alors que ''​su root''​ est souvent utilisé pour exécuter un terminal ''​root''​ et exécuter des multiples commandes. \\ L'​approche de ''​sudo''​ réduit la possibilité qu'un terminal ''​root''​ soit laissé ouvert indéfiniment sur le poste de travail et encourage l'​utilisateur à minimiser son utilisation des privilèges d'​administration. 
- 
-==== Observer le journal des tâches exécutées précédemment par « sudo » ==== 
- 
-L'​ensemble des actions exécutées à travers l'​utilitaire ''​sudo''​ -- qu'​elles s'​accomplissent avec succès ou échec --  sont journalisées. Elles sont inscrites dans le fichier de journal ///​var/​log/​**auth.log**//​. 
- 
-==== Ouvrir un terminal en mode root ==== 
- 
-Utiliser ''​sudo''​ pour exécuter une seule commande ne cause pas un réel désagrément,​ mais il peut être désagréable de l'​utiliser pour exécuter une longue procédure nécessitant plusieurs interventions en mode super-utilisateur (''​root''​). \\ L'​ouverture d'un terminal en mode ''​root''​ permet d'​éviter d'​avoir à appeler ''​sudo''​ à chacune des étapes de cette procédure, sans avoir à activer l'​accès au compte d'​utilisateur ''​root''​. \\ L'​inconvénient de cette méthode est qu'​aucune trace des actions posées n'est inscrite dans le journal de ''​sudo''​ (sinon l'​ouverture du terminal ''​root''​ lui-même). Il est déconseillé d'​ouvrir un terminal ''​root''​. 
- 
-Pour vous servir d'un terminal ''​root''​ : 
-  - Ouvrez [[:​terminal|une fenêtre de terminal]] ; 
-  - Saisissez la commande suivante : <code bash>​utilisateur@ordinateur:​~$ sudo -i</​code>​ 
-  - Saisissez votre mot de passe à l'​invite de saisie de mot de passe ; 
-  - Exécutez votre série de commandes d'​administration ; 
-  - Fermez la session ''​root''​ : <code bash>​root@ordinateur:​~#​ exit</​code>​ ou ''​Ctrl+D''​ 
- 
-==== Rediriger un flux avec « sudo » ==== 
- 
-''​sudo''​ pose //a priori// des problèmes pour la redirection de flux dans une console. Par exemple, la redirection suivante ne fonctionnera pas : <code bash>​utilisateur@ordinateur:​~$ sudo echo 2 > /​proc/​acpi/​thermal_zone/​ATF0/​polling_frequency</​code>​La raison de cet échec est que ''​sudo''​ n'​exécute que la première tâche (''​echo 2''​) avec l'​identité empruntée ; la redirection,​ elle, est effectuée en mode utilisateur uniquement. 
- 
-La solution, pour contourner cette limitation, est d'​appeler un nouvel interpréteur de commandes et de lui faire exécuter votre redirection de flux. Par exemple : <code bash>​utilisateur@ordinateur:​~$ sudo sh -c 'echo 2 > /​proc/​acpi/​thermal_zone/​ATF0/​polling_frequency'</​code>​De cette manière, c'est tout l'​interpréteur ''​sh''​ et la commande passée en argument qui est exécutée avec l'​identité empruntée. 
- 
-===== Les comptes super-utilisateurs d'​applications particulières ===== 
- 
-Certains programmes ou services nécessitent des comptes super-utilisateurs. C'est généralement le cas avec des systèmes de bases de données (comme MySQL). Prenez note que ce compte super-utilisateur est indépendant de celui du système d'​exploitation : il est unique au programme ou service en particulier. 
-Si un tel programme ou service nécessite un compte super-utilisateur,​ vous devez paramétrer ce compte avec les outils qu'il fournit. À ce sujet, rapportez-vous aux documents d'aide relatifs à chacune de vos applications concernées. 
- 
-===== À lire aussi ===== 
- 
-  * [[:​sudo-annexe|Annexe de cette page]] 
-  * [[:​tutoriel:​comment_eviter_root_quand_c_est_possible|Éviter de lancer une commande en tant qu'​administrateur lorsque c'est possible]] 
-  * **(en) [[http://​www.sudo.ws|Site officiel du projet "​sudo"​]]** 
-  * **(en)** [[http://​www.sudo.ws/​sudo/​sudoers.man.html|Sudoers Manual]] 
-  * **(en)** [[https://​help.ubuntu.com/​community/​RootSudo|RootSudo dans l'Aide d'​Ubuntu]] 
-  * **(fr)** [[wpfr>​Polkit|Polkit (anciennement PolicyKit)]],​ une autre méthode de gestion flexible des privilèges utilisateurs. 
- 
------ 
-//​Contributeurs : [[:​utilisateurs:​AlexandreP]],​ [[:​utilisateurs:​Chatalors]],​ [[:​utilisateurs:​Damocles]],​ [[:​utilisateurs:​Ju]],​ [[:​utilisateurs:​eagle08]],​ [[:​utilisateurs:​roschan]] 
-, ...// 
-</​del>​ 
  • utilisateurs/roschan/sudo.txt
  • Dernière modification: Le 08/06/2018, 19:21
  • par fabux