Verwenden von sudo für GUI-Anwendungen

10

Wenn ich kubuntu benutzte, konnte ich sudo katezum Beispiel immer X-Anwendungen mit sudo öffnen . Jetzt, wo ich zu Arch gewechselt bin, funktioniert das nicht mehr. Ich weiß, dass mir immer gesagt wurde, dass ich kdesu verwenden soll, aber welche Einstellung gibt es in kubuntu, mit der ich sudo für X-Apps verwenden kann, die mich daran hindern, es auf arch zu tun?

Edit :
Sorry, ich habe selbst gemacht was ich so sehr hasse> _ <

Das versuche ich zu tun:

[falmarri @ falmarri-z-arch Downloads] $ sudo kate
Passwort: 
Kein Protokoll angegeben
kate: kann keine Verbindung zum X-Server herstellen: 0.0

Beachten Sie, dass dies nur eine reguläre Terminalsitzung mit Konsole ist. Ich verwende kein SSH

/ etc / sudoers :

## sudoers Datei.
##
## Diese Datei MUSS mit dem Befehl 'visudo' als root bearbeitet werden.
## Wenn Sie 'visudo' nicht verwenden, kann dies zu Syntax- oder Dateiberechtigungsfehlern führen
## die verhindern, dass sudo läuft.
##
## Einzelheiten zum Schreiben einer Sudoers-Datei finden Sie auf der Sudoers-Manpage.
##

##
## Host-Alias-Spezifikation
##
## Maschinengruppen. Diese können Hostnamen enthalten (optional mit Platzhaltern),
## IP-Adressen, Netzwerknummern oder Netzgruppen.
# Host_Alias ​​WEBSERVERS = www1, www2, www3

##
## Benutzer-Alias-Spezifikation
##
## Benutzergruppen. Diese können aus Benutzernamen, Uids, Unix-Gruppen,
## oder Netzgruppen.
# User_Alias ​​ADMINS = millert, dowdy, mikef

##
## Cmnd-Alias-Spezifikation
##
## Befehlsgruppen. Wird oft verwendet, um verwandte Befehle zu gruppieren.                                                               
# Cmnd_Alias ​​PROCESSES = / usr / bin / nice, / bin / kill, / usr / bin / renice, \                                                             
# / usr / bin / pkill, / usr / bin / top                                                                             

##                                                                                                                                   
## Standardspezifikation                                                                                                            
##                                                                                                                                   
## Möglicherweise möchten Sie einige der folgenden Umgebungsvariablen beibehalten                                                                  
## beim Ausführen von Befehlen über sudo.                                                                                                   
##                                                                                                                                   
## Gebietsschemaeinstellungen                                                                                                                   
# Defaults env_keep + = "LANG LANGUAGE LINGUAS LC_ * _XKB_CHARSET"                                                                     
##                                                                                                                                   
## X-Anwendungen über sudo ausführen; HOME wird verwendet, um das zu finden                                                                         
## .Xauthority-Datei. Beachten Sie, dass andere Programme HOME verwenden, um zu suchen                                                                      
## Konfigurationsdateien und dies kann zu einer Eskalation von Berechtigungen führen!                                                                    
 Standardeinstellungen env_keep + = "HOME"                                                                                                         
##                                                                                                                                   
## X11-Ressourcenpfadeinstellungen                                                                                                        
 Standardwert env_keep + = "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"                                                              
##                                                                                                                                   
## Desktop-Pfadeinstellungen                                                                                                             
 Standardeinstellungen env_keep + = "QTDIR KDEDIR"                                                                                                 
##                                                                                                                                   
## Erlaube sudo-run Befehlen, die ConsoleKit-Sitzung der Anrufer zu erben
# Defaults env_keep + = "XDG_SESSION_COOKIE"
##
## Kommentar entfernen, um spezielle Eingabemethoden zu aktivieren. Vorsicht ist geboten als
## Dies kann es Benutzern ermöglichen, den über sudo ausgeführten Befehl zu untergraben.
 Standardwerte env_keep + = "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
##
## Kommentar entfernen, um die Protokollierung der Ausgabe eines Befehls zu aktivieren, außer für
## sudoreplay und neu starten. Verwenden Sie sudoreplay, um protokollierte Sitzungen wiederzugeben.
# Standardmäßig log_output
# Standard! / Usr / bin / sudoreplay! Log_output
# Standard! / Usr / local / bin / sudoreplay! Log_output
# Standard! / Sbin / reboot! Log_output

