PHP で実行した場合、スクリプト内でマウントが機能しない

PHP で実行した場合、スクリプト内でマウントが機能しない

そこで、apache2 html フォルダーに配置し、http ポストによって実行されるスクリプトを用意しました。スクリプトには root が必要です (これはまったく安全ではないことは承知していますが、無視してください)。そのため、sudoers ファイルでユーザー www-data を に設定しましたwww-data ALL=(ALL) NOPASSWD: ALL。スクリプトを実行すると、cif ファイルシステムをマウントする点を除けば、非常にうまく動作します。

スクリプトはphpによって実行されます:

exec("sudo ./miniosetup $folder $address $path $User $Pass $S3User $S3Pass $Port");

スクリプトは次のようにマウントされるはずです:

ipadress=$(host $address | cut -d' ' -f4 | head -n 1)
echo "$ipadress $minuname $minpwd" >> log_mount
echo "mount -v -t cifs //$address/$usePath/ /mnt/$filesystemname/ -o username=$username,password=$password" >> log_mount
sudo mount -v -t cifs //$address/$usePath/ /mnt/$filesystemname/ -o username=$username,password=$password >> log_mount
if [ ! $? -eq 0 ]
then
  echo "mount  -v -t cifs //$ipadress/$usePath/ /mnt/$filesystemname/ -o username=$username,password=$passwords" >> log_mount
  sudo mount -v -t cifs //$ipadress/$usePath/ /mnt/$filesystemname/ -o username=$username,password=$password >> log_mount
fi

log_mount ファイルは次のようになります。

192.168.0.5 testingUsr testingTest
mount -v -t cifs //srv01/netstorage/testminio/ /mnt/testingTester/ -o username=FILESYSTEMUSERNAME,password=FILESYSTEMPASSWORD

しかし、実行してもmount表示されません。ファイルシステムもマウントされません/mnt/testingTester/。同じパラメータでスクリプトを手動で実行すると、すべて正常に動作します。アイデアが不足しているので、何かアイデアがあれば教えてください。

編集: sudoは機能します。そうでない場合、スクリプトは3行目のように「rootとして実行してください」と出力するだけです。if [ "$EUID" -ne 0 ]; then echo "Please run as root" exit; fi

編集: apache2 は一種の sanbox で実行される可能性があると考えていましたが、確認または否定できる人はいますか?

関連情報