Openldap 訪問控制列表

2021-06-02 02:31:12 字數 1610 閱讀 5124

這些是我的個理解,其中或許不當之處還很多,大家討論一下……

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,服務質量 的資料分類 路由策略和過濾...