LDAP 细节—ACL 权限控制
针对 LDAP 需要多管理员模式,记性 ACL 权限控制。
修改已经存在的 LDAP 配置文件加入 ACL 控制
# cat acl.ldif
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: to attrs=userPassword
by dn="cn=manager,dc=magic,dc=com" write
by dn.children="ou=managers,dc=magic,dc=com" write
by anonymous auth
by self write
by * none
olcAccess: to *
by dn="cn=manager,dc=magic,dc=com" write
by dn.children="ou=managers,dc=magic,dc=com" write
by * read
# ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f acl.ldif
access to attrs=userPassword
通过属性找到访问范围密码- 超级管理员也就是我们ldap配置文件里写的
rootdn:"cn=manager,dc=magic,dc=com"
有写(write)
权限 - 管理员可能不止一个,创建管理员组
"ou=managers,dc=magic,dc=com"
把管理员统一都放到这个组下,管理员组下的所有用户(dn.children)有写权限 - 匿名用户
(anonymous)
要通过验证(auth)
- 自己
(self)
有对自己密码的写(write)
权限,其他人(*)都没有权限(none)
access to *
所有其他属性- 超级管理员
rootdn:"cn=manager,dc=magic,dc=com"
有写(write)
权限 - 管理员
"ou=managers,dc=magic,dc=com"
成员有写(write)
权限; - 其他人
(*)
只有读(read)
权限