我有一个 sh 文件(带有 setuid),我希望特定的 Web 用户能够从端点执行该文件:
-rwsr-xr-x 1 root root 59 Sep 11 09:47 restart-workers.sh
该文件的内容很简单:
#!/bin/bash
/usr/bin/supervisorctl restart laravel-worker:*
当我调用这个时:
exec('/var/www/html/restart-workers.sh', $stdout, $status);
我总是收到权限被拒绝的错误,我希望 PHP-FPM 和 Nginx 都以用户身份运行www-data
,但是,我尝试将 SETUID 添加到脚本中,以便在执行文件时,文件的所有者用于执行脚本。我引用这个错误吗?该sudo
软件包未安装。
错误:<class 'PermissionError'>,[Errno 13] 权限被拒绝:文件:/usr/lib/python3/dist-packages/supervisor/xmlrpc.py 行:557