我想将邮件属性添加到现有的ldap用户。 我认为,它可能与使用ldapmodify但不知道如何。 我已经完成了手动使用phpldapadmin网页graphics用户界面,但我喜欢超过100个用户,并不想手动为所有人做。
任何人都可以请指导我正确的方向。
$ ldapmodify -H ldap://yourhost -D cn=youradmin,dc=your,dc=domain -x -W ( enter password here ) dn: uid=username,ou=people,dc=your,dc=domain changetype: modify add: mail mail: [email protected]
首先,我将引导您参阅“ Red Hat Directory Serverpipe理指南”的 第3.3节 ,获取有关如何创build适用于ldapmodify的LDIF文件的快速教程。 为您的一百名用户创build条目以便开始。 这个文件将帮助你得到错误。 一旦你对文件格式感到满意,你可以为剩余的100个左右的人创build条目。 以下是单个条目的外观示例:
dn: cn=Joe Smith,dc=example,dc=com changetype: modify add: mail mail: [email protected]
changetype:的合法值是changetype: add , modify , delete和modrdn 。 如果使用changetype: modify ,则合法修改为add: , delete: changetype: modify并replace: 。 3.3节将给你所有这些工作的例子。
然后,一旦你写了文件,你有几种方法将它提交给你的LDAP服务器。 一种方法是直接将文件提供给ldapmodify命令:
ldapmodify -x -h $LDAP_HOST -D $LDAP_BINDDN -W -f $FILE
-W开关告诉ldapmodify在命令行询问$LDAP_BINDDN的密码。 这意味着您不会将密码保留在您的shell历史logging文件中的LDAP服务器上。 如果您确实想将密码合并到您的ldapmodify命令中,请改用-w $PASSWORD 。 -f $FILE开关告诉ldapmodify要检查正在执行的更改的LDIF文件。
我实际上不喜欢使用-f $FILE开关。 将文件传递给ldapmodify需要100%的自信,我已经正确写入了LDIF文件。 如果我犯了一个错误, ldapmodify将会退出,而不会告诉我我的错误。 所以,我会用第二种方法。 使用我给出的ldapmodify命令作为例子,但没有-f $FILE开关。 没有这个开关, ldapmodify从STDIN得到它的修改。 所以,我可以从我组装的LDIF文件中复制两个或三个条目,并将它们粘贴到我的shell中,供ldapmodify处理。 我一次做2到4个条目,并根据需要对LDIF条目进行更正。 这比将完美的LDIF文件直接传递给ldapmodify要慢,但要比找出文件中的拼写错误要快得多。
为了直接编辑LDAP条目,我更喜欢使用“ldapvi”,它提供了一个编辑器,您可以在其中以更友好的方式进行更改。
是的,你可以使用ldapmodify 。 您需要生成包含更改语句的LDIF文件,然后使用ldapmodify将这些文件指向您的LDAP服务器。 有关更多信息,请阅读man ldapmodify ,其中也包含示例。