我设立了监督员来监督一些程序。 因为我通过远程脚本进行部署,所以我需要一种不使用sudo来发送pipe理员启动/停止命令的方法。 我不知道如何做到这一点。
pipe理员有没有办法以非root用户身份运行指定的命令?
supervisorctl命令可以作为非root用户运行。 所有你需要做的就是授予它连接到supervisord进程的权限。
您需要在适当的服务器部分configuration访问权限,因此在[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