Пользовательский апплет GNOME в Python должен иметь права root

Я написал собственный апплет панели GNOME на Python, который должен записывать в некоторые файлы, принадлежащие root. Есть ли способ заставить его запускаться с правами root без использования suid?

6
задан 25 February 2011 в 15:34

3 ответа

Вы должны разделить процедуры, требующие root-доступа, в отдельную программу на Python и запустить ее с помощью gksudo.

Я задал похожий вопрос о переполнении стека.

0
ответ дан 25 February 2011 в 15:34

Лучшее решение: не запускать весь апплет с правами root. Поместите все возможное в апплет, который работает с обычными правами пользователя. Создайте отдельную программу, которая изменяет необходимые файлы, и запустите ее через sudo (или suid).

Для конфигурации sudoers запустите visudo. Попробуйте что-то вроде

yourusername ALL=(ALL) NOPASSWD: /usr/local/bin/your_command.py

, чтобы разрешить запуск определенных команд с правами root.


Другой способ: добавить файл acl в эти файлы, принадлежащие корню, чтобы разрешить изменения для вашего пользователя.

См. man setfacl для получения дополнительной информации (из пакета acl).

0
ответ дан 25 February 2011 в 15:34

Вы можете сделать это с помощью PolicyKit .

0
ответ дан 25 February 2011 в 15:34

Другие вопросы по тегам:

Похожие вопросы: