sudo をより便利に使うための sudoers の設定

sudo をより便利に使うための sudoers の設定

sudo は他のユーザの権限でコマンドを実行することができるコマンドです。
su で root にログインせずに、root 権限が必要なコマンドを使う場合によく使います。

Linux では標準のパッケージとしてインストールされていることが多いですが、NetBSD では pkgsrc (security/sudo) からインストールする必要があります。

visudo による sudoers の設定

sudo の設定は、sudoers というファイルに設定されます。
sudoers ファイルは直接編集しないで、visudo というコマンドを実行して編集します。

# visudo

sudoers に設定しておくと便利な例をいくつか紹介します。

sudo でパスワードを入れたら一定時間認証継続するようにする

timestamp_timeout に認証を継続する時間を設定することで、一定時間パスワードを再度入力せずに使えます。
例えば、10分間認証継続する設定は以下のようにします。

Defaults    env_reset, timestamp_timeout=10

sudo でパスワードなしで全てのコマンドが実行できるようにする

グループ wheel のユーザであれば、パスワードなしで全てのコマンドが実行できるようにする場合の例は以下のようになります。
(ユーザ root は全てのホストで全てのコマンドが実行できるようにしてます。)

# User privilege specification
root    ALL=(ALL) ALL

# Allow people in group wheel to run all commands without a password
%wheel  ALL=(ALL)       NOPASSWD: ALL

sudo に関する syslog の設定

sudo のログに syslog を利用する場合、sudo のデフォルトの facility は local2 となっています。
local2 は bind の facility で使われている場合が多いので、sudo の facility を local3 に変更します。

Defaults syslog=local3

NetBSD の場合、/etc/syslog.conf に以下のように設定することにより、syslog で sudo のログを /var/log/sudo.log に記録することができます。

# for sudo
local3.*         /var/log/sudo.log