2011年4月4日月曜日

sudoコマンド

sudoは、一人の管理者に権限と責任が集中しているサーバ管理を、複数の管理者チームに権限と責任を分散させることが目的です。なぜなら、権限を集中させることは、リスクや管理者の負荷を大きくするからです。sudoを使うことによって、リスクや負荷を小さくすることができます。

sudoを取り入れることで、パスワード入力だけでスーパーユーザになれるといったセキュリティ上の問題があるsuコマンドを廃止にすることも可能です。


sudoの設定
■sudoの設定ファイルを見て分かるように、rootユーザでしか設定できません。

$ ls -al /etc/sudoers
-r--r----- 1 root root 3216 4月 2 10:03 /etc/sudoers

■それでは、shindo_tユーザにsudo権限を与えましょう。
75行目あたりに下記のように入力します。

$ visudo

## Next comes the main part: which users can run what software on
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
## user MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
shindo_t ALL=(ALL) ALL

■実際にsudoコマンドを使いましょう。

$ sudo more /etc/sudoers
[sudo] password for shindo_t: ********* ←ここは、shindo_tのパスワードを入力します。


今回は紹介しなかったけども、sudoで与える権限を指定することもできます。
これも、visudoコマンドで /etc/sudoers の中身を書き換えるだけです。


アクセスログの確認

$ tail -n 5 /var/log/secure

Apr 4 22:44:06 lovemoe su: pam_unix(su-l:session): session opened for user root by shindo_t(uid=500)
Apr 4 22:52:01 lovemoe sudo: root : TTY=pts/1 ; PWD=/root ; USER=root ; COMMAND=/bin/more /etc/sudoers
Apr 4 22:52:17 lovemoe su: pam_unix(su-l:session): session opened for user shindo_t by shindo_t(uid=0)
Apr 4 22:52:34 lovemoe sudo: shindo_t : TTY=pts/1 ; PWD=/home/shindo_t ; USER=root ; COMMAND=/bin/more /etc/sudoers
Apr 4 22:56:57 lovemoe su: pam_unix(su-l:session): session opened for user root by shindo_t(uid=500)


このように、ユーザ追加・パスワード設定・ログイン/ログアウト・sudo利用状況が記録されます。


suの無効化
適切な設定をした後は、suコマンドを無効化することが推奨されています。su認証設定ファイル /etc/pam.d/su の5行目あたりに pam_deny.so モジュール認証行を追加するだけで su コマンドを無効にすることができます。
下記の赤字を入力します。

$ vi /etc/pam.d/su

# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
auth required pam_deny.so


下記のように正しいパスワードを入力しても拒否されます。
$ su
パスワード: ****
su: incorrect password

0 件のコメント:

コメントを投稿