2014-11-14 26 views
2

a)和b)有什麼區別?OpenLdap - attrs = entry的用途?

一個)

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 

兩者似乎給予相同的結果(??)

回答

0

聲明attrs=<attrlist>選擇訪問控制規則應適用的屬性,其中<attrlist>是逗號分隔的屬性列表。

ObjectClass也可能指定名稱,這將影響該objectClass所要求和/或允許的所有屬性。

此外,僞屬性 「進入」 和 「孩子」 可以指定:

  • attrs=entry訪問條目本身
  • attrs=children獲取條目的子女

我覺得這是和沒有區別),B),因爲attrs應該退回到默認值,如果沒有指定:

  • 一)attrs=entry =>進入匹配條目本身。
  • b)沒有attrs子句=>[email protected]默認爲隱含,表示所有屬性都被解決。

@extensibleObject涵蓋了一切,包括僞attrs條目和兒童。

+0

謝謝!你解釋得很清楚。你應得到50分的獎勵! – yapkm01

0

第一形式允許訪問條目本身以及它的屬性。見access

+0

我覺得第二種形式也允許訪問條目。如果不是'訪問'聲明的目的是什麼?唯一的目的是更新條目 – yapkm01