這些是我的個理解,其中或許不當之處還很多,大家討論一下……
1 語法
access to [by ]+
其中,access to指示啟用訪問控制,上句大致可以理解為:
access to 《對什麼目標進行控制》[by 《作用於哪些訪問者》 《授予什麼樣的訪問許可權》《採取什麼樣的匹配控制動作》]+
2 剖析
2.1 控制目標
這一域主要是實現對acl應用物件的指定,物件可以是記錄和屬性。選擇acl目標記錄的方法一般有兩種:dn和filter,語法為:
::= * |
[dn[.]=| dn.=]
[filter=] [attrs=]
2.1.1 指定所有的記錄
access to *
2.1.2 通過dn指定
語法如下:
to dn[.]=
::= regex | exact
to dn.=
::= base | one | subtree | children
第一種方法是使用正規表示式(dn.regex)或精確匹配(dn.style)的方式來匹配符合條件的記錄(這個好像不像想象的那麼簡單,實現起來頗為費腦筋),例如:
access to dn="^.*,uid=([^,]+),ou=users,(.*)$"
第二種方法通過「區域」選擇的方法進行目標記錄的選取,對以指定的dn開始的目錄樹區域進行目標記錄匹配。匹配區域的方式共有四種:
base 只匹配dn本身一條記錄
one 匹配以給定dn為父目錄的所有記錄
subtree 匹配以給定dn為根目錄的所有子樹內的記錄
children 匹配給定dn下的所有記錄,但應該不包括以dn直接命名的那條記錄(參見例子的解釋)
例如:對於
0: dc=mydomain,dc=org
1: cn=root,dc=mydomain,dc=org
2: ou=users,dc=mydomain,dc=org
3: uid=samba,ou=users,dc=mydomain,dc=org
4: cn=administator,uid=samba,ou=users,dc=mydomain,dc=org
5: uid=guest,ou=users,dc=mydomain,dc=org
規則 dn.base="ou=users,dc=mydomain,dc=org" 只會匹配記錄2
規則 dn.one="ou=users,dc=mydomain,dc=org" 匹配記錄3和記錄5,記錄4是記錄3的子目錄,故不算在內
規則 dn.subtree="ou=users,dc=mydomain,dc=org" 匹配記錄2、3、4、5
規則 dn.children="ou=users,dc=mydomain,dc=org" 匹配記錄3、4、5,因為記錄0、1和2都是以dn直接命名的,故不匹配
2.1.3 通過filter匹配記錄
通過filter指定過濾規則進行記錄過慮,語法如下:
access to filter=
其中filter指定的為search的過濾規則,這類同於linux
OPENLDAP 訪問控制
1 語法 access to by 其中,access to指示啟用訪問控制,上句大致可以理解為 access to 對什麼目標進行控制 by 作用於哪些訪問者 授予什麼樣的訪問許可權 採取什麼樣的匹配控制動作 2 剖析 2.1 控制目標這一域主要是實現對acl應用物件的指定,物件可以是記錄和屬性。...
訪問控制列表
使用 acl 的指導原則 命名 acl 為 acl 指定名稱 名稱中可以包含字母數字字元。建議名稱以大寫字母書寫。名稱中不能包含空格或標點,而且必須以字母開頭。您可以新增或刪除 acl 中的條目。acl 的最佳做法 注 使用 acl 時務必小心謹慎 關注細節。一旦犯錯可能導致代價極高的後果,例如停機...
訪問控制列表
1 acl access control list。訪問控制列表 是用來實現資料報識別功能的 2 acl可應用於諸多方面 包過濾防火牆功能 nat network address translation,網路位址轉換 qos quality of service,服務質量 的資料分類 路由策略和過濾...