Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/09/2008, à 09:36

Mr_D

sudo su -

Bonjour à toutes et à tous,

Lors de l'install d'un soft (open ERP) je constate que certains posts /tuto proposent une légère variante:

sudo su postgres

ou

sudo su - postgres

Je me demande donc quelle est la différence entre "sudo su" et sudo su -".

J'ai parcouru la doc:http://doc.ubuntu-fr.org/sudo
J'ai aussi lu le man (et oui!!!)
Ainsi que ce très bon post:http://forum.ubuntu-fr.org/viewtopic.php?id=142325

Le dernier lien donne cette explication:

sudo -s et sudo su font la même chose : ils se contentent de lancer le shell en tant que root. Il faut mieux utiliser sudo -i ou sudo su -, qui vont générer un environnement identique à celui que l'utilisateur cible aurait eu s'il s'était loggé initialement.

Mais je ne comprend pas, "sudo su - va générer un environement identique à celui que l'utilisateur cible aurai eu si il s'était loggé initialement".
Qui est l'utilisateur cible? root ou bien mon user avec des droits de root?

Merci de vos lumière

David (dans le brouillard)

Hors ligne

#2 Le 05/09/2008, à 10:15

Hoper

Re : sudo su -

su -  : Passe root en lancant toute la procedure de connexion (.bashrc etc)
          Afin de vérifier que tu as le droit de passer root, su va te demander le mdp    de root

sudo su - : la commande sudo est lancée, cette commande va te demander TON mot de passe, pour te donner les droits root. Une fois que tu as obtenu les droits root, la commande su - est lancée. Autrement, en tant que root, tu demande a devenir root, en relancant les scripts d'environement -> tu es déja root,pas de soucis, une conexion root est relancée après execution des scripts.

"sudo su - " a au final le meme effet que "sudo -i"


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#3 Le 05/09/2008, à 14:44

Mr_D

Re : sudo su -

Hello Hoper,

Donc si je t'ai bien suivi... (aie aie ) "sudo su -" est une double attribution des droits root...
De ce point de vue la commande n'est pas intéressante voir même exagérée.

Par contre (si j'ai bien compris), avec "sudo su" et "sudo -s" on change de user pour devenir root. On utilise donc son envirronement.

Par contre "sudo -i" (plus propre que "sudo su -") utilise l'envirronement de l'utilisateur et constitue plus une élévation des droits de l'utilisateur plutot qu'un changement d'untilisateur...


Suis je dans le bon?

Hoper a écrit :

su -  : Passe root en lancant toute la procedure de connexion (.bashrc etc)
          Afin de vérifier que tu as le droit de passer root, su va te demander le mdp    de root

sudo su - : la commande sudo est lancée, cette commande va te demander TON mot de passe, pour te donner les droits root. Une fois que tu as obtenu les droits root, la commande su - est lancée. Autrement, en tant que root, tu demande a devenir root, en relancant les scripts d'environement -> tu es déja root,pas de soucis, une conexion root est relancée après execution des scripts.

"sudo su - " a au final le meme effet que "sudo -i"

Hors ligne

#4 Le 05/09/2008, à 15:08

Hoper

Re : sudo su -

Presque, mais tu inverse les deux...

sudo -i, ou sudo su -  vont te donne les droits root ET son environement, alors que su tout court, ou sudo -s, te donne les droits root, mais PAS sont environnement.


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#5 Le 05/09/2008, à 22:09

Mr_D

Re : sudo su -

C'est bon de voir qu'on a pas tout compris et qu'il y a du chemin (parole de maso).

Blague à part, "sudo -s", si il ne prend pas l'environnement de root, prend t il celui de l'utilisateur courant ou bien prend t il un autre environnement?

En tout cas merci de m'avoir déjà répondu.

Bonne soirée et encore merci!

David

Hoper a écrit :

Presque, mais tu inverse les deux...

sudo -i, ou sudo su -  vont te donne les droits root ET son environement, alors que su tout court, ou sudo -s, te donne les droits root, mais PAS sont environnement.

Hors ligne

#6 Le 06/09/2008, à 00:44

Hoper

Re : sudo su -

Blague à part, "sudo -s", si il ne prend pas l'environnement de root, prend t il celui de l'utilisateur courant ou bien prend t il un autre environnement?

Il n'en prend aucun. Donc en fait tu garde l'actuel... (car tu n'ouvre pas de nouvelles connexion, en réalité tu change juste ton "effective ID = EUID)  autrement dit, tu conserve l'environnement de l'utilisateur courant, celui qui a lancé la commande sudo -s.


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#7 Le 06/09/2008, à 11:30

Mr_D

Re : sudo su -

Merci pour ta réponse Hoper,

Celà me fait penser à un problèmme que j'ai rencontré.

En installant vmware server, il ne se lance qu'avec les droits root. DOnc je me dit que si au lieu de faire l'install sous root (sudo su), je devrais ptet bien là faire avec sudo -s...

A essayer

Merci de partager tes connaissances.

Hoper a écrit :

Blague à part, "sudo -s", si il ne prend pas l'environnement de root, prend t il celui de l'utilisateur courant ou bien prend t il un autre environnement?

Il n'en prend aucun. Donc en fait tu garde l'actuel... (car tu n'ouvre pas de nouvelles connexion, en réalité tu change juste ton "effective ID = EUID)  autrement dit, tu conserve l'environnement de l'utilisateur courant, celui qui a lancé la commande sudo -s.

Hors ligne