0

user として明示的に、php ファイル (ユーザー: www-data) から sudo 権限でコマンドを起動する必要がありますwww-data

<?php
    $command = 'sudo -u www-data /usr/bin/python3 /var/www/html/script.py';
    shell_exec($command);
?>

sudo を使用できるようにするには、次のようwww-dataにコマンドを sudoers ( sudo visudo) に入れたい:

www-data ALL=NOPASSWD: sudo -u www-data /usr/bin/python3 /var/www/html/script.py

また

www-data ALL=NOPASSWD: -u www-data /usr/bin/python3 /var/www/html/script.py

しかし、構文が間違っています (visudo からのエラー メッセージ)。以下はsudoersでの作業です(正しい構文)

www-data ALL=NOPASSWD: /usr/bin/python3 /var/www/html/script.py

しかし、私のスクリプトでは機能しません (ログファイルの apache エラー):

Sorry, user www-data is not allowed to execute '/usr/bin/python3 /var/www/html/script.py' as www-data on raspberrypi.

必要なようsudo -u www-dataです。どうすればこれを解決できますか?

4

1 に答える 1