Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !


Sudo

Toutes versions

Maintenu et adapté de sudo par Id2ndR.

Sudo permet d'executer une commande en tant qu'un autre utilisateur.

Cette documentation est accessible sous les deux formes suivantes. Les rédacteurs n'étant pas d'accord sur le choix de l'une des deux, vous pouvez choisir à votre convenance.
  1. un ensemble de plusieurs pages traitant chacune d'un problème différent. Vous êtes actuellement sur la page principale de cet ensemble.

Devant le nombre impressionnant1) de personnes affectant un mot de passe au compte root2) sous Ubuntu, essayons d'expliquer comment Ubuntu gère les droits d'administration et expliquons le fonctionnement de sudo et gksudo/kdesu.

Ce document s'adresse à vous si vous vous êtes déjà exclamé:

  • "Comment effectuer des tâches administratives sous Ubuntu?"
  • "À l'installation, on ne m'a pas demandé le mot de passe root"
  • "su ne fonctionne pas, Ubuntu c'est compliqué"
  • "Ubuntu c'est nul, je peux pas faire facilement mes tâches d'administration comme sous d'autres distributions."

Vous devriez comprendre le pourquoi du comment…

  • La page sur laquelle vous êtes actuellement précise les généralités sur sudo.
  • La page ajout détaille comment ajouter un utilisateur au groupe d'administration.
  • La page avantages présente les avantages, inconvénients, les slogans et les mythes à propos de sudo.
  • La page options détaille quelques options de configuration.

Pour comprendre la présence d'un outil tel que sudo, il faut d'abord comprendre la notion de superutilisateur : qui est-il et quel est son rôle ?

À propos du superutilisateur...

  • Le système d'exploitation a besoin d'un compte privilégié afin de réaliser certaines tâches particulières (souvent des tâches administratives et sensibles, pouvant corrompre le système). C'est à cela qu'est dévolu le compte superutilisateur, communément appelé root.
  • Comme le superutilisateur a la possibilité de corrompre le système, il est dangereux de toujours être connecté sous cette identité. Pour tous les systèmes d'exploitation récents (Unix depuis sa création en 1969, Windows NT4/2000/XP3), Mac OS X), il y a une séparation entre le compte système et les comptes utilisateurs. Ils sont distincts.

... et de sudo

Toutefois, l'utilisateur peut parfois nécessiter d'effectuer certaines tâches administratives, particulièrement lors de la résolution de problèmes de fonctionnement du système. L'utilitaire sudo (pour "superuser do") permet à un administrateur système de donner à un utilisateur (ou un groupe d'utilisateurs) la possibilité d'exécuter une ou toutes les commandes en tant que superutilisateur, tout en gardant une trace des commandes tapées et des arguments. (Plus d'informations à propos de ''sudo'')

Par défaut, le mot de passe du compte superutilisateur est bloqué sous Ubuntu. Ceci signifie donc que vous ne pouvez pas vous connecter en tant que root ou utiliser la commande su4). L'installateur de Ubuntu configure plutôt l'utilitaire sudo de façon à ce que l'utilisateur créé durant l'installation puisse effectuer toutes les tâches administratives.

Autrement dit, vous pouvez utiliser la commande sudo pour effectuer les tâches nécessitant les privilèges du superutilisateur. Tous les programmes d'administration dans les menus d'applications utilisent un système graphique associé à sudo (gksudo sous GNOME et kdesu sous KDE) vous demandant votre mot de passe pour s'exécuter; que ce soient gksudo, kdesu ou sudo dans un terminal qui vous demandent un mot de passe, c'est VOTRE mot de passe utilisateur qui est requis.

Aucun mot de passe n'est associé au compte root et root n'en a pas besoin.

L'utilitaire sudo s'utilise en ligne de commande, dans un terminal. Il sert à exécuter, en mode superutilisateur, des commandes ou des applications en console. Pour lancer des applications graphiques avec les privilèges d'administration, il est de mise d'utiliser les pendants graphiques gksudo, pour GNOME, ou kdesu, pour KDE.

sudo

sudo s'utilise de la manière suivante :

$ sudo <commande>

Ainsi, vous devrez faire précéder chacune de vos commandes à exécuter en mode superutilisateur de sudo.

