手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

ldapmodify(1)

名称

ldapmodify , ldapadd - ldap 条目添加和修改工具

用法概要

ldapmodify [-a] [-c] [
-r] [-n] [-v] [-F] [
-b] [-A] [-q] 
     [-H] [-?] [-E] [
-J] [-Z] [-M] [-d 
debuglevel] 
     [-D bindDN] [-j 
filename] [-J [:criticality]] 
     [-B baseDN] [-V 
version] [-Y proxyDN] [
-O hopLimit] 
     [-i locale] [-k 
path] [-e errorFile] [
-P path] 
     [-N certificate] [-w 
passwd] [-o attributename=
value] 
     [-h ldaphost] [-W 
password] [-p ldapport] [
-f file] 
     [-l nb-ldap-connections]
ldapadd [-c] [-n] [
-v] [-F] 
     [ [-b] [-A] [-q] [
-H] [-?] [-E] [-J] [
-Z] [-M]-d debuglevel
] 
     [-D bindDN] [-j 
filename] [-B baseDN] [
-V version] 
     [-Y proxyDN] [-O 
hopLimit] [-i locale] [
-k path] 
     [-e errorFile] [-P 
path] [-N certificate] [
-w passwd] 
     [-o attributename=
value] [-h ldaphost] [
-W password] 
     [-p ldapport] [-f 
file] [-l nb-ldap-connections]

描述

ldapmodify 实用程序可打开与 LDAP 服务器的连接,绑定并修改或添加条目。条目信息是从标准输入或者从使用 –f 选项指定的 file 中读取的。ldapadd 实用程序是作为到 ldapmodify 工具的硬链接实现的。当作为 ldapadd 调用时,会自动打开 –a(添加新条目)选项。

ldapaddldapmodify 都拒绝同一条目的重复属性名/值对。

选项

支持以下选项:

–a

添加新条目。ldapmodify 的缺省行为是修改现有条目。如果作为 ldapadd 调用,则始终设置此选项。

–A

非 ASCII 模式:与 –v 选项一起使用,显示非 ASCII 值。

–b

处理二进制文件。ldapmodify 工具将扫描输入中的每个属性值以确定它是否为有效的文件引用。如果引用有效,它将使用文件的内容作为属性的值。此选项用来为属性输入二进制数据,例如 JPEG 图像。例如,对应的 LDIF 输入将是:jpegPhoto: /tmp/photo.jpgldapmodify 工具还支持用于直接包括文件内容的 LDIF :< URL 表示法。

–B baseDN

指定执行添加时的基 DN,在 shell 中通常置于双引号 ("") 中。所有条目都将被置于该后缀下,从而提供批量导入功能。

–c

指定连续运行模式。将会报告错误,但 ldapmodifyldapadd 将继续进行修改操作。缺省行为是在报告错误后退出。

–D bindDN

使用标识名 bindDN 绑定到目录。

–d debuglevel

设置 LDAP 调试级别。适用于 ldapmodifyldapadd 的有用调试级别包括:

1

跟踪

2

4

参数

32

过滤器

128

访问控制

要请求多个类别的调试信息,请将掩码相加。例如,要请求跟踪和过滤器信息,请将 debuglevel 指定为 33。

–e errorFile

输入中的无效更新语句将被复制到 errorFile 以进行调试。与 –c 选项一起使用可以更正处理大型 LDIF 输入时发生的错误。

–E

通过验证响应控制,要求服务器公开(报告)绑定标识。

–F

不管以 replica: 开头的输入行的内容为何,都强制应用所有更改。缺省情况下,将根据所使用的 LDAP 服务器主机和端口对 replica: 行进行比较,以确定是否应当应用 replog 记录。

–f file

file 而不是从标准输入读取条目修改信息。

–?

显示简要描述所有选项的用法帮助文本。

–H

显示简要描述所有选项的用法帮助文本。

–h ldaphost

指定运行 LAPD 服务器的备用主机。

–i locale

指定用于 –f LDIFfile 或标准输入的字符集。缺省值是在 LANG 环境变量中指定的字符集。您可以选择使用此选项执行从指定字符集到 UTF8 的转换,从而覆盖 LANG 设置。

–j filename

指定绑定 DN 的口令或 SSL 客户机密钥数据库的口令所在的文件。要保护口令,请在脚本中使用此选项,并将口令存放在安全文件中。此选项与 –w–W 选项互斥。

–J [:criticality[: value|::b64value|b64value|: fileurl]]

Criticality 是一个布尔值(缺省值是 false)。

–k path

指定包含转换例程的目录路径。如果要指定目录服务器缺省情况下不支持的语言环境,则需要使用这些例程。这用于 NLS 支持。

–l nb-ldap-connections

指定 ldapaddldapmodify 将打开以处理目录中的修改的 LDAP 连接的数目。缺省值是一个连接。

–M

管理智能引用。当它们是操作的目标时,将修改包含引用的条目而不是修改通过跟踪引用获取的条目。

–n

预览修改,但不对条目进行修改。可以与 –v–d 一起用于调试。

–N certificate

指定用于基于证书的客户端验证的证书名称。例如:–N "Directory-Cert"

–o attributename= value

