IBM TDS 权限问题 LDAP: error code 50

IBM TDS 权限问题 LDAP: error code 50
LDAP服务器:IBM Tivoli Directory Server6.2(以下简称TDS)

使用普通用户的账号(非:管理员)密码进入LDAP后,要修改密码。
就是简单的modifyAttributes操作userPassword属性。
提示如下错误:
javax.naming.NoPermissionException: [LDAP: error code 50 - Insufficient Access Rights]; remaining name

大概知道是TDS中访问控制(ACL)的配置问题
折腾半天终于弄明白了这其中的意思,这些写下来给有缘者帮助。

ACL配置大概意思就是
对指定的目录,限制性的开放权限给用户,或者组。

下面通过操作来说下我的理解:

默认普通用户条目是能查看所有条目,不允许编辑任何条目,包括密码
期望实现配置:普通用户可以修改密码条目,不能查看条目信息。

进入 Tivoli Directory Server Web 管理工具,进入服务器后。
目录管理-->管理条目  
选中要配置的条目,在选择操作中选择《编辑ACL...》,点击执行 进入到编辑界面

有效的 ACL:其作用的ACL配置(默认有一条cn=anybody的可读的配置,当配置新的后,会覆盖它)
有效的所有者:其作用的所有者,会有一条管理员的主题DN
未过滤的 ACL:一般新建ACL在此处新建,传播选项的意思就是,是否作用于选中条目的子目录。这里我们在这个页面点击  添加 ,注意选上传播。进入到编辑页面后,在主题DN输入  cn=Authenticated    。主题DN指的是   要限制的用户或者用户
cn=Authenticated是伪DN,指所有通过验证的用户。其他伪DN还有: cn=anybody(任何用户,包括匿名),cn=this(当前选择的条目)。

主题角色:我选的是角色,按TDS文档cn=Authenticated 应该是组,可是选了那个建不了,求解.
下面 添加子代, 删除条目, 安全类访问权全部选择为拒绝,或者不选。这样就没有这些操作的权限

属性:因为是要允许修改密码,因此选择userPassword点击 定义下面列表出现后   读写选择授权。
然后点击确定返回到未过滤的 ACL的页面  注意 在此页面再点击一次确定。我就经常忘了在这页面点确定,然后没保存 

另说下
所有者:指的是这个条目的所有者,添加 主题 DN给所有者有,这个DN有这个条目的全部权限。

根据上面的操作应该可以理解这个ACL的用途,有误解地方,欢迎留言指正,有建议多多提





你可能感兴趣的:(IBM TDS 权限问题 LDAP: error code 50)