我希望我的一些用户能够重新启动由Supervisor管理的进程。所以我希望能够以非root用户身份执行这样的命令:
supervisorctl restart my_process
答案 0 :(得分:0)
默认情况下,supervisor使用Unix套接字在supervisorctl
和supervisord
之间进行通信。这在配置文件中设置如下:
[unix_http_server]
file=/var/tmp/supervisord.sock
chmod=0770
只有具有此套接字文件访问权限的用户才能通过它们发送消息。默认情况下,此套接字文件的所有者和组是运行supervisord
进程的用户(通常为root
)。但是,您可以使用chown
选项更改用户/组:
chown=myuser:mygroup
您当然也可以更改chmod
选项并将其设置为例如0777
,以便让所有用户都能访问套接字,但我不鼓励这样做。
甚至还有一些选项需要在此套接字上进行HTTP身份验证的用户名和密码。有关详细信息,请参阅supervisor documentation。