Mount não funciona em script quando executado por php

Mount não funciona em script quando executado por php

Então eu tenho um script que é colocado na minha pasta html do Apache2 e deve ser executado por um post http. O script requer root (eu sei que não é nada seguro, ignore isso), então defino o usuário www-data no arquivo sudoers como www-data ALL=(ALL) NOPASSWD: ALL. A execução do script funciona muito bem, exceto para montar um sistema de arquivos cif.

O script é executado por php:

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

O script deve ser montado assim:

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

O arquivo log_mount fica assim:

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

No entanto, quando executo, mountele nunca é exibido. Nem o sistema de arquivos está montado em /mnt/testingTester/. Quando executo o script manualmente com os mesmos parâmetros, tudo funciona bem. Qualquer ideia é apreciada, pois estou ficando sem elas.

EDIT: sudo funciona, caso contrário, o script apenas exibiria "Por favor, execute como root", já que a terceira linha éif [ "$EUID" -ne 0 ]; then echo "Please run as root" exit; fi

EDIT: Eu pensei que o Apache2 poderia rodar em uma espécie de sanbox, alguém pode confirmar ou negar?

informação relacionada