PHPで実行するとスクリプトのインストールが機能しない

PHPで実行するとスクリプトのインストールが機能しない

したがって、apache2 htmlフォルダにスクリプトがあり、http postとして実行する必要があります。スクリプトにはルートが必要なので(まったく安全ではないことを知っているので、無視してください)、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がある種のサンドボックスで実行されているようです。誰でも確認または拒否できますか?

ベストアンサー1

おすすめ記事