GNU/Linux >> LINUX-Kenntnisse >  >> Linux

sudo gegen gksudo. Unterschied?

gksudo ist ein GTK-basiertes Frontend von sudo (Übrigens, kdesudo ist ein Qt-basiertes Frontend), verarbeitet jedoch (standardmäßig) mehr Umgebungsvariablen (HOME). , XAUTHORITY usw.) als sudo Dadurch wird das Ausführen von Befehlen als root sicherer.

Soweit ich sehen kann, ist nur die Antwort von @Logic richtig genug (@Ignacio Vazquez-Abrams ist nicht vollständig). Hier ist die zu vermeidende Klarstellung zu @Davros @knitti Antworten/Kommentaren (Bitte entfernen/bearbeiten Sie sie, wenn sie nicht benötigt werden):

  1. Obwohl beide Befehle tatsächlich sudo darstellen , die verwendete Benutzeroberfläche ist NICHT der einzige Unterschied zwischen den beiden Befehlen.
  2. Das Ausführen eines GUI-Programms ist NICHT die einzige Situation, in der Sie gk/kdesudo verwenden sollten, stattdessen sollten Sie gk/kdesudo immer dann verwenden, wenn Sie nicht feststellen können, ob der Befehl Dateien in Ihrem Home-Verzeichnis erstellen/schreiben wird (wobei der HOME Umgebungsvariable zeigt auf sudo Befehl in einigen Systemen und Situationen). Nicht alle GUI-Apps schreiben in Ihr Home-Verzeichnis und nicht alle CLI-Apps , also ist die Art des Befehls nicht der entscheidende Punkt.
  3. Du kannst es immer noch Verwenden Sie sudo Befehl zum Starten von GUI-Apps als Root (um beispielsweise die Konsolenausgabe von Apps anzuzeigen), Sie müssen jedoch mit HOME umgehen (und andere wie XAUTHORITY , DISPLAY , Input-Method-related-Zeug usw.) Umgebungsvariablen korrekt, damit die gestartete App nicht fehlschlägt, Funktionalität verliert oder wirklich schlechte Sachen macht. Das Folgende ist meine aktuelle Empfehlung für die Verwendung von sudo
    • sudo -H <rest of the command>
      • (von sudo Abschnitt 8 Handbuchseite) Der -H ( HOME ) Option verlangt, dass die Sicherheitsrichtlinie den HOME setzt Umgebungsvariable in das Home-Verzeichnis des Zielbenutzers (standardmäßig root) wie von der Passwortdatenbank angegeben. Je nach Richtlinie kann dies das Standardverhalten sein.
      • Dies sollte zumindest verhindern, dass Dateien in sudo erstellt werden Heimatverzeichnis des Anrufers
    • sudo -H DISPLAY=<a working X display name, usually :0> <rest of a GUI program command>
      • Dadurch sollte in einem TTY-Terminal ausgeführt und in Ihrer Desktop-Umgebung angezeigt werden
  4. Das Verhalten von sudo Befehl ist nicht auf allen Systemen identisch und kann über visudo konfiguriert werden Befehl finden Sie unter sudoers(5) Manpage für weitere Informationen.

sudo fragt auf der Kommandozeile nach dem Passwort und gksudo öffnet ein Dialogfeld dafür.


Die Verwendung von regulärem sudo zum Ausführen von grafischen Programmen wird in seltenen Fällen die Berechtigungen für einige Dateien durcheinander bringen. Sicherheitshalber sollte gksudo (bzw. kdesudo) zum Ausführen von Programmen mit GUI verwendet werden. Ich denke, das ist wirklich ein Fehler, obwohl ich Erklärungen gehört habe, dass gksudo X-Server-Variablen versteht und sudo möglicherweise nicht zu Problemen führt. Nur als Tipp; Wenn Sie grafische Programme als root ausführen, geben Sie, anstatt ein Terminal für jedes auszuführende Programm zu öffnen, ALT-F2 (alt und Funktionstaste 2 gleichzeitig) ein und geben Sie dann in das Dialogfeld ein, das "gksudo program" ohne Anführungszeichen und program ersetzt durch die Anwendung, die Sie ausführen möchten.


Linux
  1. Installieren Sie Qt unter Ubuntu

  2. sudo -k vs. sudo -K

  3. Gechrootete SFTP-Benutzerschreibberechtigungen

  4. mv:kann nicht nach Hause wechseln-alt:Gerät oder Ressource ausgelastet

  5. su - Benutzer Vs sudo su - Benutzer

Der Unterschied zwischen sudo und su erklärt

Sudo-Befehl unter Linux

Verstehen des Unterschieds zwischen dem Befehl sudo und su unter Linux

So migrieren Sie das HOME-Verzeichnis unter Linux

Unterschied zwischen su und sudo und So konfigurieren Sie sudo in Linux VPS.

Wie kann ich eine unbekannte 1,5-GB-Datei namens sudo in meinem Linux-Home-Verzeichnis untersuchen?