[python-daemon-Bugs][315239] 2.1 requires root permissions

python-daemon-bugs at alioth.debian.org python-daemon-bugs at alioth.debian.org
Fri Dec 11 23:48:36 UTC 2015


python-daemon-Bugs item #315239 was changed at 2015-12-12 10:48 by Ben Finney
You can respond by visiting: 
https://alioth.debian.org/tracker/?func=detail&atid=413098&aid=315239&group_id=100328

Status: Open
Priority: 3
Submitted By: Adrian M (thiefmaster-guest)
>Assigned to: Ben Finney (bignose-guest)
Summary: 2.1 requires root permissions 


Initial Comment:
The use of ‘os.initgroups’ fails on Linux when the calling process does not have the ‘CAP_SETGID’ process capability.

Typically, this fails when running without root privileges (which is a perfectly valid use case), raising a PermissionError exception.


----------------------------------------------------------------------

>Comment By: Ben Finney (bignose-guest)
Date: 2015-12-12 10:48

Message:
> Since version 2.1, python-daemon always tries to setuid+setgid even if no uid change is necessary.

That has been the case since the beginning; opening the daemon context unilaterally seeks to set the process owner GID and UID).

> This kind of breaking change

So, it isn't a change that the process owner is unconditionally set.

What is new is:

> this happens only with `initgroups=True` which didn't exist before.

which is new in version 2.1.


----------------------------------------------------------------------

Comment By: Justin Patrin (papercrane-guest)
Date: 2015-12-12 08:44

Message:
I've pushed a fix for this which checks the uid and euid before trying to change the uid and checks the gid and egid before trying to change the gid.
https://code.launchpad.net/~reversefold/python-daemon/trunk

----------------------------------------------------------------------

Comment By: Justin Patrin (papercrane-guest)
Date: 2015-12-11 12:39

Message:
+1, also seeing this issue

----------------------------------------------------------------------

Comment By: Adrian M (thiefmaster-guest)
Date: 2015-11-29 01:29

Message:
After having a closer look: this happens only with `initgroups=True` which didn't exist before. Maybe it would be better to make it default to `False`?

----------------------------------------------------------------------

You can respond by visiting: 
https://alioth.debian.org/tracker/?func=detail&atid=413098&aid=315239&group_id=100328



More information about the python-daemon-bugs mailing list