重新启动没有root的Supervisor托管进程

时间:2017-01-04 18:31:29

标签: supervisord

我希望我的一些用户能够重新启动由Supervisor管理的进程。所以我希望能够以非root用户身份执行这样的命令:

supervisorctl restart my_process

1 个答案:

答案 0 :(得分:0)

默认情况下,supervisor使用Unix套接字在supervisorctlsupervisord之间进行通信。这在配置文件中设置如下:

[unix_http_server]
file=/var/tmp/supervisord.sock  
chmod=0770  

只有具有此套接字文件访问权限的用户才能通过它们发送消息。默认情况下,此套接字文件的所有者和组是运行supervisord进程的用户(通常为root)。但是,您可以使用chown选项更改用户/组:

chown=myuser:mygroup

您当然也可以更改chmod选项并将其设置为例如0777,以便让所有用户都能访问套接字,但我不鼓励这样做。

甚至还有一些选项需要在此套接字上进行HTTP身份验证的用户名和密码。有关详细信息,请参阅supervisor documentation