{{tag>administration sécurité sudo}}
------
====== Annexe à la page "Sudo : effectuez des tâches administratives" ======
===== Options utiles =====
* **sudo -k** termine une session sudo éventuellement ouverte, cela assure que la prochaine instruction sudo demandera bien un mot de passe.
* **sudo -s** ouvre le shell spécifié dans ''/etc/passwd'' pour l'utilisateur cible (root par défaut).
* **sudo -i** simule un login initial et ouvre le [[gnome-shell|shell]] spécifié dans ''/etc/passwd'' pour l'utilisateur cible (root par défaut). Cela signifie que des fichiers spécifiques tels que .login ou .profile seront lus par le shell ainsi lancé.
* **sudo -E** préserve l'environnement du [[gnome_shell|shell]] depuis lequel la commande est lancée
* **sudo -u foo** lance la commande en tant que l'utilisateur foo
* **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 titi ** permet de se connecter en tant que l'utilisateur titi (ne pas utiliser ces options pour root)
===== Activer et désactiver le compte root =====
* Activer le compte root est rarement nécessaire. Presque toutes les tâches d'administration auxquelles on est confronté sous Ubuntu peuvent être réalisées avec sudo ou gksudo. \\ Si le besoin d'un login en tant que ''root'' se fait ressentir, la meilleure alternative est de simuler un shell de login en tant que root à l'aide de la commande suivante: sudo -i
Il est possible de sortir de ce shell avec le raccourci //Ctrl-d// ou avec la commande suivante: exit
* Pour activer le compte root, i.e. lui donner un mot de passe (à vos risques et périls), on peut utiliser la commande suivante: sudo passwd root
Se loguer sous X (i.e. en mode graphique) 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.
* Désactiver un compte root précédemment activé: sudo usermod -p '!' root
===== Différences entre "sudo -i" et "sudo -s" et pourquoi il est préférable de ne jamais lancer "sudo su" =====
* Une démonstration valant bien des explications, 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): 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_*
* Voici les principales différences observées, dans le cas ou ces commandes sont lancées par l'utilisateur 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 etc…).
===== Voir aussi =====
* Documentation concernant [[:sudo|sudo]]
* (en) [[https://help.ubuntu.com/community/RootSudo#Special_notes_on_sudo_and_shells|Documentation du wiki anglophone à propos de sudo]]
----
//Contributeurs : [[utilisateurs:avelldiroll]], [[:utilisateurs:eagle08]]//