Запустите Perl-скрипт из PHP / Apache

1

На RED HAT LINUX: запуск APACHE

С PHP-скрипта я хочу запустить скрипт Perl и пытаюсь сделать это с помощью следующей команды:

exec("/usr/bin/perl /home/path/to/perlscript/main.pl", $output, $result); 

Кажется, что это сбой, потому что сценарий PERL должен запускаться другим пользователем (USER1).

Я безуспешно пытался использовать SUDO. Мне нужно запустить скрипт как (USER1) вместо пользователя (APACHE), потому что (USER1) имеет больше привилегий, чем пользователь APACHE.

Любая идея, как я это сделаю?

  • 4
    Я надеюсь , что вы не были в состоянии получить веб - сервер sudo ничего! Вам нужно будет изменить разрешение файла, чтобы веб-сервер мог получить к нему доступ и запустить его.
  • 0
    USER1 (или ROOT) должен быть тем, кто запускает Perl Script, поскольку у этого пользователя есть права на запуск определенных команд, таких как процесс Kill. Имеет ли это смысл?
Показать ещё 6 комментариев
Теги:
exec

1 ответ

0
Лучший ответ

Не зная, что делает ваш скрипт perl, возможно, стоит запустить cronjob, который запускает скрипт perl. Таким образом, он полностью изолирован от Apache и все еще может работать как root без ущерба для вашего сервера.

  • 0
    Или напишите демон, который контролирует ваш сервер базы данных, что означает, что он позволяет проверять его или контролировать его через SNMP.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню