Предоставьте пользователю Non-Root доступ для запуска службы mysqld

Предоставьте пользователю Non-Root доступ для запуска службы mysqld

У меня есть пользователь без прав root abc, и я хочу предоставить sudoправа только пользователю restart, startили stop- mysqld service. т.е. sudo service mysqld restartКак мне это сделать?

Я бы хотел сделать то же самое и с группой пользователей!!

решение1

Вам необходимо добавить следующие строки в /etc/sudoers

dba01 ALL=/sbin/service mysqld запуск
dba01 ALL=/sbin/service mysqld остановить
dba01 ALL=/sbin/service mysqld перезапустить

эта конфигурация позволит пользователю dba01 выполнять все три команды.

А вот и результат

[dba01@APP01 root]$ sudo /sbin/service mysqld перезапустить
[sudo] пароль для dba01:
Завершение работы mysqld: [ OK ]
Запуск mysqld: [ ОК ]

Если вы попытаетесь запустить любую другую службу

[dba01@APP01 root]$ sudo /sbin/service ip6tables перезапуск
Извините, пользователю dba01 не разрешено выполнять «/sbin/service ip6tables restart» как root на APP01.

решение2

предоставление разрешений на запуск группы sudo service, дало бы им разрешение перезапустить любую службу. Я бы просто предоставил им доступ к скрипту init.

Это можно сделать, добавив следующую строку в файл sudoers

%groupName ALL=(ALL) NOPASSWD: /etc/init.d/mysql

Тогда члены группы должны иметь возможность бежать

sudo /etc/init.d/mysql restart
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql restart

Связанный контент