sudoers 設定
08 May 2012
/etc/sudoers
の書き方を調べてみた。
一部コマンドを管理ユーザー以外にも開放したい場合があったので。
たとえば、 Ramdisk をいじるときに mount
と umount
が必要だったり。
基本的な書式は
ユーザー名 ホスト名=(誰として) コマンド名
という風になっている。
例えば、
hoge fugahost=(piyo) /bin/cp
というのは
ユーザー hoge
が、ホスト名 fugahost
上で、ユーザー piyo
として cp
コマンドを実行することを許す、
という意味になる。
ホスト名の部分は具体的にホスト名を指定する使い道はあまりなさそうなので ALL
にしておけばいいでしょう。
(誰として)
の部分も、普通は root
になりたいはず。
上記の例のように hoge
さんが
sudo -u piyo cp file1 file2
とできてもうれしくないし。。
なので、 (root)
と具体的に指定してもいいけど、ここも (ALL)
にしとけばいいでしょう。
ユーザー名
の部分はグループ指定もできるようだ。グループ指定は、頭に %
をつける。
複数指定したいときはコンマをつかって並べる。
だから、実質的にやりたいことは
%hogegroup ALL=(ALL) /bin/mount, /bin/umount
みたいな書き方になる。
hogegroup
に所属するユーザーが mount
と umount
を実行できる。
さらに man sudoers
を読んでいるとエイリアス指定を使って書くこともできるみたい。
以下のような感じ。
# User alias specification
User_Alias HOGEPIYO_GRP = hoge, piyo
# Cmnd alias specification
Cmnd_Alias ALLOWED_CMD = /bin/mount, /bin/umount
HOGEPIYO_GRP ALL=(ALL) ALLOWED_CMD
ついでに NOPASSWD:
タグをつけるとパスワード入力を省ける。
HOGEPIYO_GRP ALL=(ALL) NOPASSWD: ALLOWED_CMD
ちなみに /etc/sudoers
の編集は直接エディタでやらずに visudo
コマンドで。
文法チェックをしてくれます。
blog comments powered by Disqus