ldapdelete,想要删除人员 OU 的所有 UID,但保留 OU?

ldapdelete,想要删除人员 OU 的所有 UID,但保留 OU?

使用这个 cli:

$ ldapdelete -ZZ -W -D "cn=Manager,dc=site,dc=fake" -r  ou=People,dc=site,dc=fake

我删除了 People 的所有 UID,但问题是它也删除了 People OU。我知道重新创建空 OU 很容易,但我想删除 People OU 的所有 UID,但保留实际的 People OU?

答案1

抱歉耽搁了一些时间,但我必须先安装并填充 LDAP 服务器才能测试正确的过程。当ldapdelete从 STDIN 读取对象列表时,如果命令行(或文件中)没有显示任何对象,则可以使用类似的管道

ldapsearch -ZZ -W -D 'cn=Manager,dc=site,dc=fake' \
-b 'ou=people,dc=site,dc=fake' -s one  dn |\
 grep dn: | cut -b 5- | ldapdelete -ZZ -W -D 'cn=Manager,dc=site,dc=fake'

这将要求您输入密码两次;也许您可以使用其他身份验证方法。

相反,-b ... -s one您可能必须定义其他一些搜索库/范围/过滤器,具体取决于目录结构。

我将这部分留给grep dn: | cut -b 5- |那些熟悉 awk/sed/... 任何其他需要优化的结构的人。我只是喜欢让事情变得简单。

相关内容