sudoedit を実行するための sudoers の設定方法

2年半前くらいに書いたブログ 一般ユーザ権限で root 所持のファイルを編集するときは sudoedit を使おう - amari3のはてなダイアリーid:tokuhirom さんからブコメが付いてた。

sudoers をきちんと設定しないと意味がない予感(きちんと設定できるかは未確認)

確かに具体的な設定方法とか書いてないから、実際のところどないやねんってのは、書いた僕自身感じた。というわけで、sudoers の設定の一例を書くことにする。

sudoers の設定

一般ユーザ amari3z が root 権限で、MySQL の設定ファイル /etc/my.cnf をパスワードレスで編集・保存出来る様にする。というシナリオで設定することにする。

なお、説明を単純にするために、Alias 設定は使わないこととする。

% sudo visudo
amari3z ALL=(root)      NOPASSWD: sudoedit /etc/my.cnf

sudoedit を使ってみる

以下のコマンドを実行するだけ、難しいところはないと思う。

% sudoedit /etc/my.cnf

パスワードを聞かれることもなく、普通に編集・保存が出来る。

別の実行例として、/etc/bashrc を編集しようとしてみる。

% sudoedit /etc/bashrc
Sorry, user amari3z is not allowed to execute 'sudoedit /etc/bashrc' as root on ...

パスワードが聞かれる上にパスワードを入力しても、↑の様なメッセージが出て実行出来ない。

詳しくは、man sudoers を実行して確認すればいいと思う。Cmnd_Alias の Cmnd_List の記述方法に sudoedit のそれも載っている。

最近ブログをサボり気味だから、これを機にまた続けて行かないと。