Root

Séb seb.bubuntu at gmail.com
Jeu 20 Nov 15:10:18 UTC 2008


Bruno Patri wrote:
> Le Thursday 20 November 2008 11:37:43 Séb, vous avez écrit :
> [snip]
>> La commande "su", qui requiert la connection directe au compte root, ne
>> peut donc pas fonctionner par défaut sous Ubuntu. Au passage, Cela n'a
>> donc rien à voir avec le fait "qu'on ne sache pas quel mot de passe
>> mettre"... puisqu'on vient de voir qu'il n'y en avait pas!
> 
> La commande su, qui signifie « Substitute User » (changer d'utilisateur) 
> marche parfaitement sur UbUntu comme sur toute distribution Linux. Il suffit 
> de faire :
> 
> su nom_utilisateur
> 
> pour s'en rendre compte. Si la commande su est invoquée sans nom d'utilisateur 
> en argument, c'est alors root (en fait l'UID 0) qui sera utilisé ; pour la 
> raison invoqué plus haut, cela ne marche pas sous Ubuntu.
>

Effectivement, je ne parlais que de l'utilisation de "su" que dans le
but d'acquérir les droits "root"... Mais tu as tout à fait raison sur le
fond.
Pour être correct, j'aurais donc dû parler de "su root".


>> En revanche, la commande sudo permet à certains utilisateurs désignés
>> (dont le premier utilisateur créé) d'exécuter des commandes avec les
>> droits de "root" (et c'est là qu'est toute la nuance!)... il n'y a donc
>> pas de connection directe au compte root! C'est pourquoi la commande
>> sudo marche!
> 
> Même chose pour sudo. De nombreuses documentations erronées (y compris celle 
> d'Ubuntu) affirment que sudo signifie « Super User DO » alors que cela 
> signifie en réalité « Substitute User DO ». Le fonctionnement est tout à fait 
> similaire à la commande su. Voir les pages de manuel des deux commandes.
> 
> La particularités de sudo est d'utiliser le fichier de configuration sudoers. 
> C'est lui qui permet en réalité à un utilisateur ou à un groupe d'utilisateur 
> de se substituer à root. 
> 

Merci pour ces précisions, j'étais d'ailleurs le premier à penser que
sudo venait de "Super User DO"! (tout en pensant que su signifiait
"Switch User"...)
Cela dit, le comportement par défaut (i.e. sans l'option "-u") de sudo
tient plus du "Super User DO" que du "Substitute User DO". D'où ma
méprise et celle de tant d'autres j'imagine.


>> Quid alors du "sudo su" qui donne accès au compte root malgré tout?
>> C'est juste que "sudo su" n'utilise simplement pas de connection directe
>> au compte root !..?
> 
> Faire sudo su me paraît aberrant compte tenu de la similarité de ces deux 
> commandes. Si je veux me placer dans un shell en tant que root je tape :
> 
> sudo -s

sudo su me parait aussi assez tordu, je ne fesais que reprendre la
commande ennoncée par Laurent...

>> "sudo" = exécuter une commande en tant que root
> 
> non pas forcément

Effectivement, cf plus haut
"sudo" sans l'utilisation de l'option "-u" = exécuter une commande en
tant que "uid=0" (c'est à dire root) aurait été plus précis/correct...


>> "su" = devenir root (ou n'importe quel utilisateur -non désactivé-
>> d'ailleurs)
> 
> oui, tout comme sudo
>

Si on veut être précis jusqu'au bout, le comportement "devenir root"
(dans le sens "se placer dans un shell en tant que root") à l'aide de
sudo nécessite l'option -s :)

Bref, cela illustre bien la subtilité entre "su" et "sudo"!

Séb






Plus d'informations sur la liste de diffusion ubuntu-fr