dポイントプレゼントキャンペーン実施中!

LDAP認証の設定がされているLinuxサーバ(CentOS 5.1)へログインする
際に、特定のグループに所属しているユーザのみ許可するにはどうすれ
ばよいのでしょうか?

・grp1のldif
dn: cn=grp1,ou=Group,ou=People,dc=abc,dc=jp
objectClass: posixGroup
cn: grp1
gidNumber: 603
memberUid: user1
memberUid: user3

ユーザはuser1、user2、user3の3人がLDAPへ登録されています。
現在は3人ともログインできてしまう。
user1、user3のみログインできるようにしたい。

/etc/ldap.conf のpam_groupdnおよびpam_member_attributeを修正して
みましたが挙動は変わりません。

pam_groupdn cn=grp1,ou=Group,ou=People,dc=abc,dc=jp
pam_member_attribute memberUid

どなたかお知恵をお貸しください。

A 回答 (2件)

>/etc/ldap.conf が有効になってない気がしてきました。



通常/etc/ldap.confはnssの設定ファイルですね。
pamは/usr/local/etc/ldap.confを見に行ってませんか?
共有するためシンボリックリンクしておけばよいでしょう。
ln -s /etc/ldap.conf /usr/local/etc/ldap.conf

ちなみに私の環境ではGroupはPeopleの下におかず
dn: cn=users,ou=Group,dc=abc,dc=jp
objectClass: posixGroup
objectClass: top
cn: users
gidNumber: 1001
のようにしてますので若干ちがうのかもしれません

この回答への補足

yambejpさん
再度回答ありがとうございます。

そもそも、こちらの環境に誤りがありました。

まずgrp1 が正しく登録されていなかった。(致命的です。。)

>ちなみに私の環境ではGroupはPeopleの下におかず
仰るとおりで間違っていました。全て見直しました。


またログインですが、suとsshで挙動が違います。
(suはログインでないかもしれませんが。。。)

suは 現在は3人ともログインできてしまう。
sshは3人ともログインできません。

PAMによる設定の違いでしょうか?
PAMをもっとしっかり勉強する必要がありそうです。


sshでログインすると LDAPサーバ(slapd)のログに下記内容が出力されます。
/var/log/slapdの内容
Feb 15 22:10:25 abcldap slapd[14334]: conn=57 op=2 CMP dn="cn=grp1,ou=Group,dc=abc,dc=jp" attr="memberUid"
Feb 15 22:10:25 abcldap slapd[14334]: conn=57 op=2 RESULT tag=111 err=5 text=

グループのコンペアがFALSE(err=5)であることを示します。


ところが ldapcompare を直接実行するとTRUE(err=6)となります。
# ldapcompare -x -W 'cn=grp1,ou=Group,dc=mde,dc=jp' 'memberUid:devuser1'

/var/log/slapdの内容
Feb 15 22:13:50 abcldap slapd[14334]: conn=58 op=1 CMP dn="cn=grp1,ou=Group,dc=abc,dc=jp" attr="memberUid"
Feb 15 22:13:50 abcldap slapd[14334]: conn=58 op=1 RESULT tag=111 err=6 text=


コンペアの右辺がログには出力されていないので、同じコンペア式になっている
かわかりませんが、ふに落ちないところです。


以上、よろしくお願いいたします。

補足日時:2008/02/15 21:44
    • good
    • 0
この回答へのお礼

memberUid:cn=user1,ou=People,dc=abc,dc=jp
と登録することによりうまくいきました。

ありがとうございました。

お礼日時:2008/03/01 22:20

pam_filter gidNumber=603



とか?

この回答への補足

yambejp さん
回答ありがとう、ございます。

>pam_filter gidNumber=603
変わらず3人ともログインできてしまいました。

pam_filter はユーザエントリ内の属性をフィルタできるようです。
ユーザエントリのgidNumberは3人とも 600になっています。
pam_filter に gidNumber=603を書いたら、誰もログインできなくなるはずです。
/etc/ldap.conf が有効になってない気がしてきました。

特にサービスの再起動は要らないはずですし、なぜでしょう?

補足日時:2008/02/14 20:40
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!