usando sudo su applicazioni GUI


10

Quando stavo usando Kubuntu, potevo sempre aprire le applicazioni X con sudo, sudo kateper esempio. Ora che sono passato ad arco che non funziona. So che mi è sempre stato detto di usare kdesu, ma quale impostazione ci sono in kubuntu che mi permette di usare sudo su app X che mi impedisce di farlo su arch?

Modifica :
scusa, mi sono fatto quello che odio così tanto> _ <

Questo è quello che sto cercando di fare:

[Download di falmarri @ falmarri-z-arch] $ sudo kate
Parola d'ordine: 
Nessun protocollo specificato
kate: impossibile connettersi al server X: 0.0

Nota che questa è solo una normale sessione terminale usando konsole, non sto usando SSH

/ etc / sudoers :

## sudoers file.
##
## Questo file DEVE essere modificato con il comando 'visudo' come root.
## Il mancato utilizzo di 'visudo' può causare errori di sintassi o di autorizzazione dei file
## che impedisce l'esecuzione di sudo.
##
## Vedi la pagina man sudoers per i dettagli su come scrivere un file sudoers.
##

##
## Specifica dell'alias host
##
## Gruppi di macchine. Questi possono includere nomi host (facoltativamente con caratteri jolly),
## Indirizzi IP, numeri di rete o netgroup.
# Host_Alias ​​WEBSERVERS = www1, www2, www3

##
## Specifiche dell'alias utente
##
## Gruppi di utenti. Questi possono essere costituiti da nomi utente, uid, gruppi Unix,
## o netgroups.
# User_Alias ​​ADMINS = millert, dowdy, mikef

##
## Cmnd specifica alias
##
## Gruppi di comandi. Utilizzato spesso per raggruppare i comandi correlati.                                                               
# Cmnd_Alias ​​PROCESSES = / usr / bin / nice, / bin / kill, / usr / bin / renice, \                                                             
# / usr / bin / pkill, / usr / bin / top                                                                             

##                                                                                                                                   
## Specifiche predefinite                                                                                                            
##                                                                                                                                   
## Potresti voler mantenere alcune delle seguenti variabili d'ambiente                                                                  
## quando si eseguono comandi tramite sudo.                                                                                                   
##                                                                                                                                   
## Impostazioni locali                                                                                                                   
# Defaults env_keep + = "LANG LANGUAGE LINGUAS LC_ * _XKB_CHARSET"                                                                     
##                                                                                                                                   
## Esegui le applicazioni X tramite sudo; HOME è usato per trovare il                                                                         
##. File di autorità. Nota che altri programmi usano HOME per trovare                                                                      
## file di configurazione e questo può portare all'escalation dei privilegi!                                                                    
 Valori predefiniti env_keep + = "HOME"                                                                                                         
##                                                                                                                                   
## X11 impostazioni del percorso delle risorse                                                                                                        
 Valori predefiniti env_keep + = "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"                                                              
##                                                                                                                                   
## Impostazioni del percorso del desktop                                                                                                             
 Valori predefiniti env_keep + = "QTDIR KDEDIR"                                                                                                 
##                                                                                                                                   
## Consenti ai comandi sudo-run di ereditare la sessione ConsoleKit dei chiamanti
# Defaults env_keep + = "XDG_SESSION_COOKIE"
##
## Uncomment per abilitare metodi di input speciali. Si deve prestare attenzione come
## questo può consentire agli utenti di sovvertire il comando in esecuzione tramite sudo.
 Valori predefiniti env_keep + = "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
##
## Uncomment per abilitare la registrazione dell'output di un comando, ad eccezione di
## sudoreplay e riavvio. Utilizzare il sudoreplay per riprodurre le sessioni registrate.
# Default log_output
# Predefiniti! / Usr / bin / sudoreplay! Log_output
# Predefiniti! / Usr / local / bin / sudoreplay! Log_output
# Predefiniti! / Sbin / reboot! Log_output

##
## Specifica alias runas
##


Valori predefiniti: falmarri timestamp_timeout = 10

##
## Specifica dei privilegi dell'utente
##
root ALL = (ALL) ALL

## Uncomment per consentire ai membri della ruota di gruppo di eseguire qualsiasi comando
% wheel ALL = (ALL) ALL

## Stessa cosa senza password
#% wheel ALL = (ALL) NOPASSWD: ALL

## Uncomment per consentire ai membri del gruppo sudo di eseguire qualsiasi comando
#% sudo ALL = (ALL) ALL

## Uncomment per consentire a qualsiasi utente di eseguire sudo se conoscono la password
## dell'utente stanno eseguendo il comando come (root per impostazione predefinita).
# Predefiniti targetpw # Richiedi la password dell'utente di destinazione
# ALL ALL = (ALL) ALL # ATTENZIONE: utilizzalo solo insieme a "Predefiniti targetpw"

## Leggi i file drop-in da /etc/sudoers.d
## (il '#' qui non indica un commento)
#includedir /etc/sudoers.d


Definisci "non funziona". Che errore ricevi? Hai impostato sudocorrettamente? È possibile avviare le app non GUI utilizzando sudo?
sepp2k,

ps. potresti anche provare un'app chiamata suxche è sostanzialmente "su with X"
xenoterracide,

Risposte:


6

Sembra una configurazione intenzionale in Arch Linux. Vedi questo per la discussione con collegamenti a soluzioni.

Il miglior suggerimento sembra essere l'aggiunta di "DISPLAY XAUTHORITY" alle impostazioni predefinite di "env_keep" /etc/sudoers.

Fedora ha /etc/sudoersil seguente e questo permette a sudo somexapp di avere successo.

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"

Ho letto il file / etc / sudoers e ha menzionato il fatto che questa era una caratteristica. Ho decommentato le linee che mi ha detto ma non funziona ancora. Ho pubblicato il mio file / etc / sudoers nella mia domanda.
Falmarri,

Ho aggiunto le impostazioni Fedora alla mia risposta. Penso che ti manchi ancora DISPLAY e XAUTHORITY nel tuo file pubblicato.
fschmitt,

In realtà sembra funzionare ora. Non sono sicuro di aver dimenticato di salvare o qualcosa del genere. Grazie =]
Falmarri,

9

I programmi grafici non devono essere eseguiti con sudo. Il modo corretto è usare kdesudoin KDE per eseguire programmi GUI come root o gksuin GNOME.

L'esecuzione di programmi grafici come root ha il potenziale per causare seri problemi, ecco perché vengono forniti i wrapper. Leggi questo thread della mailing list di Arch per un grave problema che potresti incontrare tentando di ingannare l' sudoavvio di un'app GUI.


Sono confuso da cosa dicesse quel thread. È solo un problema quando si esegue X come root? Non ho mai avuto problemi a eseguire sudo da una sessione X
Falmarri,

3
L'esecuzione di app GUI come root con sudo può potenzialmente modificare i file di proprietà di root. Un file particolarmente brutto a cui può capitare è ~/.ICEauthority. Questo può impedirti di accedere. Google "ICEauthority" e vedrai che i risultati sono pieni di persone che non riescono ad accedere ai loro sistemi perché il file è diventato di proprietà di root. L'ho appena scelto così com'è su Arch, il sistema operativo dell'utente.
Andrewsomething
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.