La différence entre sudo et gksu est-elle identique à celle entre sudo -i et sudo -s?

26

La différence entre sudo cmd et gksu cmd est-elle identique à la différence
entre le démarrage d'un shell avec sudo -i et sudo -s ?

... ou en d'autres termes,
Est-ce que sudo cmd est identique à sudo -i cmd
et gksu cmd identique à sudo -s cmd ?

EDIT: d'après ce que j'ai lu sur une page de documentation Ubuntu où il est indiqué:

You should never use normal sudo to start graphical applications as root.  
You should use gksudo (kdesudo on Kubuntu) to run such programs. gksudo sets  
HOME=~root, and copies .Xauthority to a tmp directory. This prevents files  
in your home directory becoming owned by root.  
(AFAICT, this is all that's special about the environment of the started   
 process with gksudo vs. sudo).

Les "AFAICT" ne me donnent pas vraiment l'assurance qu'il n'y a rien de plus.

(.. une mise à jour tardive: j'ai testé son engagement aujourd'hui (2 mois plus tard) sur:
"Cela évite que les fichiers de votre répertoire personnel deviennent la propriété de root."
Tous les fichiers que j'ai créés via sudo / gksu appartenaient tous à " racine " et le groupe était intitulé " racine ".)

J'ai lu des parties de info sudo et j'ai remarqué que les -i et -s semblaient faire la même chose que le problème environnemental AFAICT . ..
mais je frappe la surcharge .. alors j'ai posé ma question ici.

PS .. Ma question ne concerne pas sudo vs Gksu
.. Il s’agit plus de: gksu est-il identique à sudo -s
.. et si non, en quoi diffèrent-ils?

    
posée Peter.O 06.11.2010 - 22:02
la source

4 réponses

16

gksu est fondamentalement une interface graphique pour sudo qui permet d’exécuter une commande graphique sans avoir à exécuter un émulateur de terminal X et à utiliser su directement. En réalité, il s’agit simplement d’un skin GTK + pour les commandes de superutilisateur.

Ainsi, si vous souhaitez exécuter un programme basé sur une interface graphique en tant que root, vous l'invoquerez avec gksu cmd , plutôt que sudo cmd , qui est utilisé pour appeler des programmes de console en tant que root.

    
réponse donnée Chris Wilson 06.11.2010 - 22:30
la source
10

sudo -i réinitialise l'environnement de connexion à l'utilisateur cible ( root , dans ce cas). En règle générale, la variable d'environnement HOME est modifiée, ce qui signifie que le ~/.bashrc de l'utilisateur cible est chargé.

gksu est donc similaire à sudo -i dans le sens où il bascule $HOME vers l'utilisateur root .

    
réponse donnée Kees Cook 07.11.2010 - 07:13
la source
5

Ce n’est pas vraiment une réponse, mais cela peut être intéressant ...
Je commence à avoir une idée de ce qui se passe avec ces commandes su,
mais je n'en suis pas encore là ... J'utilise gksu ... C'est plus un voyage de compréhension pour moi ... et je ne veux pas savoir si gksu est valide pour konsole ou kate , ou si doit J'utilise la variante KDE kdesu ..

Voici quelques résultats de tests que je viens d'essayer.

From user fred's terminal, launch gnome-terminal

su style   resulting            custom   (ls)   new file
command    prompt               prompt   home   ownership
---------  -------------------- -------  -----  ----------
sudo      [email protected]:~#           fred's   fred   root
gksu       [email protected]:/home/fred#  root's   fred   root
sudo -i    [email protected]:~#           root's   root   root
sudo -s   [email protected]:~#           fred's   fred   root

Ces résultats ne concordent pas avec la page de documentation Ubuntu , où il est indiqué:

 This prevents files in your home directory becoming owned by root

UPDATE: Les variables XAUTHORITY env des sudo et des gksu invoqués sont différentes (comme indiqué dans la page de documentation Ubuntu ). ..

sudo    #### XAUTHORITY=/var/run/gdm/auth-for-fred-RsngLK/database
sudo -i #### XAUTHORITY=/var/run/gdm/auth-for-fred-RsngLK/database
sudo -s #### XAUTHORITY=/var/run/gdm/auth-for-fred-RsngLK/database
gksu    #### XAUTHORITY=/tmp/libgksu-xR2OGn/.Xauthority   

Cela montre que gksu n'est certainement pas la même chose que la commande sudo -s à laquelle j'ai fait référence dans la question ... et répond donc à ma question otiginale (d'une manière encore obscure) ... et la réponse de Chris a certainement eu moi penser dur sur celui-ci! ... j'ai besoin d'un café !!

    
réponse donnée Peter.O 07.11.2010 - 01:13
la source
3

sudo est destiné aux applications en ligne de commande, gksu / gksudo aux applications graphiques

    
réponse donnée karthick87 07.11.2010 - 05:47
la source

Lire d'autres questions sur les étiquettes