web-dev-qa-db-ja.com

mysqldサービスを開始するための非ルートユーザーアクセスを許可します

非ルートユーザーabcがあり、ユーザーにSudorestart、またはstart --mysqld serviceのみにstop権限を付与したい。つまり、Sudo service mysqld restart。どうすればそうできますか?

ユーザーグループにも同じことをしたいです!!

1
Shahrukh Khan

/ etc/sudoersに次の行を追加する必要があります

 dba01 ALL =/sbin/service mysqld start 
 dba01 ALL =/sbin/service mysqld stop 
 dba01 ALL =/sbin/service mysqld restart 

この設定により、dba01ユーザーは3つのコマンドすべてを実行できます。

これが出力です

 [dba01 @ APP01 root] $ Sudo/sbin/service mysqld restart 
 [Sudo] dba01のパスワード:
 mysqldのシャットダウン:[OK] 
 mysqldを開始しています:                                             [  OK  ]

他のサービスを実行しようとした場合

 [dba01 @ APP01 root] $ Sudo/sbin/service ip6tables restart 
申し訳ありませんが、ユーザーdba01はAPP01でrootとして「/ sbin/serviceip6tablesrestart」を実行できません。
1
Suyash Jain

グループの実行を許可する権限を付与する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
0
Eric