资源描述:
《openldap用acl控制访问权限》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、OpenLDAP:用ACL控制访问权限说明:这段时间我在学习Openldap的知识,关于访问控制权限这一块遇上较大的麻烦。我在网上看到了一些人的帖子,有些写的不错,有些写的不全,还有些完全是照抄别人的,还不注明出处。因此我把我搜集到的东西整理出一个文档,献给各位正在学习openldap的朋友,我的初衷是回馈社会,支持免费和开源,水平有限,诸多包涵。我所引用到的东西,我都将注明出处,感谢提供我信息的人,我想说,youarethegreatest。第一部分语法综述1.用ACL控制授权我们在LDAP中创建目录树后,最感兴趣的就是如何控制用户在目录树中的权限(读写)。谁在什么条件下有记录权限,我们有权
2、限看到哪些信息。ACL(AccessControlList)访问控制列表就是解决用户权限问题的。2.我们要把ACL写在哪里?ACL写在OpenLDAP的服务端全局配置文件slapd.conf中,如下这段即为其指令:#accesstodn.base=""by*read#accesstodn.base="cn=Subschema"by*read#accessto*#byselfwrite#byusersread#byanonymousauth也可以写在一个单独的文件中,如access.conf,然后在全局配置文件slapd.conf中调用,在配置文件中引入这个文件即可,如下:include/etc
3、/openldap/access.confinclude后面的路径为该文件的放置地址。3.ACL语法基础怎么看懂ACL指令?首先看下ACL访问指令的格式:################################################accessto[resources]by[who][typeofaccessgranted][control]by[who][typeofaccessgranted][control]#More'by'clauses,ifnecessary....################################################指令
4、中包含1个to语句,多个by语句。这个指令的大体意思是,通过accessto约束我们访问的范围(resources),通过by设定哪个用户(who)获取对这个约束范围有什么权限(typeofaccessgranted),并控制(control)这个by语句完成后是否继续执行下一个by语句或者下一个ACL指令。Accessto[resources]resources可以有多种形式,如DN,attrs,Filters.以下即详细说明。3.1.通过约束DN进行访问(同层级访问)如下所示,accesstodn="uid=matt,ou=Users,dc=example,dc=com"by*none这个
5、指令是指访问uid=matt,ou=Users,dc=example,dc=com这个DN,即把访问的范围约束在这个DN中。by*none是指对于任何人的访问都是拒绝的。总体的意思就是,任何人都没有权限访问uid=matt,ou=Users,dc=example,dc=com这个DN,当然,服务器管理员是可以访问的,不然它无法维护这个OpenLDAP中的用户信息。再来看一个,accesstodn.subtree="ou=Users,dc=example,dc=com"by*none在这个例子中,我们用了dn.subtree。在我们的目录信息树中,在ou=Users子树下可能有多个用户。举例来说
6、,DN为uid=matt,ou=Users,dc=example,dc=com就是ou=Users,dc=example,dc=com的子树,当要试图访问他时,这个ACL指令就起了作用。总体的意思是,任何人都没有权限访问ou=Users,dc=example,dc=com以及其子树的信息。#######################################################################dn.base:RestrictaccesstothisparticularDN.Thisisthedefault,anddn.exactanddn.baselevel
7、aresynonyms(同义词)ofdn.base.dn.one:RestrictaccesstoanyentriesimmediatelybelowthisDN.dn.onelevelisasynonym.dn.children:Restrictaccesstothechildren(subordinate)entriesofthisDN.Thisissimilartosubtree,excep