以超级用户身份运行supervisord进程

我的目标是在其中一个程序中运行sudo:

[program:doStaff] command=sudo python manage.py doStaff autostart=true autorestart=true stderr_logfile=/var/log/doStaff.err.log stdout_logfile=/var/log/doStaff.out.log 

这是来自supervisord.conf的[unix_http_server]:

 [unix_http_server] file=/var/run/supervisor.sock chmod=0770 

试图设置supervisord用户在supervisord.conf中的根,但它没有帮助。

我试图以root身份运行这个进程,因为这个脚本删除了系统中的一些文件。

您应该为用户设置无密码的sudo,并以该用户身份运行脚本。

首先编辑sudoers文件:

sudo visudo

在该文件的末尾添加:

scriptrunner ALL =(ALL)NOPASSWD:ALL

现在以脚本运行用户身份运行您的脚本。 你当然要创build这个用户。

在你的程序configuration(程序:doStaff)添加这一行:

 user=root