次に設定するのは実行権限の指定セクションで、この部分は“who where = (whoelse) what”という構文により「whoという者(ユーザー、グループ、ユーザーエイリアス)はwhereというホスト上にてwhatというコマンドをwhoelseというユーザーの有す権限で実行できる」という指定を行っていけばいい(この説明だけでは分かりにくいかもしれないので設定ファイルのサンプルを用意した)。ここでは、例えばsudoをパスワードなしで実行可能にするNOPASSWDなど、幾つかのオプション指定をすることも可能だが、詳細はマニュアルを参照して頂きたい。
なお本稿で掲載したサンプルは、設定ファイルおよび各種オプションがどのような形式で記述されるかの概要を示すためのもので、使用可能なすべての設定を網羅したものとはなっていない(実際にどのような設定が可能であるかは「man sudoers」にて確認のこと)。
#
# ディズニーのキャラクタ名を拝借したサンプル/etc/sudoersファイル
#
# ユーザーエイリアス
# 1行目では特定の3ユーザーを一括して参照するエイリアスを設定
# 2行目ではdonaldを除いたducksユーザーグループのエイリアスを設定
# 3行目では単一ユーザーのみのエイリアスを設定しているが、これは将来の便を図っての措置
#
User_Alias NEPHEWS = huey, dewey, louie
User_Alias ALL_DUCKS_BUT_DONALD = %ducks, !donald
User_Alias MICKEY = mickey_mouse
# コマンドエイリアス
Cmnd_Alias HALT_OR_REBOOT = /sbin/halt
Cmnd_Alias KILL = /usr/bin/killall
Cmnd_Alias SHUTDOWN = /sbin/shutdown
Cmnd_Alias SU = /bin/su
# 権利設定:誰が何を実行できるか
# 標準の設定ルール:rootおよびwheelグループユーザーにはフルアクセスを許可
root ALL = (ALL) ALL
%wheel ALL = (ALL) ALL
# ここではmickeyがシステム管理者であるとして、全権限をパスワード不要で与える
MICKEY ALL = NOPASSWD: ALL
# NEPHEWSにはコンピュータの停止系コマンドを許可
NEPHEWS HALT_OR_REBOOT, SHUTDOWN
設定ファイルの末尾には追加設定の指定行を記述しておくことも可能で、具体的には次のような指定が行える。
エディタの終了時にはvisudoによって設定内容のエラーがチェックされるため、問題点を指摘された場合は該当カ所を設定し直せばいいが、あるいはすべての変更を取り消して編集前の状態に設定ファイルを復帰させることもできる。なお、エラー部分を残したままファイルを保存しておくという第3の選択肢も取れなくはないが、その場合は問題カ所が訂正されるまで全ユーザーがsudoコマンドを使用不可能な状態に置かれるので、可能な限り避けるべきである。
Copyright © 2010 OSDN Corporation, All Rights Reserved.