授予非 Root 使用者存取權限來啟動 mysqld 服務

授予非 Root 使用者存取權限來啟動 mysqld 服務

我有一個非 Root 用戶abc,只想授予該用戶sudo權限restartstartstop- mysqld service。 IE sudo service mysqld restart。我怎樣才能這樣做呢?

我也想對用戶群組做同樣的事情!

答案1

您需要在 /etc/sudoers 中新增以下行

dba01 ALL=/sbin/service mysqld 啟動
dba01 ALL=/sbin/service mysqld 停止
dba01 ALL=/sbin/service mysqld restart

此配置將允許 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,將授予他們重新啟動任何服務的權限。我只是授予他們訪問初始化腳本的權限。

您可以透過將以下行新增至 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

相關內容