LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1066|回复: 7

LDAP里如何实现存取控制?

[复制链接]
发表于 2003-9-25 17:03:06 | 显示全部楼层 |阅读模式
比如在mysql里可以实现某个用户只能从某个IP过来访问,并且只能读某个库或修改某个库
在LDAP里建这个用户要如何建呢?如何配置呢?
发表于 2003-9-25 20:34:01 | 显示全部楼层
LDAP的权限控制也是很灵活的,至于有没有通过IP作为条件限制我不知道,因为当初没用到这方面,你可以查查slapd.conf的帮助
建议你把所有权限控制的代码作成一个文件(比如access.conf),然后在 slapd.conf里包含它,这样方便管理。
 楼主| 发表于 2003-9-26 08:27:13 | 显示全部楼层
其实我们只是想统一用户认证
听说LDAP在读,查询,认证操作上要比mysql来的快,所以我们想把用户认证这块放在LDAP上面
这样的话,我们各个应用系统就方便用户的统一认证了
比如办公系统,邮件系统,定餐系统,网络盘,内部银行,消费系统等。
目前我们每套系统都是因为平台的不同,而导致了用户的不统一
为了能做到一次登陆就可以用所有应用平台,必须要生成各种会话。这样如果用户一多就惨了
我们是基于这点考虑,才想选择使用LDAP的

我需要的安全模式只是需要在各ou或dc的结点上建些能read或write的用户(这些用户并不是我们应用系统的成员.只是用在php或asp的连接用户)
并能控制它的连接主机。
我在openldap里好像没看到这方面的详细信息..
希望能得到你们的帮助.
发表于 2003-9-26 08:57:47 | 显示全部楼层
我已经说过,LDAP的权限控制也很灵活,通过ACL(ACCESS CONTROL)可以实现你的要求。如:access to dn=* by * read by * write
如果你正常安装了LDAP,通过“man slapd.conf”可以看到相关配置例子,另外在slapd.conf的注释里和安装档案附带的说明档里也应该能找到相关资料。
 楼主| 发表于 2003-9-26 09:51:11 | 显示全部楼层
我用了
access to * by dn="cn=read,dc=test,dc=cn" read
access to * by dn="cn=write,dc=test,dc=cn" write
access to * by * none

我用了这三句
意思是我不让anonymous来访问ldap
只建一个读用户和一个读写用户
方便我php操作
但这三条好像不起作用.
我的这两个用户都建了.

cn=read,dc=test,dc=cn
objectclass:OrganizationalPerson

我用phpLDAPadmin建的!
 楼主| 发表于 2003-9-26 11:28:26 | 显示全部楼层
access to *
        by self write
        by dn="cn=writer,dc=tset,dc=cn" write
        by dn="cn=viewer,dc=tset,dc=cn" read
        by users auth
        by anonymous auth
        by * none


我一共加上了这五句才实现了那两个用户的读写权限
我就不明白为什么要这几句?
        by self write

        by users auth
        by anonymous auth

如果去掉的话就会出错
发表于 2003-9-26 18:51:11 | 显示全部楼层
更安全的方法是用防火墙,
LDAP端口389只对指定的IP开放。
 楼主| 发表于 2003-9-27 09:02:17 | 显示全部楼层
楼上的这个办法有点笨。不过也是可行的。哈哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表