#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?
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 rootsudo 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
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.
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