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

Создать группу для перезапуска сервисов в CentOS

СИСТЕМА: 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