sudo vs gksudo. unterschied?
Was ist der Unterschied zwischen sudo
und gksudo
?
5 answers
sudo
fragt in der Befehlszeile nach dem Kennwort und gksudo
öffnet ein Dialogfeld dafür.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-10-23 17:24:07
gksudo
ist ein GTK-basiertes Frontend von sudo
(übrigens ist kdesudo
ein Qt-basiertes Frontend), behandelt jedoch (standardmäßig) mehr Umgebungsvariablen(HOME
, XAUTHORITY
, etc.) als sudo
, wodurch die Ausführung von Befehlen als root sicherer zu machen.
Soweit ich sehen kann, ist nur die Antwort von @Logics korrekt genug (@Ignacio Vazquez-Abrams ist nicht vollständig). Hier ist die Try-to-Avoid-Klarstellung zu @Davros @knitti Antwort / Kommentare (Bitte entfernen/bearbeiten Sie sie, wenn sie nicht benötigt werden):
- Obwohl beide Befehle tatsächlich
sudo
darstellen, ist die verwendete Benutzeroberfläche NICHT der einzige Unterschied der beiden Befehle. - Das Ausführen des GUI-Programms ist NICHT die einzige Situation, in der Sie gk/kdesudo verwenden sollten, stattdessen sollten Sie gk/kdesudo verwenden, wenn Sie nicht feststellen können, ob der Befehl Dateien in Ihr Home-Verzeichnis erstellt/schreibt (auf die die Umgebungsvariable
HOME
im Befehlsudo
in einigen Systemen und Situationen zeigt). Nicht alle GUI-Apps schreiben auf Ihre home directory und nicht alle CLI-Apps nicht, daher ist der Befehlstyp nicht der Schlüsselpunkt. - Sie noch kann verwenden Sie den Befehl
sudo
, um GUI-Apps als root zu starten (zum Anzeigen der Konsolenausgabe von Apps als Beispiel), Sie müssen jedochHOME
(und andere wieXAUTHORITY
,DISPLAY
, input-method-related-stuff usw.) Umgebungsvariablen korrekt, damit die gestartete App nicht fehlschlägt, die Funktionalität verliert oder wirklich schlechte Sachen macht. Folgendes ist meine aktuelle Empfehlung für die Verwendung vonsudo
-
sudo -H <rest of the command>
- (von
sudo
Abschnitt 8 Manualseite) Die Option-H ( HOME )
verlangt, dass die Sicherheitsrichtlinie die UmgebungsvariableHOME
wie in der Passwortdatenbank angegeben auf das Stammverzeichnis des Zielbenutzers (standardmäßig root) setzt. Abhängig von der Richtlinie kann dies das Standardverhalten sein. - Dies sollte zumindest verhindern, dass Dateien erstellt, in
sudo
Anrufer-home-directory
- (von
-
sudo -H DISPLAY=<a working X display name, usually :0> <rest of a GUI program command>
- Das sollte
in einem TTY-Terminal ausgeführt und in Ihrer Desktop-Umgebung angezeigt werden
- Das sollte
-
- Das Verhalten des Befehls
sudo
ist nicht auf allen Systemen identisch und kann über den Befehlvisudo
konfiguriert werden.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-03-09 06:31:18
Die Verwendung von normalem Sudo zum Ausführen grafischer Programme führt in seltenen Fällen zu einem Durcheinander von Berechtigungen für einige Dateien. Um sicher zu gehen, sollte gksudo (oder kdesudo) zum Ausführen von Programmen mit einer GUI verwendet werden. Ich denke, das ist wirklich ein Fehler, obwohl ich Erklärungen gehört habe, dass gksudo X-Servervariablen versteht und sudo möglicherweise nicht zu Problemen führt. Nur als Tipp; Wenn Sie grafische Programme als root ausführen, anstatt für jedes Programm, das Sie ausführen möchten, ein Terminal zu öffnen, geben Sie ALT-F2 ein (alt und Funktionstaste 2 gleichzeitig) und geben Sie dann das Dialogfeld ein, in dem "gksudo-Programm" angezeigt wird, ohne dass die Anführungszeichen und das Programm durch die Anwendung ersetzt werden, die Sie ausführen möchten.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-10-24 06:57:00
Sudo wird als aktueller Benutzer mit erhöhten Berechtigungen ausgeführt. Dies hat das Potenzial, die Dateiberechtigungen bestimmter Benutzerkonfigurationsdateien (in Bezug auf Ihre grafische Umgebung) beim Ausführen grafischer Apps zu ändern. Möglicherweise treten Fehler auf, wenn Sie diese Apps ohne sudo erneut ausführen.
Gksudo (kdesudo unter KDE) führt die Apps als Root-Benutzer aus, sodass alle Dateiberechtigungen für Root-Dateien und nicht für Benutzerdateien gelten. wenn Sie diese Apps erneut ohne gksudo/kdesudo ausführen, haben Sie immer die erwartetes Verhalten.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-01-07 21:17:40
Die aktuelle Antwort ist falsch. Nach Ubuntu RootSudo wiki - :
" Sie sollten niemals normales sudo verwenden, um grafische Anwendungen als root zu starten. Sie sollten gksudo (kdesudo auf Kubuntu) verwenden, um solche Programme auszuführen. gksudo setzt HOME=~root und kopiert .Xauth bezieht sich auf ein tmp-Verzeichnis. Dies verhindert, dass Dateien in Ihrem Home-Verzeichnis im Besitz von root werden. (AFAICT, das ist alles, was an der Umgebung des gestarteten Prozesses mit gksudo vs. sudo besonders ist.)"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-04-17 05:42:19