Я написал скрипт для монтирования диска, когда он подключен к тому с определенным UUID.
#!/bin/bash
#run script and store in PATH the path to disks
pathD=$(python /home/pi/scripts/AUTOMOUNT/disco1.py 2>&1)
#echo $pathD ###print disk's path
#mount it in PATH
if [ $pathD == 'None' ] ###Stop script if disk not present###
then
echo 'Disk not present'
exit
fi
sudo mount $pathD /media/Drive1
echo 'Disco 1 montato'
чтобы запустить это без sudo, я изменил файл sudoers, где была добавлена строка
pi ALL= NOPASSWD: /home/pi/scripts/AUTOMOUNT/monta1.sh
и скрипт отлично работает из оболочки.
Теперь мне нужно запустить его в сценарии PHP, который запускается с домашней страницы веб-сервера Apache. Сценарий
<html>
<body>
<?php
$delay = 10;
if($_POST['button1'] == 'ON')
{
//action for ON
$output1 = shell_exec('sh /home/pi/scripts/PINS/disk1ON.sh');
echo $output1;
$output2 = shell_exec('sh /home/pi/scripts/AUTOMOUNT/monta1.sh')
echo $output2;
}
else if ($_POST['button1'] == 'OFF')
{
//action for OFF
$output = shell_exec('sh /home/pi/scripts/PINS/disk1OFF.sh');
echo $output;
}
?>
</body>
</html>
и работает нормально, пока не будет вызвана команда $ output2. При вызове скрипта monta1.sh (скрипт написан сверху) ничего не происходит …
Я пытался добавить в sudoers строку
wwwuser ALL=NOPASSWD: /home/pi/scripts/AUTOMOUNT/monta1.sh
но ничего не происходит
Как я могу заставить это работать?
Задача ещё не решена.
Других решений пока нет …