允许root以外的用户重启supervisorctl进程?

时间:2015-07-21 14:18:08

标签: python supervisord

我有supervisord作为用户stavros运行程序,我想给予相同的用户权限,使用supervisorctl重新启动它。不幸的是,我只能用sudo来做,否则我在socket.py中得到一个权限被拒绝错误。我怎样才能允许自己重启supervisord进程?

2 个答案:

答案 0 :(得分:2)

就个人而言,我认为以root身份运行supervisord是一个坏主意,但如果你想这样做,同时允许其他用户完全重启,我就是这样做的。

1 /在您的系统上创建一个主管组,该主管组将具有对supervisord的重新启动权限

2 /将相关用户置于小组主管

3 /在supervisord配置中,使用[unix_http_server]部分中的以下行:

chmod=0770                 ; socket file mode (default 0700)
chown=root:supervisor      ; socket file uid:gid owner

它将保证可以从所选用户访问管理套接字。

4 /在重构模式(init,systemd,upstart等)中添加系统初始化机制中的supervisord。这取决于您的系统。 Respawn模式表示如果崩溃或停止,该过程将自动重新启动。

5 /从其中一个选定用户,您应该能够使用supervisorctl来运行命令,包括完全关闭,这将触发supervisord的完全重启。

答案 1 :(得分:0)

也许您应该尝试使用用户superviord重新启动stavros进程。