用ACL控制授权
我们在LDAP中创建目录树后,最感兴趣的就是如何控制用户在目录树中的权限(读写)。谁在什么条件下有记录权限,我们有权限看到哪些信息。ACL(Access Control List)访问控制列表就是解决用户权限问题的。
我们要把ACL写在哪里?
ACL写在OpenLDAP的服务端全局配置文件slapd.conf中,如下这段即为其指令:
# access to dn.base="" by * read
# access to dn.base="cn=Subschema" by * read
# access to *
# by self write
# by users read
# by anonymous auth
也可以写在一个单独的文件中,如access.conf,然后在全局配置文件slapd.conf中
调用,在配置文件中引入这个文件即可,如下:
include /etc/openldap/access.conf
include后面的路径为该文件的放置地址。
ACL语法基础
怎么看懂ACL指令?
首先看下ACL访问指令的格式:
################################################
access to [resources]
by [who] [type of access granted] [control]
by [who] [type of access granted] [control]
# More 'by' clauses, if necessary....
################################################
指令中包含1个to语句,多个by语句。
这个指令的大体意思是,通过access to约束我们访问的范围(resources),