Я на самом деле пытаюсь запустить gnome-терминал с помощью PHP-скрипта, и, похоже, у меня есть некоторые проблемы с пользователями www-data
;
Мой скрипт выполняет команду ls -l
в каталоге (только для теста), и я запускаю ее со страницей php на моем локальном веб-сайте.
Вот команда gnome-terminal в моем скрипте bash (она отлично работает, когда я дважды щелкаю):
gnome-terminal --working-directory=/opt/cuckoo -x bash -c "ls -l"
и вот звонок на php-странице:
system("/my/path/to/the/script/script.sh");
У меня есть некоторое "эхо" в моем скрипте, и я вижу его на странице PHP после того, как я пытаюсь запустить скрипт с веб-сайта.
Я думаю, что www-data
не имеет разрешений, поэтому я пытаюсь дать пользователю право владения сценарием с помощью команды chown
но безрезультатно, и в конце концов я попробовал команду sudo visudo
и дал права доступа www-data
root только для этого сценария. (NO PASSWD
аргумента ПАРОЛЬ ).
Это не сработало. Я попытался изменить команду php, заменив system
на exec
, и показать результат с помощью $output
но он также не изменился.
Может ли PHP на самом деле запустить терминал, или я, возможно, обманул себя?