6

I've written a custom GNOME panel applet in Python that needs to write to some root-owned files. Is there a way to make it start with root privileges without using suid?

  • Can't you just launch it gksudo and add a rule into /etc/sudoers to not request for a password ? – João Pinto Feb 25 '11 at 13:19
6

You can do this with PolicyKit.

| improve this answer | |
1

Better solution: do not run whole applet with root permissions. Put everything possible to applet which is running with normal user permissions. Create separate program that modifies necessary files, and run that through sudo (or suid).

For sudoers configuration, run visudo. Try something like

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

To allow running specific commands with root permissions.


Another way: add file acl to those root owned files to allow changes by your user.

See man setfacl for more information (from package acl).

| improve this answer | |
1

You should separate the procedures that require root access into a separate python program and launch that with gksudo.

I asked a similar question on Stack Overflow.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.