Le mot de passe demandé est celui de l'utilisateur courant. La commande sera exécutée si le mot de passe entré est correct et que l'utilisateur courant peut effectuer des tâches d'administration. Le mot de passe est mémorisé pour une durée de 15 minutes; au bout de ce laps de temps, il faudra entrer de nouveau le mot de passe. Pour terminer la session sudo avant la fin des 15 minutes, entrez la commande:

$ sudo -k

Lorsque de nombreuses commandes sont à entrer, vous pouvez ouvrir un terminal en mode superutilisateur.

gksudo

gksudo est le pendant graphique de sudo pour l'environnement GNOME. Il est utilisé par toutes les applications du menu Système → Administration, nécessitant les droits d'administration afin d'être lancées. Il s'utilise de la même façon que sudo, c'est-à-dire que gksudo doit précéder la commande ou l'application à lancer. gksudo.jpg

gksudo peut être utilisé, par exemple, avec un lanceur, pour lancer une application qui a besoin des droits du superutilisateur pour s'exécuter. Lorsque gksudo est appelé, une fenêtre de saisie de mot de passe est affichée à l'écran. Tout comme pour sudo, c'est le mot de passe de l'utilisateur courant qui est requis. L'application ou la commande ne sera exécutée que si le mot de passe est correct et que l'utilisateur peut exécuter des tâches d'administration.

Attention: exécuter par un simple double-clic une commande ou un programme avec les privilèges d'administration est potentiellement dangereux! Par exemple, lancer Nautilus avec les droits du superutilisateur est vraiment risqué: une pression accidentelle sur la touche Suppr alors qu'un fichier ou un dossier vital au système d'exploitation est sélectionné pourrait casser complétement le système!

kdesu

kdesu est le pendant graphique de sudo pour l'environnement KDE. Il s'utilise de la même façon que gksudo pour GNOME.

Pour Kubuntu/KDE, il est d'autant plus important de ne pas affecter de mot de passe au compte root.

Le wiki anglophone de Ubuntu recommande de NE JAMAIS utiliser sudo pour lancer une application graphique. Vous devez toujours utiliser gksudo ou kdesu pour lancer de tels programmes; autrement, de nouvelles tentatives d'ouverture de programmes pourraient échouer.

La règle est donc simple :

  • Utiliser sudo pour les commandes et les programmes fonctionnant dans une console;
  • Utiliser gksudo ou kdesu pour les programmes graphique.

À l'heure actuelle, on retrouve de nombreuses fois dans cette documentation et dans le forum la commande sudo gedit pour lancer l'éditeur de texte gEdit avec les droits d'administration. Il serait grandement préférable de la subsituer par gksudo gedit (sous Ubuntu) et kdesu kate (sous Kubuntu). Toutefois, il faut noter que sudo gedit fonctionne sous Ubuntu, alors que sudo kate ne fonctionne pas sous Kubuntu.

Utiliser sudo pour lancer une commande ne pose pas un réel problème. Toutefois, il peut être plutôt désagréable de l'utiliser pour lancer une longue procédure nécessitant plusieurs interventions en mode superutilisateur. Dans ces cas, vous pouvez lancer un terminal superutilisateur, qui vous permettra alors de prendre l'identité de root. Vous n'aurez donc plus besoin de saisir sudo devant chacune des actions à effectuer pour la durée de cette session en console. Toutefois, aucune trace des actions posées n'est conservée en mémoire. Il est déconseillé d'ouvrir un terminal superutilisateur.

Pour entrer en mode superutilisateur, saisissez la commande suivante dans un terminal:

$ sudo -s

Pour quitter le mode superutilisateur, saisissez simplement, dans ce même terminal, l'instruction:

# exit


1)
ne serait-ce que deux personnes, deux est déjà un nombre impressionnant dans ce cas
2)
et certaines personnes conseillent d'affecter un mot de passe au compte root, ce qui ne suit pas du tout la logique de Ubuntu
3)
Toutefois, le compte utilisateur par défaut sous Windows XP possède les droits d'administration. Il est root.
4)
La commande su (pour "switch user") permet de changer d'identité, de prendre l'identité d'un autre utilisateur. Vous ne pouvez pas utiliser la commande su pour prendre l'identité du superutilisateur (su root). Toutefois, vous pouvez l'utiliser sans problème pour prendre l'identité d'un autre utilisateur enregistré de votre ordinateur (par exemple: su bob).
  • applications/sudo/generalites.1170806295.txt.gz
  • Dernière modification: Le 18/04/2011, 14:47
  • (modification externe)