我已经设置了主管来监督一些过程。因为我通过远程脚本进行部署,所以我需要一种不需要sudo就可以发送主管启动/停止命令的方法。但我不知道该怎么做。
主管中是否有一种方法可以作为非根用户运行指定的命令?
发布于 2012-12-01 19:34:45
supervisorctl命令可以作为非根用户运行。您所需要做的就是授予它连接到supervisord进程的权限。
您需要在适当的服务器部分配置访问权限,比如在[unix_http_server]部分中,或者在[inet_http_server]部分中配置访问权限,不管您在supervisord设置中使用什么。
如果使用[unix_http_server]设置,可以添加chmod和/或chown指令来控制谁可以访问UNIX域套接字,例如:
[unix_http_server]
chown = youruser这样youruser就可以写入该套接字,这意味着supervisorctl可以发送supervisord命令。还可以添加一个组:
[unix_http_server]
chown = youruser:yourgroup最后,您必须使用supervisord重新启动service supervisor restart本身
https://serverfault.com/questions/454197
复制相似问题