it-swarm.com.de

Ist der Unterschied zwischen Sudo und gksu der gleiche wie der Unterschied zwischen Sudo -i und Sudo -s?

Ist der Unterschied zwischen Sudo cmd und gksu cmd der gleiche wie der Unterschied
zwischen dem Starten einer Shell mit Sudo -i und Sudo -s?

... oder anders ausgedrückt,
Ist Sudo cmd dasselbe wie Sudo -i cmd
und gksu cmd dasselbe wie Sudo -s cmd?

BEARBEITEN: Basierend auf dem, was ich auf einer buntu Documentation Page gelesen habe, wo es heißt:

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).

Das "AFAICT" gibt mir nicht wirklich die Gewissheit, dass nichts mehr dran ist.


(..a verspätet UPDATE: Ich habe sein Gedenken heute (2 Monate später) getestet über:
"Dies verhindert, dass Dateien in Ihrem Home-Verzeichnis root gehören."
Alle Dateien, die ich über Sudo/gksu erstellt habe, gehörten " root ", und die Gruppe war " root ".)


Ich habe Teile des info Sudo gelesen und festgestellt, dass -i und -s scheinen dasselbe zu tun wie AFAICT Umgebungsproblem ...
aber ich bin überlastet .. also habe ich meine Frage hier gestellt.

PS .. Meine Frage bezieht sich nicht auf Sudo vs gksu
.. Es geht eher um: Ist gksu dasselbe wie Sudo -s
.. und wenn nicht, wie unterscheiden sie sich?

26
Peter.O

gksu ist im Grunde ein grafisches Frontend für Sudo, mit dem grafische Befehle ausgeführt werden können, ohne dass ein X-Terminal-Emulator ausgeführt und su direkt verwendet werden muss. Es ist praktisch nur ein GTK + Skin für die Superuser-Befehle.

Wenn Sie also ein GUI-basiertes Programm als Root ausführen möchten, rufen Sie es mit gksu cmd und nicht mit Sudo cmd auf, das zum Aufrufen von Konsolenprogrammen als Root verwendet wird.

16
user2405

Sudo -i setzt die Anmeldeumgebung auf den Zielbenutzer zurück (root in diesem Fall). Hauptsächlich wird die Umgebungsvariable HOME geändert, was bedeutet, dass der ~/.bashrc des Zielbenutzers geladen wird.

gksu ist daher wie Sudo -i, dh wechselt $HOME zum Benutzer root.

10
Kees Cook

Dies ist keine wirkliche Antwort, kann aber von Interesse sein ...
Ich bekomme langsam eine Vorstellung davon, was mit diesen su-Befehlen passiert.
aber ich bin noch nicht ganz da ... Ich benutze gksu... Dies ist eher eine Reise des Verstehens für mich ... und ich möchte nicht verstehen, ob gksu für konsole oder kate gültig ist , oder muss Ich benutze die KDE-Variante kdesu ..

Hier sind einige Ergebnisse einiger Tests, die ich gerade ausprobiert habe.

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

Diese Ergebnisse stimmen nicht mit der buntu Documentation Page überein, wo steht:

 This prevents files in your home directory becoming owned by root

UPDATE: Die Variablen XAUTHORITY env für die aufgerufenen Terminals Sudo und gksu sind anders (wie auf der Ubuntu-Dokumentationsseite erwähnt) ..

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   

Dies zeigt, dass gksu definitiv nicht mit dem Sudo -s -Befehl identisch ist, auf den ich in der Frage Bezug genommen habe ... und daher meine ursprüngliche Frage (auf eine noch immer undurchsichtige Weise) beantwortet ... und Chris 'Antwort hat mich sicherlich zum Nachdenken gebracht auf diesem! ... Ich brauche einen Kaffee!!

5
Peter.O

Sudo ist für Befehlszeilen-Apps, gksu/gksudo für grafische Apps

3
karthick87