用于 SASL 机制和其他选项,例如安全属性、运行模式、授权 ID、验证 ID 等。

各种属性名称及其值如下所示:

secProp="number"

用于定义 SASL 安全属性。

realm="value"

指定 SASL 领域(缺省值为 realm=none)。

authzid="value"

指定用于 SASL 绑定的授权 ID 名称。

authid="value"

指定用于 SASL 绑定的验证 ID。

mech="value"

指定各种 SASL 机制。

–O hopLimit

指定在查找要修改的条目时要遵循的引用跳数的最大数目。缺省情况下,没有任何限制。

–p ldapport

指定安全 LDAP 服务器侦听的备用 TCP 端口。

–P path

指定客户端证书数据库的路径和文件名。例如:

-P /home/uid/.netscape/cert7.db

在与目录服务器相同的主机上使用命令时,可以使用服务器自己的证书数据库。例如:

-P installDir/lapd-serverID/alias/cert7.db

单独使用 –P 选项将仅指定服务器验证。

–r

用指定的值替换现有值。这是 ldapmodify 的缺省操作。当调用 ldapadd 时,或者如果指定了 –a 选项,则会忽略 –r 选项。

–v

使用详细模式,将诊断信息写入到标准输出。

–v version

指定要用于删除操作的 LDAP 协议版本号,2 或 3。LDAP v3 为缺省值。当连接到不支持 v3 的服务器时,请指定 LDAP v2。

–W password

指定在 –P 选项中给出的客户端密钥数据库的口令。对于基于证书的客户端验证,此选项是必需的。在命令行上指定 password 会有安全问题,因为系统上的其他人可以通过 ps 命令看到口令。请改用 –j 从文件中指定口令。此选项与 –j 互斥。

–w passwd

使用 passwd 作为用于对目录进行验证的口令。当使用 –w passwd 指定用于验证的口令时,系统的其他用户可以通过 ps 命令在脚本文件中或者在 shell 历史记录中看到口令。如果在不使用此选项的情况下使用 ldapmodify 命令或 ldapadd 命令,则该命令将提示输入口令并从标准输入中读取口令。不与 –w 选项一起使用时,其他用户将看不到口令。

–Y proxyid

指定要用于修改操作的代理 DN(被代理的授权 id),在 shell 中通常置于双引号 ("") 中。

–Z

指定要用于提供基于证书的客户端验证的 SSL。此选项需要 –N 和 SSL 口令以及识别证书和密钥数据库所需的任何其他 SSL 选项。

退出状态

将返回以下退出值:

0

成功完成。

非零值

出现错误。向标准错误写入一条诊断消息。

示例

以下示例中举例说明了 file(或标准输入,如果未指定 –f 选项)的内容格式。

示例 1 修改条目

文件 /tmp/entrymods 包含以下修改指令:

     dn: cn=Modify Me, o=XYZ, c=US
    changetype: modify
    replace: mail
    mail: modme@atlanta.xyz.com
    -
    add: title
    title: System Manager
    -
    add: jpegPhoto
    jpegPhoto:< file:///tmp/modme.jpeg
    -
    delete: description
    -

此命令:

example% ldapmodify -r -f /tmp/entrymods

如下所述修改 Modify Me 条目:

  1. mail 属性的当前值替换为值 modme@atlanta.xyz.com

  2. 添加一个值为 System Managertitle 属性。

  3. 添加一个 jpegPhoto 属性(使用 /tmp/modme.jpeg 文件的内容作为属性值)。

  4. 删除 description 属性。

示例 2 创建新条目

文件 /tmp/newentry 包含用于创建新条目的以下信息:

    dn: cn=Ann Jones, o=XYZ, c=US
    objectClass: person
    cn: Ann Jones
    cn: Annie Jones
    sn: Jones
    title: Director of Research and Development
    mail: ajones@londonrd.xyz.us.com
    uid: ajones

以下命令

example% ldapadd -f /tmp/newentry

使用文件中的信息为 Ann Jones 添加一个新条目。

示例 3 在 IPv6 服务器上创建一个新条目

文件 /tmp/newentry 包含用于在 IPv6 服务器上创建新条目的以下信息:

    dn: cn=Ann Jones, o=XYZ, c=US
    objectClass: person
    cn: Ann Jones
    cn: Annie Jones
    sn: Jones
    title: Director of Research and Development
    mail: ajones@londonrd.xyz.us.com
    uid: ajones

以下命令

example% ldapadd -c -v -h '['fec0::111:a00:20ff:feaa:a364']':389 \
                         -D cn=Directory Manager -w secret \
                         -f /tmp/entry 

使用文件中的信息为 Directory Manager 添加一个新条目。

示例 4 删除条目

文件 /tmp/badentry 包含关于要删除的条目的以下信息:

    dn: cn=Ann Jones, o=XYZ, c=US
    changetype: delete

此命令:

example% ldapmodify -f /tmp/badentry

删除 Ann Jones 的条目。

属性

有关以下属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os
接口稳定性
Committed(已确定)

另请参见

ldapdelete(1)ldaplist(1)ldapmodrdn(1)ldapsearch(1)ldapaddent(1M)ldap_cachemgr(1M)ldap_get_option(3LDAP)ldap_set_option(3LDAP)attributes(5)ldap(5)