2016-05-02 29 views
0

私はdebian上でldap 2.4.40を実行していますが、私はopenldapで新しいACLを設定する際に問題があります。openldap ACLが読み取られない

57271dfe => acl_get: [4] attr children 
57271dfe => acl_mask: access to entry "dc=test,dc=com,ou=accounts,dc=xxxxxx,dc=xx", attr "children" requested 
57271dfe => acl_mask: to all values by "cn=extra,ou=system,dc=xxxxx,dc=xx", (=0) 
57271dfe <= check a_dn_pat: self 
57271dfe <= check a_dn_pat: cn=admin,dc=xxxxx,dc=xx 
57271dfe <= check a_dn_pat: * 
57271dfe <= acl_mask: [3] applying read(=rscxd) (stop) 
57271dfe <= acl_mask: [3] mask: read(=rscxd) 
57271dfe => slap_access_allowed: add access denied by read(=rscxd) 
57271dfe => access_allowed: no more rules 

すべて私のACLを読んでていないようです:私はslapaddをを行うときに、ここで

olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=extern 
al,cn=auth manage by * break 
olcAccess: {1}to attrs=userPassword by self write by anonymous auth by dn="c 
n=admin,dc=xxxxx,dc=xx" write by * none 
olcAccess: {2}to dn.base="" by * read 
olcAccess: {3}to * by self write by dn="cn=admin,dc=xxxxx,dc=cc" write by * read 
olcAccess: {4}to attrs=userPassword by dn="cn=extra,ou=system,dc=xxxxx 
,dc=xx" write 
olcAccess: {5}to * by dn="cn=extra,ou=system,dc=xxxxx,dc=xx" write 

をしてデバッグトレースされる:ここで私が設定したACLがありますか?それは?

もしそうなら、alc#4 et#5(書き込みアクセスあり)の「余分な」ユーザーを持つオブジェクトを追加することが許可されるべきですか?

答えて

0

これは、私が信じている通り、OpenLDAP FAQです。抜粋:

ここでの順序は非常に重要です。被写体が一致するとすぐに マスクが決定され、解像度が停止します。

デバッグメッセージは、ルール#3で一致があることがわかります。ルール3のwrite by * readコンポーネントがリクエスタ(cn=extra,ou=system,dc=xxxxx,dc=xx)と一致するため、処理は停止します。これは、現在のルール5をルール3の前に置く必要があることを意味します。

+0

Bertoldはおかげさまで、魅力的です。あなたが正しいFAQ記事を見つけるのは簡単です! –

関連する問題