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