Назад | Перейти на главную страницу

Пользователь с правами root для перезапуска службы не может

Я хочу, чтобы пользователь мог перезапустить службу php5-fpm. В visudo у меня есть следующее:

username ALL=NOPASSWD: /etc/init.d/php5-fpm

Когда я su пользователю и запустить sudo /etc/init.d/php5-fpm stop, Ничего не произошло. Отзывов нет, и служба все еще работает.

Что мне нужно сделать, чтобы разрешить username контролировать службу? Запуск Ubuntu 13.10.

Изменить: смотреть в auth.log я вижу

sudo: username : TTY=pts/1 ; PWD=/var/log ; USER=root ; COMMAND=/etc/init.d/php5-fpm stop

Как следует из комментариев rootlash, я считаю, что что-то в двоичном файле PHP-FPM требует root, которого нет у этого пользователя (возможно, открытие портов?). Я решил, что этот пользователь коснется файла, который пользователь root проверяет раз в минуту (cron), и, если он найден, перезапускает службу, а затем удаляет файл.

Не идеально, но работает, чтобы это произошло.

Можете ли вы изменить, как показано ниже в Visudo?

username ALL=NOPASSWD: /etc/init.d/php5-fpm stop

username ALL=NOPASSWD: /etc/init.d/php5-fpm stop, /etc/init.d/php5-fpm start

У вас работает SELinux или один из других менеджеров безопасности? Если это так, даже если команда запускается от имени пользователя root, пользователь может по-прежнему иметь свой тег безопасности и не иметь доступа для выполнения файлов в / etc.

Вы можете временно отключить SELinux и проверить, начинает ли команда работать. Что касается SELinux, я считаю, что вы можете использовать команду "setenforce", чтобы временно отключить его.

Вы пробовали sudo service php5-fpm stop / start?
если это сработает, просто добавьте пользователя ALL: NOPASSWD: / sbin / service
в файл / etc / sudoers