Mount funktioniert nicht im Skript, wenn es von PHP ausgeführt wird

Mount funktioniert nicht im Skript, wenn es von PHP ausgeführt wird

Ich habe also ein Skript, das in meinem Apache2-HTML-Ordner abgelegt ist und von einem HTTP-Post ausgeführt werden soll. Das Skript erfordert Root (ich weiß, dass das überhaupt nicht sicher ist, ignorieren Sie das bitte), also habe ich den Benutzer www-data in der sudoers-Datei auf gesetzt www-data ALL=(ALL) NOPASSWD: ALL. Das Ausführen des Skripts funktioniert ziemlich gut, außer beim Mounten eines cif-Dateisystems.

Das Skript wird von PHP ausgeführt:

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

Das Skript soll folgendermaßen gemountet werden:

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

Die log_mount-Datei sieht folgendermaßen aus:

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

Wenn ich es jedoch ausführe, mountwird es nie angezeigt. Auch das Dateisystem wird nicht gemountet /mnt/testingTester/. Wenn ich das Skript manuell mit denselben Parametern ausführe, funktioniert alles einwandfrei. Ich bin für jede Idee dankbar, da mir langsam die Ideen ausgehen.

EDIT: sudo funktioniert, sonst würde das Skript nur "Bitte als Root ausführen" ausgeben, da die dritte Zeileif [ "$EUID" -ne 0 ]; then echo "Please run as root" exit; fi

BEARBEITEN: Ich habe gedacht, dass Apache2 möglicherweise in einer Art Sanbox läuft. Kann das jemand bestätigen oder verneinen?

verwandte Informationen