OpenLdap - attrs = entry的目的?

时间:2014-11-14 06:18:57

标签: ldap openldap

a)和b)之间的区别是什么?

a)

access to dn.regex="^ou=addressbook,cn=([^,]+),ou=people,dc=example,dc=com$" 
          attrs=entry
   by dn.exact,expand="cn=$1,ou=people,dc=example,dc=com" read
   by group.exact="cn=itpeople,ou=groups,dc=example,dc=com" write
   by users none

b)中

access to dn.regex="^ou=addressbook,cn=([^,]+),ou=people,dc=example,dc=com$" 
   by dn.exact,expand="cn=$1,ou=people,dc=example,dc=com" read
   by group.exact="cn=itpeople,ou=groups,dc=example,dc=com" write
   by users non

两者似乎都给出相同的结果(??)

2 个答案:

答案 0 :(得分:0)

第一种形式允许访问条目本身及其属性。请参阅access

答案 1 :(得分:0)

语句attrs=<attrlist>选择访问控制规则应该应用的属性,其中<attrlist>是以逗号分隔的属性列表。

也可以指定

ObjectClass 名称,这将影响该objectClass所需和/或允许的所有属性。

此外,伪属性&#34; 条目&#34;和&#34; 孩子&#34;可以指定:

  • attrs=entry访问条目本身
  • attrs=children访问该条目的孩子

我认为a)和b)之间没有区别,因为如果没有指定,attrs应该回退到默认值:

  • a)attrs=entry =&gt;访问匹配的条目本身。
  • b)没有attrs条款=&gt;默认情况下隐含attrs=@extensibleObject,表示所有属性都已得到解决。

@extensibleObject涵盖了所有内容,包括伪attrs条目和子项。