특정 웹 사용자가 엔드포인트에서 실행할 수 있도록 하는 sh 파일(setuid 포함)이 있습니다.
-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를 모두 user 로 실행하고 싶지만 www-data
파일이 실행될 때 파일 소유자가 스크립트를 실행하도록 SETUID를 스크립트에 추가하려고 했습니다. . 내가 이것을 잘못 인용하고 있는 걸까요? 패키지 sudo
가 설치되지 않았습니다.
오류: <class 'PermissionError'>, [Errno 13] 권한 거부됨: 파일: /usr/lib/python3/dist-packages/supervisor/xmlrpc.py 줄: 557