У меня есть сервер CentOS 5.7 linux и используйте php5.3.x.
В системе pfSense вы можете перезапустить службы, требующие прав root с помощью веб-страницы php.
Я пытаюсь сделать что-то подобное, я написал код php для выполнения команд оболочки. Например, чтобы перезапустить службу sshd:
<?php
exec('/sbin/service sshd restart');
?>
и я попытался выполнить эту команду с помощью функции exec, но для этого требуется разрешение root, но у нас есть полномочия пользователя apache.
Я столкнулся с несколькими решениями:
- "запустить apache с пользователем root" действительно небезопасно. Я не хочу этого делать.
- "apache ALL = NOPASSWD:/sbin/service для /etc/sudoers " Я попытался, но все еще есть проблема.
Любые другие решения? Спасибо за ответы.
теперь.. это интересно. Я попытался отправить сообщение @refp, и он работал на моем локальном сервере ubuntu. Но когда я пробовал то же самое на моем cenOS-сервере vps. Это не работает. И это журнал ошибок apache. Rm: не удается удалить `/var/lock/subsys/vsftpd ': Permission denied"