由于联姻关系,我必须在 OpenLDAP 服务器中修改用户的 UID 和 DN。现在,我按照 Oracle 网站上的这个示例进行操作:https://docs.oracle.com/cd/E22289_01/html/821-1273/adding-modifying-and-deleting-directory-data.html(标题为“更改 RDN”)。
但是,用户现在通过其 UID 或 DN 与多个 LDAP 组相关联。ldapmodify 是否实际上也会更改这些关联组中的 UID/DN,还是必须在重命名用户本身后由管理员手动完成此操作?
谢谢你的帮助!
答案1
由于结婚,我必须修改 OpenLDAP 服务器中的用户的 UID 和 DN
也许已经太晚了,但你通常会尝试事先决定一个帐户命名约定,这样人们结婚、离婚、再婚时只需要调整他们的“ Display Name
“ 和/或其他名称相关属性(并可能设置额外的和新的默认电子邮件别名),而不是每次改变婚姻状况和首选称呼都需要新的登录名、移动邮箱和主目录以及更新组和邮件列表成员资格。
(例如,我们的新员工会被分配一个随机、唯一且未使用的 6 位员工编号,并且他们的帐户/登录名/samAccount 名称将usr123456
基于该员工编号,该编号将永远伴随他们。这也用于他们的 DN,条目如下所示:
dn: uid=usr123456,ou=People,dc=example,dc=com
cn: Marcia Garza
sn: Garza
givenName: Marcia
)
ldapmodify 是否会实际更改这些关联组中的 UID/DN
那要看 ...
该
ldapmodify
命令本身不进行任何健全性检查,只会检查您指定的 DN 和属性。如果需要进行健全性检查,则必须由 OpenLDAP 服务器或您作为系统管理员在后端进行检查。当您的目录配置为“参照完整性”覆盖 然后是的:
每当执行
modrdn
或delete
时,即当条目的 DN 被重命名或条目被删除时,服务器将在目录中搜索对此 DN 的引用(在选定的属性中:见下文)并相应地更新它们。如果是删除操作,则删除引用。如果是 modrdn 操作,则使用新 DN 更新引用。当你没有启用该覆盖时,当你使用 OpenLdap 时,一切可能仍然会自动保持正常动态列表覆盖所有群组。
member
然后,属于某个组的 DN列表不是硬编码的,而是基于MemberOf
成员 DN 上设置的属性自动生成的。当该成员 DN 被重命名时,新 DN 将自动显示为member:
组中的 ,而旧 DN 将消失。
否则:不行,更改 DN 后,您的组将包含不再存在的成员 DN,并且重命名的用户将失去访问权限和特权。您需要手动更新使用旧 DN 的所有地方。
请注意,重命名 DN 时,LDAP 函数会采用一个deleteoldrdn
参数,该参数用作布尔值,以指示是否应从条目中删除旧的 RDN 值。设置为 false 时,旧 DN 仍可找到条目,并且不会出现引用中断的情况。