是否可以通过一行推荐从LDAP中删除所有条目?

我试过了:

ldapdelete -r 'cn=*,dc=domain,dc=com' -w

但它不起作用。我没有更好的主意;/

最佳答案

ldapdelete是要删除特定的DN,您不能使用通配符。

没有本地的“oneliner”。您可以执行ldapsearch并将此搜索结果生成的DN列表提供给ldapdelete
就像是 :

ldapsearch -LLL -s one -b "dc=domain,dc=com" "(cn=*)" dn | awk -F": " '$1~/^\s*dn/{print $2}' > listOfDNtoRemove.txt && ldapdelete -r -f listOfDNtoRemove.txt
  • -s one:ldapsearch上的此选项是仅检索分支dc=domain,dc=com下的第一级子代
  • -LLL:此选项是让LDIF格式输出
  • -r:此选项是递归删除先前找到的第一级分支及其子
  • awk -F": " '$1~/^\s*dn/{print $2}':此awk仅打印以dn:开头的行,并打印dn的值

  • 注意:ldapdelete还会从标准输入中读取DN列表,因此,如果要避免使用临时文件,可以将ldapsearch结果直接通过管道传递到ldapdelete

    关于ldap - 如何从LDAP中删除所有记录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45161477/

    10-12 05:07