Debianでsudoを使う

Debian GNU/Linux 4.0(etch)にsudoをインストールします。

sudoを使用する利点には、次のようなものがあげられます。(参考:管理者権限の制限のためのsuとsudoの基本)

  • rootのパスワードを入力する必要がない。(パスワードの漏えい対策)
  • 実行コマンドのログが残る。
  • 個別にコマンドに対する権限が設定できる。

sudoをインストール

sudoをインストールします。

# aptitude update
# aptitude install sudo

sudoの設定を行うには、visudoコマンドを使用します。このコマンドを実行するとエディタが起動し 編集可能になります。

# visudo

例えば、「」で設定したadmグループのみroot権限を与える場合、次のように設定します。

# User privilege specification
root    ALL=(ALL) ALL
%adm    ALL=(ALL) ALL

上記設定の場合、左から順に次のような意味になります。

%adm 対象となるグループまたはユーザー。グループの場合、「%」を付けユーザーの場合は、何もつけない。
ALL = ホストに対する許可。ローカルネットワークのみの場合など、ここで設定します。
(ALL) 指定されたユーザー等の権限 (ALLの場合ルート権限となる)
ALL 利用できるコマンド。(ALLの場合、カッコで括ったユーザの使える全てのコマンド)

sudoの設定例

hogeユーザーにshutdownコマンドの実行を許可する場合、次のように指定します。

hoge ALL = (root) /sbin/shutdown

パスワードの入力を無しで実行できるようにする場合、次のように指定します。

hoge ALL = (ALL)NOPASSWD: ALL

指定した範囲のホストからのみ実行を許可する場合、次のように指定します。

Host_Alias LOCAL = 192.168.1.0/24

hoge LOCAL = (ALL) ALL

上記例では、ホストの指定にエイリアスを使用しています。sudoersでは、 4種類のエイリアスを定義できます。

User_Alias ユーザー名の別名
Runas_Alias ユーザー等の権限の別名
Host_Alias 接続元ホストの別名
Cmnd_Alias 実行コマンドの別名