u.s.s.r Posted March 23, 2017 Linux CentOS 6.7 Apache/2.2.26 (Unix) http://127.0.0.1/reload-service.php файл reload-service.php <?php $v=passthru("/usr/bin/whoami", $r); - возвращает "apache" $v=passthru("/usr/bin/sudo /etc/init.d/nginx2 force-reload", $r); - не работает, возвращает код ошибки "1" ?> cat /etc/sudoers ... vista ALL=(root) NOPASSWD: /etc/init.d/nginx2 force-reload apache ALL=(root) NOPASSWD: /etc/init.d/nginx2/nginx2 force-reload если зайти по пользователем "vista", то /usr/bin/sudo /etc/init.d/nginx2 force-reload - восполняется команда Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Tau Posted March 23, 2017 (edited) sudo хочет tty, он должен был об этом сообщить в логах. Отключается в конфиге. И не совсем правильно дергать nginx без предварительной проверки через nginx -t. Edited March 23, 2017 by Tau Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
u.s.s.r Posted March 23, 2017 (edited) Большое спасибо! Добавил в /etc/sudoers Defaults:apache !requiretty Насчет проверки - конечно, куда без этого. Edited March 23, 2017 by u.s.s.r Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...