У меня есть веб-сервер, который воспроизводит музыку из Raspberry и включает светодиод со скриптом gpio.sh.
Я использую MPD, MPC и GPIO.
Мой /var/www/index.php:
<html><body><?php
echo exec('whoami');
if(isset($_POST['button1']))
{
shell_exec('mpc play')
shell_exec('/bin/bash /var/www/gpio.sh');
}
?>
<form method="post">
<p align=center>
OUTPUT (AUDIO) => <button name="button1">PLAY</button>
</p>
</form>
</body></html>
В терминале я могу успешно запустить / bin / bash /var/www/gpio.sh и включить светодиод.
С веб-сервера ‘mpc play’ РАБОТАЕТ и может воспроизводить песню, НО она не может запустить этот gpio.sh.
Владелец index.php — www-data
-rwx —— 1 www-data www-data 1262 декабрь 8 10:45 gpio.sh
-rwx —— 1 www-data www-data 272 дек. 9 09:39 index.php
Что я должен делать ? Когда я меняю владельца index.php или gpio.sh на root, php не может выполняться.
Мой index.php не так?
Я не могу выполнить .sh из php.
Пожалуйста помоги.
Идеальным решением для вас было бы установить SUID для скрипта gpio.sh но к сожалению
ты не можешь сделайте так, насколько gpio.sh является скриптом.
У вас есть три варианта:
Других решений пока нет …