是否可以通过一行推荐从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/