PHPスクリプトを介して実行すると、SETUIDはスクリプトを所有者として実行しません。

PHPスクリプトを介して実行すると、SETUIDはスクリプトを所有者として実行しません。

特定のWebユーザーがエンドポイントで実行できるようにする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

ベストアンサー1

おすすめ記事