hnakamur’s blog

ものすごい勢いで忘れる私のために未整理でもいいからとりあえずメモ

2008-12-03

Debianにはデフォルトではwheelグループが無い



新山 祐介さん著の入門OpenSSHサポートページ)で/etc/sudoersでwheelグループに対して許可を与える設定を使っているというのを呼んでまねしようとしたのですが(私はそれまでは直接ユーザーに許可を与えていた)、CentOSではwheelグループがあるのにDebianには無いことに気づきました。


検索するとDebian referenceに9.2.2 "Why GNU su does not support the wheel group"という節があることを発見。じゃあadmグループで代用するのかと思いきや、Securing Debian Manualに4.10 Providing secure user accessという節があり、wheelグループを追加するのがもっともきれいな方法だとされている。


で、/etc/pam.d/suを見ると以下のようなセクションがある。



# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth required pam_wheel.so


とりあえず



auth required pam_wheel.so group=wheel


と書き換えた後、



# addgroup --gid 11 wheel
# usermod -a -G wheel root
# usermod -a -G wheel rails # railsはsudoを許可したい一般ユーザー


を実行して(wheelのgidはCentOS5では10だが/etc/groupを見るとuucpにとられていて10の次は12だったので11にしてみた)



# su - rails
$ sudo whoami
Password:
rails is not in the sudoers file. This incident will be reported.


と試してみたがエラーになった。


/etc/sudoersへの追加は結局必要らしい(というかPAMのことがよくわかっていないことに今気づいた。後日勉強すること)。



# visudo




%wheel ALL=(ALL) ALL


という行を追加して再度sudoを試すと今度はできた。


その後再度/etc/pam.d/suを見てたら、さっきの節の前に



# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so


と書かれていることを発見。rootユーザーをwheelグループに追加するというのは不要でした。





ブログ アーカイブ