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?

1
  • Can't you just launch it gksudo and add a rule into /etc/sudoers to not request for a password ? Feb 25, 2011 at 13:19

3 Answers 3

6

You can do this with PolicyKit.

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).

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .