我的目标是在其中一个程序中运行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