是否可以授予“无 root 用户”权限以在 suse 计算机上启动和/停止/重新启动 mysql 服务器?
目标是使开发人员能够调整 mysql 服务器/数据库并跟踪应用程序与 mysql 服务器通信时发生的一些错误。服务器位于 SUSE 计算机上。
目前,用户所在的组mysql
授予他访问/var/log/mysqld.log
.但调整后my.cnf
他无法重新启动服务器。看来,他需要更多的权利,而不仅仅是加入这个团体mysql
。
感谢您提前提出任何建议!
附加问题:在工作和管理 mysql 服务器时,是否应该授予他更多权限来保证他的工作流程?
答案1
将 mysqld 可执行文件的 setuid 位和可执行文件的所有权更改为 mysql 帐户,此外在组中添加所需的用户
mysql
以使他有权访问文件系统上的文件。使用
visudo -f /etc/sudoers
并授予他执行/etc/rc.d/init.d/mysql start
和/etc/rc.d/init.d/mysql stop
作为 COMMAND 列表中两个单独命令的权限,并在执行部分中,授予用户以用户 (mysql) 身份执行这两个命令。有关 sudoers 的更多信息,请参阅 sudoers 手册页。man sudoers
。除此之外,从一个
mysqld
角度来看,他可能需要在数据库服务器/数据库上获得额外的拨款来保证他的工作流程要求,例如调整表、创建和删除数据库和表,以及在 mysql 会话中执行一些与监视相关的活动等。
答案2
这是不可能的。我不知道有什么方法可以授予用户启动和停止守护进程的权限;我认为没有。为了使用 mysql 服务器,您可以为他创建一个具有 mysql 数据库所有权限的用户