Limit which processes a user can restart with supervisor?
- by dvcolgan
I have used supervisor to manage a Gunicorn process running a Django site, though this question could pertain to anything being managed by supervisor. Previously I was the only person managing and using our server, and supervisor just ran as root and I would use sudo to run supervisorctl restart myapp when needed.
Now our server has to support multiple users working on different sites, and each project needs to be able to restart their own gunicorn processes without being able to restart other users' processes.
I followed this blog post:
http://drumcoder.co.uk/blog/2010/nov/24/running-supervisorctl-non-root/
and was able to allow non-root users to use supervisorctl, but now anyone can restart anyone else's processes. From the looks of it, supervisor doesn't have a way of doing per-user access control.
Anyone have any ideas on how to allow users to restart only their own processes without root?