手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

ldapaddent(1M)

名称

ldapaddent - 根据对应的 /etc 文件创建 LDAP 条目

用法概要

ldapaddent [-cpv] [-a 
authenticationMethod] [-b baseDN]
     -D bindDN [-w 
bind_password] [-j passwdFile] [
-f filename]
     database
ldapaddent [-cpv] -a sasl/GSSAPI [
-b baseDN] [-f 
filename]
     database
ldapaddent -d [-v] [
-a authenticationMethod] [-D 
bindDN]
     [-w bind_password] [-j
 passwdFile] database
ldapaddent [-cpv] -h 
LDAP_server[:serverPort] [-M 
domainName]
     [-N profileName]  [-P
 certifPath] [-a 
authenticationMethod]
     [-b baseDN] -D 
bindDN [-w bind_password] [
-f filename]
     [-j passwdFile] database
ldapaddent [-cpv] -h 
LDAP_server[:serverPort] [-M 
domainName]
     [-N profileName]  [-P
 certifPath] [-a 
authenticationMethod]
     [-b baseDN] [-f 
filename] database
ldapaddent -d [-v] 
-h LDAP_server[:serverPort] [
-M domainName]
     [-N profileName]  [-P
 certifPath] [-a 
authenticationMethod]
     [-b baseDN] -D 
bindDN [-w bind_password] [
-j passwdFile]
     database

描述

ldapaddent 可根据 LDAP 容器对应的 /etc 文件在该容器中创建条目。此操作是针对在管理 Solaris 系统时使用的每个标准容器定制的。database 参数用于指定所处理的数据的类型。此类型的合法值为 aliasesauto_*bootparamsethersgrouphosts(包括 IPv4 和 IPv6 地址)、ipnodeshosts 的别名)、netgroupnetmasksnetworkspasswdshadowprotocolspublickeyrpcservices 之一。除了前述值以外,database 参数还可以为与 RBAC 有关的文件之一(请参见 rbac(5)):

  • /etc/user_attr

  • /etc/security/auth_attr

  • /etc/security/prof_attr

  • /etc/security/exec_attr

缺省情况下,ldapaddent 会从标准输入中读取数据,然后将此数据添加至与命令行中指定的数据库关联的 LDAP 容器。可从中读取数据的输入文件是使用 –f 选项指定的。

如果您指定 –h 选项,ldapaddent 将会与该选项指示的服务器建立连接,以便获取 –N 选项指定的 DUAProfile。条目将存储在所获取的配置描述的目录中。

缺省情况下(如果未指定 –h 选项),条目会存储在基于客户机配置的目录中。要在缺省模式下使用该实用程序,必须提前设置 Solaris LDAP 客户机。

可以使用 –b 选项覆盖条目的写入位置。

如果目录中存在要添加的条目,该命令将会显示错误并退出,除非使用了 –c 选项。

尽管存在 shadow 数据库类型,但不存在对应的 shadow 容器。shadowpasswd 数据均存储在 people 容器自身中。类似地,networksnetmasks 数据库中的数据存储在 networks 容器中。

user_attr 数据缺省情况下存储在 people 容器中。prof_attrexec_attr 数据缺省情况下存储在 SolarisProfAttr 容器中。

在尝试添加 shadow 数据库中的条目之前,您必须先添加 passwd 数据库中的条目。添加没有对应的 passwd 条目的 shadow 条目将会失败。

passwd 数据库必须位于 user_attr 数据库之前。

为了提高性能,应按照以下建议顺序装入数据库:

  • 装入 passwd 数据库后再装入 shadow 数据库

  • 装入 networks 数据库后再装入 netmasks 数据库

  • 装入 bootparams 数据库后再装入 ethers 数据库

只会将所遇到的给定类型的第一个条目添加到 LDAP 服务器中。ldapaddent 命令会跳过所有重复的条目。

选项

ldapaddent 命令支持以下选项:

–a authenticationMethod

指定验证方法。缺省值是配置文件中配置的值。支持的验证方法包括:

  • simple

  • sasl/CRAM-MD5

  • sasl/DIGEST-MD5

  • sasl/GSSAPI

  • tls:simple

  • tls:sasl/CRAM-MD5

  • tls:sasl/DIGEST-MD5

选择 simple 将导致口令以明文形式在网络中发送。强烈建议不要使用该方法。此外,如果客户端配置有不使用验证的配置文件,也就是说,如果 credentialLevel 属性设置为 anonymous 或者 authenticationMethod 设置为 none,则用户必须使用此选项来提供验证方法。如果验证方法是 sasl/GSSAPI,则不需要使用 bindDNbindPassword,并且必须将 /etc/nsswitch.confhostsipnodes 字段配置为:

hosts: dns files
ipnodes: dns files

请参见 nsswitch.conf(4)

–b baseDN

