本記事では、CentOS5.2でsuコマンドを実行できるユーザを制限する方法をまとめる。他のユーザのパスワードを知っていたとしても(不正に知りえた情報かもしれないので)、誰でもsuを実行できることは危険である。したがって、suを実行できるユーザの制限をする。
設定
/etc/login.defsに次の1行を追加する(<---この設定は、最近は不要らしい。pam_wheel.so を使う場合は、SU_WHEEL_ONLY の設定は不要より)。
SU_WHEEL_ONLY yesこれは、wheelグループに所属するユーザだけsu権限が得られることを意味している。
さらに、/etc/pam.d/suで次の箇所
# Uncomment the following line to require a user to be in the "wheel" group. #auth required pam_wheel.so use_uidをコメントアウトして、
# Uncomment the following line to require a user to be in the "wheel" group. auth required pam_wheel.so use_uidのように変更する。 これで、ユーザがwheelグループに所属している場合だけsuの実行権限が与えられる。 ちなみに、よく似た行があるので別の箇所をコメントアウトしないように注意する。
次に、あるユーザhogeをwheelグループに所属させたいときは、
# usermod -G wheel hogeを実行すれば良い。
sudoの利用
ここでは、ユーザにsudoの実行権限を与える方法を説明する。
sudoを使うと、別のユーザとしてコマンドを実行することができる。 suではrootパスワードを入力してroot権限を取得する必要があったが、 rootパスワードを入力するリスクを回避するためなどの理由で、sudoが使われることがある。
sudoはsuとは異なり、rootパスワードは必要とされない。現在のアカウントのパスワードを 入力して、本人確認が取れればroot権限でコマンドを実行できる。 もちろん、sudoの実行権限の与えられるユーザは十分信頼できることが前提である。
ユーザhogeにsudoの実行権限を与える方法は、まずhogeをwheelグループに所属させて、次にwheelグループに所属するユーザにsudoの実行権限を与えることで実現する。sudoの権限を設定するファイルは/etc/sudoersであるが、これは直に編集するのでなくvisudoという専用のツールで編集する。
# visudoで編集モードに入る。次の行
#%wheel ALL=(ALL) ALLを探して、コメントを外せば良い。
sudoを使うことで、rootパスワードをユーザに知らせることなくroot権限を与えることができるようになるというメリットはある。また、sudoで実行したコマンドの履歴は保存される。しかし、rootパスワードなしで一般ユーザがroot権限を取得できるということはセキュリティ上あまり好ましくないので、これはデメリットでもある。ゆえに、sudoを利用する場合は、それが本当に必要なのかどうかを十分検討する必要がある。
0 コメント:
コメントを投稿