ThiefMaster/maildump

Can't start with python-daemon 2.1.0 installed

OmeGak opened this issue · 2 comments

I was getting this when trying to start:

Traceback (most recent call last):
  File "/home/omegak/.linuxbrew/bin/maildump", line 11, in <module>
    sys.exit(main())
  File "/home/omegak/.linuxbrew/Cellar/python/2.7.10_2/lib/python2.7/site-packages/maildump_runner/__main__.py", line 130, in main
    context.open()
  File "/home/omegak/.linuxbrew/Cellar/python/2.7.10_2/lib/python2.7/site-packages/maildump_runner/geventdaemon.py", line 37, in open
    super(GeventDaemonContext, self).open()
  File "/home/omegak/.linuxbrew/Cellar/python/2.7.10_2/lib/python2.7/site-packages/daemon/daemon.py", line 370, in open
    change_process_owner(self.uid, self.gid, self.initgroups)
  File "/home/omegak/.linuxbrew/Cellar/python/2.7.10_2/lib/python2.7/site-packages/daemon/daemon.py", line 642, in change_process_owner
    raise error
daemon.daemon.DaemonOSEnvironmentError: Unable to change process owner ([Errno 1] Operation not permitted)

change_process_owner() uses setuid()

problem with python-daemon>=2.1 i guess

Actually this wasn't caused by setuid - both setuid and setgid don't require any extra permissions when "changing" the uid/gid to the current one. The problem is that 2.1 started using os.initgroups() which apparently does require root privs.