використовуючи sudo для додатків GUI


10

sudo kateНаприклад, коли я використовував kubuntu, я завжди міг відкривати X програми, наприклад, sudo . Тепер, коли я перейшов на арку, яка не працює. Я знаю, що мені завжди казали використовувати kdesu, але яка настройка є в kubuntu, яка дозволяє мені використовувати судо для додатків X, що заважає мені робити це в арці?

Редагувати :
Вибачте, я зробив сам те, що так ненавиджу> _ <

Це те, що я намагаюся зробити:

[falmarri @ falmarri-z-arch Завантаження] $ sudo kate
Пароль: 
Протокол не вказаний
kate: не вдається підключитися до сервера X: 0.0

Зауважте, що це лише звичайний термінальний сеанс за допомогою konsole, я не використовую SSH

/ тощо / sudoers :

## файл sudoers.
##
## Цей файл ОБОВ'ЯЗКОВО відредагувати командою "visudo" як корінь.
## Невживання «візудо» може призвести до помилок у синтаксисі чи дозволі файлів
## що не дозволяє судо запускатись.
##
## Дивіться сторінку чоловіка sudoers, щоб дізнатися, як написати файл sudoers.
##

##
## Специфікація псевдоніма хоста
##
## Групи машин. Вони можуть включати імена хостів (необов'язково із символами підстановки),
## IP адреси, номери мереж або мереж.
# Host_Alias ​​WEBSERVERS = www1, www2, www3

##
## Специфікація псевдоніма користувача
##
## Групи користувачів. Вони можуть складатися з імен користувачів, UID, груп Unix,
## або мережеві групи.
# User_Alias ​​ADMINS = просо, путі, мікеф

##
## Специфікація псевдоніму Cmnd
##
## Групи команд. Часто використовується для групування пов’язаних команд разом.                                                               
# Cmnd_Alias ​​ПРОЦЕСИ = / usr / bin / nice, / bin / kill, / usr / bin / renice, \                                                             
# / usr / bin / pkill, / usr / bin / top                                                                             

##                                                                                                                                   
## Специфікація за замовчуванням                                                                                                            
##                                                                                                                                   
## Ви можете зберегти деякі з перелічених нижче змінних середовища                                                                  
## під час виконання команд через sudo.                                                                                                   
##                                                                                                                                   
## Налаштування локалів                                                                                                                   
# За замовчуванням env_keep + = "МОВА МОВА МОВА МОВЛЕННЯ LC_ * _XKB_CHARSET"                                                                     
##                                                                                                                                   
## Запускайте програми X через sudo; HOME використовується для пошуку                                                                         
## .Xauthority file. Зверніть увагу, що інші програми використовують HOME для пошуку                                                                      
## файли конфігурації, і це може призвести до ескалації привілеїв!                                                                    
 За замовчуванням env_keep + = "ДОМАШНЯ"                                                                                                         
##                                                                                                                                   
## Параметри шляху ресурсу X11                                                                                                        
 За замовчуванням env_keep + = "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"                                                              
##                                                                                                                                   
## Налаштування шляху для робочого столу                                                                                                             
 За замовчуванням env_keep + = "QTDIR KDEDIR"                                                                                                 
##                                                                                                                                   
## Дозволити команди, запущені sudo, успадкувати сеанс ConsoleKit абонентів
# За замовчуванням env_keep + = "XDG_SESSION_COOKIE"
##
## Відмінити, щоб увімкнути спеціальні методи введення. Слід бути обережним як
## це може дозволити користувачам підривати команду, що виконується через sudo.
 За замовчуванням env_keep + = "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
##
## Відмінити, щоб увімкнути журнал виводу команди, за винятком
## sudoreplay та перезавантажте. Використовуйте sudoreplay для відтворення записаних сесій.
# За замовчуванням log_output
# За замовчуванням! / Usr / bin / sudoreplay! Log_output
# За замовчуванням! / Usr / local / bin / sudoreplay! Log_output
# За замовчуванням! / Sbin / reboot! Log_output

##
## Специфікація псевдоніма Runas
##


За замовчуванням: falmarri timestamp_timeout = 10

##
## Специфікація привілеїв користувача
##
корінь ALL = (ALL) ALL

## Uncomment, щоб дозволити членам колективу групи виконувати будь-яку команду
% колесо ВСЕ = (ВСЕ) ВСЕ

## Те саме, без пароля
#% колесо ALL = (ALL) NOPASSWD: ALL

## Відмінити, щоб дозволити членам групового судо виконувати будь-яку команду
#% sudo ВСІ = (ВСІ) ВСІ

## Відмінити, щоб дозволити будь-якому користувачеві запускати sudo, якщо він знає пароль
## користувача вони виконують команду як (root за замовчуванням).
# За замовчуванням targetpw # Запитайте пароль цільового користувача
# ALL ALL = (ALL) ALL # ПОПЕРЕДЖЕННЯ: використовуйте це лише разом із "Defaults targetpw"

## Читання файлів, що випадають з /etc/sudoers.d
## (тут "#" коментар не вказує)
#includedir /etc/sudoers.d


Визначте "не працює". Яку помилку ви отримаєте? Ви sudoправильно налаштували ? Чи можете ви запустити не-GUI програми, використовуючи sudo?
sepp2k

пс. ви також можете спробувати додаток, suxякий в основному "су з X"
ксенотеррацид

Відповіді:


6

Це виглядає як навмисна конфігурація в Arch Linux. Дивіться це для обговорення із посиланнями на рішення.

Найкраща порада, здається, додає "DISPLAY XAUTHORITY" до "env_keep" за замовчуванням у /etc/sudoers.

Fedora має /etc/sudoersнаступне, і це дозволяє sudo somexapp досягти успіху.

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"

Я читав файл / etc / sudoers, і він згадував факт, що це була особливість. Я прокоментував рядки, про які вона мені сказала, але це все ще не працює. Я розмістив файл / etc / sudoers у своєму запитанні.
Фальмарі

Я додав налаштування Fedora до своєї відповіді. Я думаю, ви все ще не вистачаєте DISPLAY та XAUTHORITY у вашому опублікованому файлі.
fschmitt

Насправді, здається, зараз це працює. Я не впевнений, чи просто забув зберегти чи щось. Спасибі =]
Фальмарі

9

Графічні програми не повинні запускатися із судо. Правильний спосіб - використовувати kdesudoв KDE для запуску програм графічного інтерфейсу як root, або gksuв GNOME.

Запуск графічних програм як корінних може спричинити серйозні проблеми, тому обгортки надаються. Прочитайте цю тему списку розсилки Arch для серйозної проблеми, з якою ви можете зіткнутися, намагаючись sudoзапустити GUI-додаток.


Я плутаю те, що говорила ця нитка. Це лише проблема при запуску X як root? У мене ніколи не було проблем із запуском судо з X сесії
Falmarri

3
Запуск програм GUI як root з sudo може потенційно змінити файли, що належать root. Один з особливо неприємних файлів, що може статися, це ~/.ICEauthority. Це може перешкодити вам увійти в систему. Google "ICEauthority", і ви побачите, що результати переповнені людьми, які не можуть увійти до своїх систем, оскільки файл став власником root. Я щойно вибрав такий, який є в Arch, ОС користувача.
andrewsomething
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.