いくつかのシェル スクリプトを使用する PHP フロントエンドを作成しています。ただし、問題は、特定のユーザーとして、非常に特定のディレクトリ (www-data によってアクセス可能であるが所有されていない) でスクリプトを呼び出す必要があることです。
$command = './myscript.py 2>&1 | tee /tmp/outputfile.txt'; // set the command
$cwd = 'cd /home/secondUser/myscript'; // set current working directory
$wrapper = 'echo "Password" | sudo -u secondUser bash -c'; // add extra wrappers
$fullCommand = $cwd.';'.$wrapper.' "'.$command.'"'; // combine subcommands
$output = system($fullCommand);
別の実行コマンド(shell_exec、exec ...)を試していました。ただし、ログに次のエラーが常に見つかります。
sudo: no tty present and no askpass program specified
問題は、シェル スクリプトを実行すること (sudoers を編集するなど) だけでなく、特定の ruser として実行することです。
そのためのヒントやコツはありますか?