FreeBSD/sudo

sudoインストール・設定

sudo は一般ユーザに特定のコマンドを実行されるためのものである。
一般ユーザ権限では普通実行できないコマンドを、あるユーザだけには許可したいが、root 権限を与えたくはない場合に使う。
また、誰がどういうコマンドを実行したかは /var/log/messagesに記録される。
sudo の設定ファイルは FreeBSD では /usr/local/etc/sudoers このファイルを直接編集してはいけない。
visudo というファイル編集用のコマンドを使う。
FreeBSDでは標準でインストールされていないので、始めにインストールする必要がある。

  1. 環境
  2. インストール
  3. 設定例

環境

FreeBSD 6.0
sudo-1.6.8.9

インストール

# cd /usr/ports/security/sudo
# make clean
===>  Cleaning for sudo-1.6.8.12
# make install

sudoできるユーザの追加

※visudoを使用して/usr/local/etc/sudoersを編集します。

# visudo
--------------------例-----------------------
hoge ALL=/sbin/shutdown
--------------------例-----------------------

設定例

▼hogeユーザにてsudoでシャットダウンできるようにする。

hoge ALL=/sbin/shutdown

▼パスワード入力無しでpkg_addを実行させる。

hoge ALL=NOPASSWD: /sbin/pkg_add

▼hogeユーザはwwwユーザ権限でパスワード無しでviとlsを実行できる。

hoge ALL=(www) NOPASSWD:/usr/local/bin/vi,/bin/ls
----------------コマンド例--------------------
hoge$ sudo -u www vi AAAA
hoge$ sudo -u www ls AAAA
----------------コマンド例--------------------

▼Aliasこんな感じで設定したりするとsudoを入力し長いコマンドを入力する必要が無くなったりします。

# vi ~/.cshrc
---------------------追加---------------------
alias vi sudo -u www vi
alias pkg_add sudo pkg_add
alias mount sudo mount
alias umount sudo umount
---------------------追加---------------------

もっと詳細な設定方法は ⇒ sudoers