Bonjour fiers fédoristes. La question est dans le titre, quelle est la différence entre un su seul et un su avec tiret ?
julien@suse:~> su
Mot de passe :
suse:~ # exit
___________________

julien@suse:~> su -
Mot de passe :
suse:~ # exit
Sinon en passant, pourquoi le su - ne marche t-il pas dans ubuntu toutes versions ?
Oulà tu t'exposes à de nombreuses répliques cinglantes =)

Bon, je ne suis pas expert en la matière, mais si tu omets le "-", tu ne charges pas les variables d'environnement du root.
Si tu ne comprends pas les deux derniers mots, ne t'inquiètes pas : moi non plus ^^

D'ailleurs, y aurait-il une âme charitable qui pourrait nous apporter explication ?


Sinon, en repassant, peut-être que sous Ubuntu, la commande pour passer en root est différente (je ne sais pas, je n'ai jamais touché Ubuntu...). Ce qui expliquerait pourquoi "su" n'est pas reconnu...
D'ailleurs, essaie "apt-get" sous Fedora...
Valdes wrote:Sinon, en repassant, peut-être que sous Ubuntu, la commande pour passer en root est différente (je ne sais pas, je n'ai jamais touché Ubuntu...). Ce qui expliquerait pourquoi "su" n'est pas reconnu...
D'ailleurs, essaie "apt-get" sous Fedora...
xD je sais pas je pensais que su - était une commande assez universelle. Sous PCLOS, Suse, Fedora, Mandriva, Gentoo etc... ça fonctionne, mais sur la Xubuntu de mon père, il ne comprends que le sudo. Maintenant que j'y repense, pas de session root non plus. [acronym=Le monsieur riche qui donne gratuitement des CD d'Ubuntu]Mark Shuttleworth[/acronym] est-il allergique aux rootards ?
2,4-dinitrophénylhydrazine
Je la connaissais pas celle là ^^
Le plus universel de tout c'est

man :

man bash
man sh
man su

etc...
La petite histoire du su est racontee dans la doc presente sur ce site, suffit d'y faire un tour.
Pour répondre, si "su" n'est pas pigé par Ubuntu, c'est que, par défaut, Ubuntu ne demande pas de rentrer un mdp root.
Donc c'est sudo.

Sinon pour bien comprendre su/su -
Suffit de faire par exemple :
ifconfig (avec su)
Et le refaire avec su -.

Quand on met su -, on est direct dans le dossier /root. Sinon on reste dans le dossier où l'on était avant de faire "su", et ça bride des commandes (comme avec l'exemple d'ifconfig)
Pour information, la commande pour passer root sous Ubuntu est sudo -s
@fox Delta: j'ai cherché dans la doc rapidement et j'ai pas trouvé dsl, le fait est qu'on peut voir une des différences en procédant de la manière suivante :
slash@slashpc ~ $ su
Mot de passe : 
slashpc slash # echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
slash@slashpc ~ $ su -
Mot de passe : 
slashpc ~ # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/usr/kde/4.0/sbin:/usr/kde/4.0/bin:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin
On voit que le PATH ( l'endroit où les programmes sont recherché quand on fait tab tab) appartient aux variables d'environnement du root.
Ce qui fait qu'on a accès à aux programmes dans /sbin et /usr/sbin et autres rajouter directement sans taper le chemin complet.

Je ne sais pas quelles sont les autres variables modifiées... ni leurs influences.

Et le petit détail chez ubuntu et co, le compte root est bien actif, il n'a juste pas de mot de passe (donc interdit de se logguer), pour s'en convaincre tester un "sudo su -" ....
( je sais c'est pas bien :-P )

Edit : ultra grilled
Pas mal la démo slashdada ! 😉
J'avais jamais fait echo $PATH


[hs]Fan de Rurouni Kenshin ? 😉[/hs]
Pour faire concis, un simple su ne charge pas les variables environnements de root. Les variables environnement chargees sont donc celles de l'utilisateur depuis lequel root a ete invoque.

En revanche, un su - provoque la lecture du .bash_profile ou .bash_rc de root. Les variables environnement chargees sont alors celles de root, et non plus de l'utilisateur lambda.

En gros, avec su, on aura par defaut:
/bin
/usr/bin
/usr/local/bin
/home/lambda/bin
Avec su - on a alors:
/bin
/sbin
/opt/bin
/usr/bin
/usr/sbin
/usr/local/bin
/usr/local/sbin
plus d'autres que je n'ai pas pris la peine de chercher.
Le lien vers la doc est la.
Merci Fox Delta, c'était simplement dans la faq... pauvre de moi, mais pourquoi une recherche dans la doc avec "su" ou "sudo" ne revoit pas vers la doc ?

Dans le cas où le nombre de caractères est 3 minimum pour une recherche (comme ça l'était pendant un certain temps je crois) , je comprends que cela ne marche pas avec su mais pourquoi pas avec sudo ?

Edit: orthographe (1)
pour visualiser les variables d'environnement:
set
faites le avec su et su - vous comprendrez..

Quand à (kx)ubuntu c'est une volonté de leur part que root ne puisse pas se logger.
il faut donc en passer par un sudo, mais bon... si on fait sudo konsole (sous kde) ça fait quoi d'après vous? 🙂
slashdada wrote:Merci Fox Delta, c'était simplement dans la faq... pauvre de moi, mais pourquoi une recherche dans la doc avec "su" ou "sudo" ne revoit pas vers la doc ?
C'est tout de même assez surprenant que, fréquentant le forum depuis 2 ans, tu n'aies jamais noté ce point qui revient à peu près 3 fois par jour!