СИСТЕМА: CentOS версии 6.2 (окончательная)
Я пытаюсь разрешить только пользователям определенной группы называть это веб-поддержка доступ для перезапуска 2 сервисов: mysqld и httpd
РЕДАКТИРОВАТЬ: Я не хочу давать этим пользователям доступ к sudo
Я добавил эти строки в / etc / sudoers:
% websupport ALL = NOPASSWD: /etc/init.d/httpd
и
% websupport ALL = NOPASSWD: /etc/init.d/mysqld
Когда вы вошли в систему как пользователь и пытаетесь запустить:
/etc/init.d/httpd перезапуск
Получаю такой результат:
rm: невозможно удалить '/var/run/httpd/httpd.pid': в разрешении отказано [FAILED]
rm: невозможно удалить '/ var / lock / subsys / httpd': в разрешении отказано
rm: невозможно удалить '/var/run/httpd/httpd.pid': в разрешении отказано
Не удалось запустить httpd: httpd: apr_sockaddr_info_get () для wssapache
httpd: не удалось надежно определить полное доменное имя сервера, используя 127.0.0.1 для ServerName
(13) В доступе отказано: make_sock: не удалось привязать к адресу [::]: 80
(13) В доступе отказано: make_sock: не удалось привязать к адресу 0.0.0.0:80
нет доступных гнезд для прослушивания, выключение
Невозможно открыть журналы [FAILED]
При попытке запустить:
/etc/init.d/mysqld перезапуск
Получаю такой результат:
cat: /var/run/mysqld/mysqld.pid: Permission denied Остановка mysqld: [FAILED]
Запуск mysqld: [ОК]
Записи в ваших sudoers выглядят нормально. Что вам нужно, так это использовать sudo для запуска команды, например.
sudo etc/init.d/httpd restart
и
sudo etc/init.d/mysqld restart
Вы также можете комбинировать записи в sudoers
%websupport ALL=NOPASSWD:/etc/init.d/mysqld, /etc/init.d/httpd