##
## Runas-Alias-Spezifikation
##


Standardeinstellungen: falmarri timestamp_timeout = 10

##
## Angabe der Benutzerrechte
##
root ALL = (ALL) ALL

## Kommentar entfernen, damit Mitglieder des Gruppenrads einen beliebigen Befehl ausführen können
% Rad ALL = (ALL) ALL

## Gleiches ohne Passwort
#% Rad ALL = (ALL) NOPASSWD: ALL

## Kommentar entfernen, damit Mitglieder der Gruppe sudo einen beliebigen Befehl ausführen können
#% sudo ALL = (ALL) ALL

## Kommentar entfernen, damit Benutzer sudo ausführen können, wenn sie das Kennwort kennen
## des Benutzers, unter dem der Befehl ausgeführt wird (standardmäßig root).
# Standardwert targetpw # Fragen Sie nach dem Passwort des Zielbenutzers
# ALL ALL = (ALL) ALL # WARNUNG: Verwenden Sie dies nur zusammen mit 'Defaults targetpw'.

## Drop-In-Dateien aus /etc/sudoers.d lesen
## (das '#' hier zeigt keinen Kommentar an)
#includedir /etc/sudoers.d

Falmarri
quelle
Definieren Sie "funktioniert nicht". Welchen Fehler bekommen Sie? Hast du sudorichtig eingerichtet? Können Sie Nicht-GUI-Apps mit starten sudo?
sepp2k
ps. Sie können auch eine App namens sux"su with X"
ausprobieren

Antworten:

6

Dies sieht nach einer absichtlichen Konfiguration in Arch Linux aus. Hier finden Sie Diskussionen mit Links zu Lösungen.

Der beste Tipp scheint darin zu bestehen, "DISPLAY XAUTHORITY" zu den Standardeinstellungen von "env_keep" hinzuzufügen /etc/sudoers.

Fedora hat im /etc/sudoersFolgenden und dies ermöglicht sudo somexapp erfolgreich zu sein.

Defaults    env_reset
Defaults    env_keep =  "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS"
Defaults    env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults    env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults    env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults    env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
fschmitt
quelle
Ich habe die Datei / etc / sudoers gelesen und sie erwähnte die Tatsache, dass dies eine Funktion war. Ich habe die Zeilen, die mir gesagt wurden, auskommentiert, aber es funktioniert immer noch nicht. Ich habe meine / etc / sudoers-Datei in meiner Frage gepostet.
Falmarri
Ich habe die Fedora-Einstellungen zu meiner Antwort hinzugefügt. Ich denke, Sie vermissen immer noch DISPLAY und XAUTHORITY in Ihrer veröffentlichten Datei.
fschmitt
Eigentlich scheint es jetzt zu funktionieren. Ich bin mir nicht sicher, ob ich nur vergessen habe zu speichern oder so. Danke =]
Falmarri
9

Grafikprogramme sollten nicht mit sudo ausgeführt werden. Die richtige Methode ist die Verwendung kdesudoin KDE zum Ausführen von GUI-Programmen als Root oder gksuin GNOME.

Das Ausführen von Grafikprogrammen als Root kann schwerwiegende Probleme verursachen. Aus diesem Grund werden die Wrapper bereitgestellt. Lesen Sie diesen Arch-Mailinglisten-Thread, um ein schwerwiegendes Problem zu finden, das beim sudoStarten einer GUI-App auftreten kann.

andrewsomething
quelle
Ich bin verwirrt, was dieser Thread gesagt hat. Ist es nur ein Problem, wenn X als Root ausgeführt wird? Ich hatte noch nie ein Problem damit, Sudo von einer X-Sitzung aus
auszuführen
3
Durch das Ausführen von GUI-Apps als Root mit sudo können möglicherweise Dateien geändert werden, deren Eigentümer root ist. Eine besonders unangenehme Datei, der dies passieren kann, ist ~/.ICEauthority. Dies kann verhindern, dass Sie sich anmelden. Google "ICEauthority" und Sie werden sehen, dass die Ergebnisse voll von Personen sind, die sich nicht bei ihren Systemen anmelden können, weil die Datei Eigentum von root wurde. Ich habe gerade dieses ausgewählt, wie es auf Arch, dem Betriebssystem des Benutzers, ist.
Andrewsomething