授予非 root 用户权限来启动 mysqld 服务

授予非 root 用户权限来启动 mysqld 服务

我有一个非 Root 用户abc,并且只想授予该用户sudo以下权限restartstartstop- 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 restart
[sudo] dba01 的密码:
关闭 mysqld:[确定]
启动 mysqld:[确定]

如果你尝试运行任何其他服务

[dba01@APP01 root]$ sudo /sbin/service ip6tables restart
抱歉,用户 dba01 不允许在 APP01 上以 root 身份执行“/sbin/service ip6tables restart”。

答案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

相关内容