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?
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.
man setfacl for more information (from package
You should separate the procedures that require root access into a separate python program and launch that with