作弊条: ldapmodify 删除项目属性

• 本文约 330 字,阅读大致需要 1 分钟 | Cheatsheets | #作弊条 | #cheatsheet | #openldap

随便记一笔,备忘。

形如:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
dn: mail=foo@somedomain.org,ou=somedomain.org,ou=org,ou=MailAccounts,dc=somehost
mail: foo@somedomain.org
accountstatus: alias
sn: Foo
cn: Foo account at somedomain.org
objectClass: postfixAlias
objectClass: person
maildrop: delphij@delphij.net
maildrop: someone@example.org
maildrop: someoneelse@example.edu
maildrop: anotherperson@somewhere.com

这样一个项目,希望把后三项删掉。

首先我们需要创建一个 LDIF 文件,第一行是查询条件,照抄原来的项目

dn: mail=foo@somedomain.org,ou=somedomain.org,ou=org,ou=MailAccounts,dc=somehost

接下来告诉系统修改的类型:

changetype: modify

进一步告诉它我们需要做的操作:

delete: maildrop

最后,因为该属性在这个对象上可以有多份,我们只希望删除后面三项,将其逐一列出:

maildrop: someone@example.org
maildrop: someoneelse@example.edu
maildrop: anotherperson@somewhere.com

最终:

ldapmodify -D cn=DirectoryManager,dc=somehost -w "密码" -f foo@somedomain.org.ldif -H ldapi:///

将修改应用到 LDAP 树上。

参考 ldif(5)