baseDN 目录中创建条目。baseDN 与客户机的缺省搜索基无关,而表示用于创建条目的实际位置。如果未指定此参数,则会使用为服务或缺省容器定义的第一个搜索描述符。

–c

即使出现目录服务器错误后也继续将条目添加到目录中。如果目录服务器没有响应,存在验证问题或者存在输入数据错误,则不会添加条目。

–D bindDN

创建对 baseDN 拥有写入权限的条目。与 –d 选项一起使用时,此条目将仅需要读取权限。

–d

以适合给定数据库的格式将 LDAP 容器转储到标准输出。

–f filename

表示要以 /etc/ 文件格式读取的输入文件。

–h LDAP_server[: serverPort]

指定用于存储条目的 LDAP 服务器的地址(或名称)以及可选端口。系统会使用 nsswitch.conf 文件中指定的当前命名服务。该端口的缺省值为 389,除非 TLS 指定为验证方法。在这种情况下,缺省 LDAP 服务器端口号为 636

用于指定 IPv6 的地址和端口号的格式如下:

[ipv6_addr]:port

要为 IPv4 指定地址和端口号,请使用以下格式:

ipv4_addr:port

如果指定了主机名,请使用以下格式:

host_name:port
–j passwdFile

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

–M domainName

指定服务器负责的域的名称。如果未指定,将使用缺省域名。

–N profileName

指定 DUAProfile 名称。系统假定具有此名称的配置文件存在于由 –h 选项指定的服务器上。否则,将使用缺省 DUAProfile。缺省值为 default

–P certifPath

证书数据库的位置的证书路径。该值为安全数据库文件所在的路径。该值用于 TLS 支持,TLS 支持在 authenticationMethodserviceAuthenticationMethod 属性中指定。缺省值为 /var/ldap

–p

从文件中装入口令信息时处理 password 字段。缺省情况下,password 字段将被忽略,因为该字段通常无效,但实际的口令显示在 shadow 文件中。

–w bindPassword

要用于验证 bindDN 的口令。如果缺少此参数,该命令将会提示输入口令。LDAP 中不支持 NULL 口令。

使用 –w bindPassword 指定要用于验证的口令时,系统的其他用户可通过 ps 命令在脚本文件中或在 shell 历史记录中看到该口令。

如果您提供 “-”(连字符)作为口令,系统将会提示您输入口令。

–v

详细模式。

操作数

支持下列操作数:

database

数据库名称或服务名称。支持的值包括:aliasesauto_*bootparamsethersgrouphosts(包括 IPv6 地址)、netgroupnetmasksnetworkspasswdshadowprotocolspublickeyrpcservices。还支持 auth_attrprof_attrexec_attruser_attrprojects

示例

示例 1 将口令条目添加到目录服务器

以下示例说明了如何将口令条目添加到目录服务器:

example# ldapaddent -D "cn=directory manager" -w secret \
      -f /etc/passwd passwd
示例 2 添加组条目

以下示例说明了如何使用 sasl/CRAM-MD5 作为验证方法来将 group 条目添加到目录服务器:

example# ldapaddent -D "cn=directory manager" -w secret \
     -a "sasl/CRAM-MD5" -f /etc/group group
示例 3 添加 auto_master 条目

以下示例说明了如何将 auto_master 条目添加到目录服务器:

example# ldapaddent -D "cn=directory manager" -w secret \
     -f /etc/auto_master auto_master
示例 4 passwd 条目从目录转储到文件

以下示例说明了如何将 password 条目从目录转储到文件 foo

example# ldapaddent -d passwd > foo
示例 5 将口令条目添加到特定的目录服务器

以下示例说明了如何将口令条目添加到所指定的目录服务器:

example# ldapaddent -h 10.10.10.10:3890 \
-M another.domain.name -N special_duaprofile \
-D "cn=directory manager" -w secret \
-f /etc/passwd passwd

退出状态

将返回以下退出值:

0

成功完成。

>0

出现错误。

文件

/var/ldap/ldap_client_file
/var/ldap/ldap_client_cred

包含客户机的 LDAP 配置的文件。这些文件将无法进行手动修改。其内容不保证是用户可读的。使用 ldapclient(1M) 可以更新这些文件。

属性

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

属性类型
属性值
可用性
system/network/nis
接口稳定性
Committed(已确定)

另请参见

ldaplist(1)ldapmodify(1)ldapmodrdn(1)ldapsearch(1)idsconfig(1M)ldapclient(1M)nsswitch.conf(4)attributes(5)

在 Oracle Solaris 11.2 中确保系统和连接设备的安全

注意

当前 libldap.so.5 不支持 StartTLS,因此提供的端口号是指 TLS 打开期间使用的端口,而不是用作 StartTLS 系列一部分的端口。例如:

-h foo:1000 -a tls:simple

上例引用的是在主机 foo 端口 1000 上打开的原始 TLS,而非在不安全的端口 1000 上打开的 StartTLS 系列。如果端口 1000 是不安全的,将不会进行连接。