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

6

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

    
задан cbaby 25.02.2011 в 12:22
источник

3 ответа

6

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

ответ дан Jorge Castro 25.02.2011 в 17:37
источник
1

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

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

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

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

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

Подробнее см. в man setfacl (из пакета acl ).

    
ответ дан Olli 25.02.2011 в 15:22
1

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

Я задал аналогичный вопрос о переполнении стека.

    
ответ дан dv3500ea 25.02.2011 в 16:41