Personal tools
You are here: Home Linuxの設定 suの制限
Document Actions

suの制限

by tamohiko last modified 2006-10-30 19:11

suコマンドの制限

環境

今回のメモ(手順)を作る際に使用した環境です。
(この環境以外では設定方法が異なる可能性もあります。)

使用OS CentOS 4.3

なぜsuの使用を制限するの?

多くのLinux初期設定では全てのユーザがsuコマンドを使用することによって、rootユーザになることが出来てしまいます。 rootのパスワードが分ってしまえば、誰でも彼でもrootになれるというのはセキュリィテ上ちょっと問題があるので、su出来るユーザの制限を行うことにします。

パスワード管理の甘いユーザのアカウント経由で攻撃を受けたり、何かの拍子でrootのパスワードを知ってしまったユーザに、色々と設定等をいじられては困りますからね :-p

設定方法

su の使用を制限するには以下の設定を行わなければいけません。

  • /etc/login.defsの編集
  • /etc/pam.d/suの編集
  • su 許可ユーザをwheelグループに追加
/etc/login.defs 編集

/etc/login.defsを編集して、suコマンドはwheelグループに属するユーザのみ使用できるように設定します。

# cp -p /etc/login.defs /etc/login.defs_yyyymmdd
# vi /etc/login.defs
編集項目
デフォルトの設定では「SU_WHEEL_ONLY」項目が無いので以下の設定を追加します。

SU_WHEEL_ONLY yes

/etc/pam.d/su 編集

suの認証を行っているモジュールであるpam_wheel.soの設定を変更し、wheelグループに属しているユーザのみ suが出来るように設定変更します。

# cp -p /etc/pam.d/su /etc/pam.d/su_yyyymmdd
# vi /etc/pam.d/su
編集箇所(CentOS 4.3の場合)

CentOS4.3で確認したところ、「ユーザがwheelグループである必要のある場合はコメントを外してね。」(適当な訳ですが・・・)とあるので #を消去して、設定を有効化させます。

編集前
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required /lib/security/$ISA/pam_wheel.so use_uid

編集後
auth required /lib/security/$ISA/pam_wheel.so use_uid

なお、別のOS(ディストリビューション)やバージョンによっては、以下のような設定な場合もあるようです。 上記の設定で上手くsuの使用制限が出来ない場合は、色々と試してみてください。

auth required /lib/security/pam_wheel.so group=wheel
auth required /lib/security/pam_wheel.so use_uid group=wheel

注意

間違ってこちらのコメントをはずしてしまうと、wheelグループに属している ユーザはsuするとパスワードなしでrootになれてしまいます。セキュリティ上問題があるので 間違えないようにしてくださいね。

# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient /lib/security/$ISA/pam_wheel.so trust use_uid

group 設定

/etc/groupを編集するか、usermodコマンドを使用して、suを許可するユーザをwheelグループに追加します。

/etc/groupファイルを編集する場合
# vi /etc/group
編集箇所

今回は、hogeというユーザのsuを許可するように設定します。
ユーザを追加する際は、「 , 」で区切っていきます。

wheel:x:10:root

wheel:x:10:root,hoge  <--hogeユーザを追加

usermod コマンドを使用する場合
usermodコマンドを使用して、hogeユーザの副グループを追加します。
# usermod -G wheel hoge
設定確認

設定が完了したら、実際にwheelグループに属していないユーザでsuコマンドを実行してみます。

$ su -
Password:
su: パスワードが違います

正しいパスワードを入れても、パスワードが違いますと表示されてsu出来なくなっているはずです。

注意点

この設定を行うとwheelグループ以外のユーザがsuコマンドでrootになれないだけでは無く、他のユーザにもsuすることが出来なくなります。

su動作検証結果
ユーザのグループ設定
  • hogeユーザ wheelグループに属している
  • foo ユーザ wheelグループに属していない
  • bar ユーザ wheelグループに属していない
hoge から root への su OK
foo から root への su NG
foo から hoge への su NG
foo から bar への su NG
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: