ldapsearch - ldapsearch 是一个可以通过 shell 访问的 ldap_search(3) 库调用的接口。使用此实用程序在您的 LDAP 数据库后端搜索条目。
以下是调用 ldapsearch 的概要(请查看 ldapsearch 的 man 手册以了解每个选项的含义)
ldapsearch [-n] [-u] [-v] [-k] [-K] [-t] [-A] [-B] [-L] [-R] [-d debuglevel] [-F sep] [-f file] [-x] [-D binddn] [-W] [-w bindpasswd] [-h ldaphost] [-p ldapport] [-b searchbase] [-s base|one|sub] [-a never|always|search|find] [-l timelimit] [-z sizelimit] filter [attrs...] |
ldapsearch 打开与 LDAP 服务器的连接,进行绑定,并使用过滤器 filter 执行搜索。该过滤器应符合 RFC 1558 中定义的 LDAP 过滤器字符串表示形式。如果 ldapsearch 找到一个或多个条目,则检索由 attrs 指定的属性,并将条目和值打印到标准输出。如果未列出 attrs,则返回所有属性。
ldapsearch -x -b 'o=TUDelft,c=NL' 'objectclass=*' ldapsearch -b 'o=TUDelft,c=NL' 'cn=Rene van Leuken' ldasearch -u -b 'o=TUDelft,c=NL' 'cn=Luiz Malere' sn mail |
-b 选项代表 searchbase(初始搜索点), -u 选项代表用户友好的输出信息, -x 选项用于指定简单身份验证。
ldapdelete - ldapdelete 是一个可以通过 shell 访问的 ldap_delete(3) 库调用的接口。使用此实用程序删除 LDAP 数据库后端上的条目。
以下是调用 ldapdelete 的概要(请查看 ldapdelete 的 man 手册以了解每个选项的含义)
ldapdelete [-n] [-v] [-k] [-K] [-c] [-d debuglevel] [-f file] [-D binddn] [-W] [-w passwd] [-h ldaphost] [-p ldapport] [dn]... |
ldapdelete 打开与 LDAP 服务器的连接,进行绑定,并删除一个或多个条目。如果提供一个或多个 dn 参数,则删除具有这些专有名称的条目。每个 dn 都应是 RFC 1779 中定义的字符串表示的 DN。如果未提供 dn 参数,则从标准输入(或在使用 -f 标志的情况下从文件)读取 DN 列表。
以下是一些 ldapdelete 用法的示例
ldapdelete 'cn=Luiz Malere,o=TUDelft,c=NL' ldapdelete -v 'cn=Rene van Leuken,o=TUDelft,c=NL' -D 'cn=Luiz Malere,o=TUDelft,c=NL' -W |
-v 选项代表 verbose 模式, -D 选项代表 Binddn(用于身份验证的 dn), -W 选项代表密码提示。
ldapmodify - ldapmodify 是一个可以通过 shell 访问的 ldap_modify(3) 和 ldap_add(3) 库调用的接口。使用此实用程序修改 LDAP 数据库后端上的条目。
以下是调用 ldapmodify 的概要(请查看 ldapmodify 的 man 手册以了解每个选项的含义)
ldapmodify [-a] [-b] [-c] [-r] [-n] [-v] [-k] [-d debuglevel] [-D binddn] [-W] [-w passwd] [-h ldaphost] [-p ldapport] [-f file] ldapadd [-b] [-c] [-r] [-n] [-v] [-k] [-K] [-d debuglevel] [-D binddn] [-w passwd] [-h ldaphost] [-p ldapport] [-f file] |
ldapadd 被实现为 ldapmodify 工具的硬链接。当作为 ldapadd 调用时,ldapmodify 的 -a(添加新条目)标志会自动打开。ldapmodify 打开与 LDAP 服务器的连接,进行绑定,并修改或添加条目。条目信息从标准输入或通过使用 -f 选项从文件读取。
以下是一些 ldapmodify 用法的示例
假设文件 /tmp/entrymods 存在并且包含以下内容
dn: cn=Modify Me, o=University of Michigan, c=US changetype: modify replace: mail mail: modme@terminator.rs.itd.umich.edu - add: title title: Grand Poobah - add: jpegPhoto jpegPhoto: /tmp/modme.jpeg - delete: description - |
命令
ldapmodify -b -r -f /tmp/entrymods |
将把 “Modify Me” 条目的 mail 属性的内容替换为值 “modme@terminator.rs.itd.umich.edu”,添加标题 “Grand Poobah”,并将文件 /tmp/modme.jpeg 的内容作为 jpegPhoto 添加,并完全删除 description 属性。
可以使用较旧的 ldapmodify 输入格式执行与上述相同的修改
cn=Modify Me, o=University of Michigan, c=US mail=modme@terminator.rs.itd.umich.edu +title=Grand Poobah +jpegPhoto=/tmp/modme.jpeg -description |
再加上以下命令
ldapmodify -b -r -f /tmp/entrymods |
假设文件 /tmp/newentry 存在并且包含以下内容
dn: cn=Barbara Jensen, o=University of Michigan, c=US objectClass: person cn: Barbara Jensen cn: Babs Jensen sn: Jensen title: the world's most famous manager mail: bjensen@terminator.rs.itd.umich.edu uid: bjensen |
命令
ldapadd -f /tmp/entrymods |
如果条目尚不存在,则将添加 dn 为 cn=Barbara Jensen, o=University of Michigan, c=US 的条目。如果此 dn 的条目已存在,该命令将指出错误,并且不会覆盖该条目。
假设文件 /tmp/newentry 存在并且包含以下内容
dn: cn=Barbara Jensen, o=University of Michigan, c=US changetype: delete |
命令
ldapmodify -f /tmp/entrymods |
将删除 Babs Jensen 的条目。
-f 选项代表 file(从文件而不是标准输入读取修改信息), -b 选项代表 binary(输入文件中任何以 '/' 开头的值都将被解释为二进制文件), -r 代表 replace(默认情况下替换现有值)。