Невозможно запустить команду монтирования через php и exec
Конечно: файл sudo toto.sh работает, и www-данные разрешены в sudoers для ALL, поэтому все процессы www-data ALL = (ALL)NOPASSWD: ALL
toto.sh:
Machine = "L1069"
machine="L1069"
mount -t cifs //$ipaddr/c$ /mnt/pc-backup/$machine -o "vers=2.0,username=agent-back-ws,password=Bcth2,ro,iocharset=utf8
,noserverino"
В файле go.php:
$outputShell=passthru('sudo cat /etc/passwd');
$output=exec('sudo /var/www/html/toto.sh 2>&1');
var_dump ($output);
var_dump ($outputShell);
Когда я запускаю php go.php (как root) Iget:
<pre> </ pre> string (0) ""
и монтирование завершено, и отображается содержимое / etc / passwd
С другой стороны, через браузер я запускаю www / go.php, поэтому вwww-data: я получаю:
string (0) ""
без монтирования и отображается содержимое / etc / passwd
Почему не работает монтирование - это проблема, кажется, что скрипт с php7 и последнимиВерсия Debian ...