JavaScript is required to for searching.
跳过导航链接
退出打印视图
手册页第 1M 部分:系统管理命令     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

简介

System Administration Commands-第 1 单元

6to4relay(1M)

acct(1M)

acctadm(1M)

acctcms(1M)

acctcon1(1M)

acctcon(1M)

acctcon2(1M)

acctdisk(1M)

acctdusg(1M)

acctmerg(1M)

accton(1M)

acctprc1(1M)

acctprc(1M)

acctprc2(1M)

acctsh(1M)

acctwtmp(1M)

acpihpd(1M)

adbgen(1M)

add_allocatable(1M)

addbadsec(1M)

add_drv(1M)

aimanifest(1M)

arp(1M)

asradm(1M)

asr-notify(1M)

atohexlabel(1M)

audit(1M)

auditconfig(1M)

auditd(1M)

auditrecord(1M)

auditreduce(1M)

auditstat(1M)

audit_warn(1M)

automount(1M)

automountd(1M)

autopush(1M)

bart(1M)

beadm(1M)

boot(1M)

bootadm(1M)

bootconfchk(1M)

bootparamd(1M)

busstat(1M)

captoinfo(1M)

catman(1M)

cfgadm(1M)

cfgadm_ac(1M)

cfgadm_cardbus(1M)

cfgadm_fp(1M)

cfgadm_ib(1M)

cfgadm_pci(1M)

cfgadm_sata(1M)

cfgadm_sbd(1M)

cfgadm_scsi(1M)

cfgadm_sdcard(1M)

cfgadm_shp(1M)

cfgadm_sysctrl(1M)

cfgadm_usb(1M)

chargefee(1M)

chat(1M)

check-hostname(1M)

check-permissions(1M)

chk_encodings(1M)

chroot(1M)

cimworkshop(1M)

ckpacct(1M)

clear_locks(1M)

clinfo(1M)

closewtmp(1M)

clri(1M)

comsat(1M)

configCCR(1M)

consadm(1m)

console-reset(1M)

coreadm(1M)

cpustat(1M)

croinfo(1M)

cron(1M)

cryptoadm(1M)

datadm(1M)

dcopy(1M)

dcs(1M)

dd(1M)

ddu(1M)

ddu-text(1M)

devchassisd(1M)

devfsadm(1M)

devfsadmd(1M)

device_allocate(1M)

device_remap(1M)

devinfo(1M)

devlinks(1M)

devnm(1M)

devprop(1M)

df(1M)

dfmounts(1M)

dfmounts_nfs(1M)

dfshares(1M)

dfshares_nfs(1M)

df_ufs(1M)

dhcpagent(1M)

dhcpconfig(1M)

dhcpmgr(1M)

dhtadm(1M)

dig(1M)

directoryserver(1M)

diskinfo(1M)

disks(1M)

diskscan(1M)

dispadmin(1M)

distro_const(1M)

dladm(1M)

dlmgmtd(1M)

dlstat(1M)

dmesg(1M)

dminfo(1M)

dns-sd(1M)

dnssec-dsfromkey(1M)

dnssec-keyfromlabel(1M)

dnssec-keygen(1M)

dnssec-makekeyset(1M)

dnssec-signkey(1M)

dnssec-signzone(1M)

dodisk(1M)

domainname(1M)

drd(1M)

drvconfig(1M)

dsbitmap(1M)

dscfg(1M)

dscfgadm(1M)

dscfglockd(1M)

dsstat(1M)

dsvclockd(1M)

dtrace(1M)

dumpadm(1M)

editmap(1M)

edquota(1M)

eeprom(1M)

efdaemon(1M)

embedded_su(1M)

emCCR(1M)

emocmrsp(1M)

etrn(1M)

fbconfig(1M)

fbconf_xorg(1M)

fcadm(1M)

fcinfo(1M)

fdetach(1M)

fdisk(1M)

ff(1M)

ff_ufs(1M)

fingerd(1M)

fiocompress(1M)

flowadm(1M)

flowstat(1M)

fmadm(1M)

fmd(1M)

fmdump(1M)

fmstat(1M)

fmthard(1M)

format(1M)

fruadm(1M)

fsck(1M)

fsck_pcfs(1M)

fsck_udfs(1M)

fsck_ufs(1M)

fsdb(1M)

fsdb_udfs(1M)

fsdb_ufs(1M)

fsflush(1M)

fsirand(1M)

fssnap(1M)

fssnap_ufs(1M)

fsstat(1M)

fstyp(1M)

fuser(1M)

fwflash(1M)

fwtmp(1M)

getdevpolicy(1M)

getent(1M)

gettable(1M)

getty(1M)

gkadmin(1M)

groupadd(1M)

groupdel(1M)

groupmod(1M)

growfs(1M)

grpck(1M)

gsscred(1M)

gssd(1M)

hald(1M)

hal-device(1M)

hal-fdi-validate(1M)

hal-find(1M)

hal-find-by-capability(1M)

hal-find-by-property(1M)

hal-get-property(1M)

hal-set-property(1M)

halt(1M)

hextoalabel(1M)

host(1M)

hostconfig(1M)

hotplug(1M)

hotplugd(1M)

htable(1M)

ickey(1M)

id(1M)

idmap(1M)

idmapd(1M)

idsconfig(1M)

ifconfig(1M)

if_mpadm(1M)

ifparse(1M)

iiadm(1M)

iicpbmp(1M)

iicpshd(1M)

ikeadm(1M)

ikecert(1M)

ilbadm(1M)

inetadm(1M)

ilomconfig(1M)

imqadmin(1M)

imqbrokerd(1M)

imqcmd(1M)

imqdbmgr(1M)

imqkeytool(1M)

imqobjmgr(1M)

imqusermgr(1M)

in.chargend(1M)

in.comsat(1M)

in.daytimed(1M)

in.dhcpd(1M)

in.discardd(1M)

in.echod(1M)

inetadm(1M)

inetconv(1M)

inetd(1M)

in.fingerd(1M)

infocmp(1M)

in.iked(1M)

init(1M)

init.sma(1M)

init.wbem(1M)

inityp2l(1M)

in.lpd(1M)

in.mpathd(1M)

in.named(1M)

in.ndpd(1M)

in.rarpd(1M)

in.rdisc(1M)

in.rexecd(1M)

in.ripngd(1M)

in.rlogind(1M)

in.routed(1M)

in.rshd(1M)

in.rwhod(1M)

install(1M)

installadm(1M)

installboot(1M)

installf(1M)

installgrub(1M)

in.stdiscover(1M)

in.stlisten(1M)

in.talkd(1M)

in.telnetd(1M)

in.tftpd(1M)

in.timed(1M)

intrd(1M)

intrstat(1M)

in.uucpd(1M)

iostat(1M)

ipaddrsel(1M)

ipadm(1M)

ipf(1M)

ipfs(1M)

ipfstat(1M)

ipmgmtd(1M)

ipmon(1M)

ipmpstat(1M)

ipnat(1M)

ippool(1M)

ipqosconf(1M)

ipsecalgs(1M)

ipsecconf(1M)

ipseckey(1M)

iscsiadm(1M)

isns(1M)

isnsadm(1M)

itadm(1M)

itu(1M)

js2ai(1M)

k5srvutil(1M)

kadb(1M)

kadmin(1M)

kadmind(1M)

kadmin.local(1M)

kcfd(1M)

kclient(1M)

kdb5_ldap_util(1M)

kdb5_util(1M)

kdcmgr(1M)

kernel(1M)

keyserv(1M)

killall(1M)

kmem_task(1M)

kmscfg(1M)

kprop(1M)

kpropd(1M)

kproplog(1M)

krb5kdc(1M)

ksslcfg(1M)

kstat(1M)

ktkt_warnd(1M)

labeld(1M)

labelit(1M)

labelit_hsfs(1M)

labelit_udfs(1M)

labelit_ufs(1M)

lastlogin(1M)

latencytop(1M)

ldapaddent(1M)

ldap_cachemgr(1M)

ldapclient(1M)

ldmad(1M)

link(1M)

llc2_loop(1M)

lldpadm(1M)

lldpd(1M)

lms(1M)

locator(1M)

lockd(1M)

lockfs(1M)

lockstat(1M)

lofiadm(1M)

logadm(1M)

logins(1M)

lshal(1M)

System Administration Commands-第 2 单元

System Administration Commands-第 3 单元

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

ldapclient

- 初始化 LDAP 客户机或以 LDIF 格式输出 LDAP 客户机配置文件

用法概要

/usr/sbin/ldapclient [-v | -q] init [-a profileName=profileName]
     [-a domainName=domain] [-a proxyDN=proxyDN]
     [-a proxyPassword=password]
     [-a authenticationMethod=authenticationMethod]
     [-a enableShadowUpdate=true | false]
     [-a adminDN=adminDN]
     [-a adminPassword=adminPassword]
     [-a certificatePath=path] [-d bindDN] [-w bindPassword]
     [-j passwdFile] [-y passwdFile]
     [-z adminrPasswdFile] LDAP_server[:port_number]
/usr/sbin/ldapclient [-v | -q] manual [-a attrName=attrVal]
/usr/sbin/ldapclient [-v | -q] mod [-a attrName=attrVal]
/usr/sbin/ldapclient [-v | -q] list
/usr/sbin/ldapclient [-v | -q] uninit
/usr/sbin/ldapclient [-v | -q] genprofile -a profileName=profileName
     [-a attrName=attrVal]

描述

ldapclient 实用程序可用于:

init 形式的 ldapclient 实用程序用于自动初始化 LDAP 客户机,它使用 LDAP_server 指定的 LDAP 服务器上存储的配置文件来进行初始化。LDAP 客户机将使用指定配置文件中的属性来确定 LDAP 客户机的配置。使用配置文件,可以轻松安装 LDAP 客户机并传播对 LDAP 客户机的配置更改。ldap_cachemgr(1M) 实用程序将在 LDAP 客户机高速缓存过期时通过读取配置文件对客户机的配置进行更新。有关配置文件的更多信息,请参见 IETF 文档《A Configuration Schema for LDAP Based Directory User Agents》。

manual 形式的 ldapclient 实用程序用于手动初始化 LDAP 客户机。LDAP 客户机将使用命令行中指定的属性。任何未指定的属性都将赋予其缺省值。必须在 defaultServerListpreferredServerList 属性中至少指定一个服务器。如果未设置客户机的 domainName,则必须指定 domainName 属性。

mod 形式的 ldapclient 实用程序用于修改手动设置的 LDAP 客户机配置。此选项仅修改命令行中指定的 LDAP 客户机配置属性。mod 选项只能用于使用 manual 选项初始化的 LDAP 客户机。

无论使用何种方法进行初始化,要将客户机配置为使用代理 credentialLevel,都必须通过 -a proxyDN=proxyDN-a proxyPassword= proxyPassword 选项提供代理凭证。但是,如果未指定 -a proxyPassword=proxyPasswordldapclient 将会提示您输入口令。请注意,LDAP 中不允许使用 NULL 口令。如果 credentialLevel 配置为 self(自我模式),则 authenticationMethod 必须为 sasl/GSSAPI

类似地,要将客户机配置为启用影子信息更新并使用代理 credentialLevel,必须通过 -a adminDN=adminDN-a adminPassword= adminPassword 提供管理员凭证。但是,如果 credentialLevel 配置为 self,影子信息更新将不需要管理员凭证。

特定于命名服务的配置属性存储在 svc:/network/ldap/client SMF 服务中。不建议直接修改 SMF 属性。请改用此工具。

其他配置可以在安装期间修改。这些信息会备份至 /var/ldap/restore。初始化期间通常会修改的文件如下:

LDAP 配置是在位置配置文件中管理的;这会影响何时以及如何使 LDAP 配置成为持久性的。有关位置配置文件的更多信息,请参阅 netcfg(1M),有关在使用自动网络配置时应如何管理 LDAP 配置的更多详细信息,请参阅下文中的“与位置配置文件交互”部分。

ldapclient 不会将客户机设置为使用 DNS 解析主机名,而只会将 /etc/nsswitch.ldap 复制到 /etc/nsswitch.conf。如果您倾向使用 DNS 进行主机解析,请参见 DNS 文档了解有关设置 DNS 的信息。请参见 resolv.conf(4)。如果您要使用 sasl/GSSAPI 作为验证方法,则必须使用 DNS 进行 hostsipnodes 解析。

list 形式的 ldapclient 实用程序用于列出 LDAP 客户机配置。输出将是用户可读的。LDAP 配置文件并不保证是用户可读的。请注意,出于安全原因,将不会显示 adminDN 和 adminPassword 的值。

uninit 形式的 ldapclient 实用程序用于取消对网络服务环境的初始化,并将其恢复到上次使用 initmanual 执行 ldapclient 之前的状态。只有当计算机是使用 initmanual 形式的 ldapclient 进行初始化的,恢复操作才会成功,因为该命令使用这些选项创建的备份文件。

genprofile 选项用于根据命令行中指定的属性将 LDIF 格式的配置文件写入标准输出。然后,可以将此配置文件装入 LDAP 服务器以用作客户机配置文件,此配置文件可通过 ldapclient init 命令下载。可以通过 ldapadd(1) 或特定于服务器的任何导入工具,将 LDIF 格式的配置文件装入目录服务器。请注意,proxyDNproxyPasswordcertificatePathdomainNameenableShadowUpdateadminDNadminPassword 属性并非此配置文件的一部分,因此不允许使用。

您必须拥有超级用户特权才能运行 ldapclient 命令,但使用 genprofile 选项时除外。

要访问目录中存储的信息,客户机可以通过验证方式连接目录,也可以使用不进行验证的连接。LDAP 客户机配置为具有 anonymousproxy 凭证级别。在第一种情况下,客户机连接目录时不进行验证。在第二种情况下,客户机连接目录时按以下方式进行验证:读取访问使用代理标识验证,写入访问使用管理员标识验证(如果配置了 enableShadowUpdate)。在第三种情况下,客户机连接目录时使用 Kerberos 主体进行验证,LDAP 服务器可将该主体映射到 LDAP 标识。有关标识映射的详细信息,请参见《Oracle Solaris Administration: Naming and Directory Services》中有关实现安全性的章节或相应的目录服务器文档。

如果客户机配置为使用标识,您可以配置客户机要使用的验证方法。LDAP 客户机支持以下验证方法:

none
simple
sasl/CRAM-MD5
sasl/DIGEST-MD5
sasl/GSSAPI
tls:simple
tls:sasl/CRAM-MD5
tls:sasl/DIGEST-MD5

请注意,某些目录服务器可能不支持以上所有验证方法。对于 simple,请注意绑定口令将以明文形式发送到 LDAP 服务器。对于使用 TLS(transport layer security,传输层安全)的验证方法,将对整个会话进行加密。您需要安装相应的证书数据库,才能使用 TLS。

与位置配置文件交互

如上文提到的,LDAP 配置是在位置配置文件中管理的(有关位置配置文件的更多信息,请参阅 netcfg(1M))。这些配置文件要么是固定的,表示以传统方式管理网络配置;要么是活性的,表示自动管理网络配置,并会根据配置文件中指定的策略规则对网络环境的变化作出反应。

当某个固定位置(当前只能有一个,即 DefaultFixed 位置)处于活动状态时,对 SMF 系统信息库所做的更改(包括使用 ldapclient 等工具所做的间接更改)将在该位置被禁用时应用于该位置,因此,如果以后重新启用了该位置,更改将被恢复。

当活性位置处于活动状态时,不应将更改直接应用于 SMF 系统信息库;这些更改不会保留在位置配置文件中,因此如果禁用该位置,或者刷新或重新启动系统的网络配置(由 svc:/network/physical:default svc:/network/location:default 管理),更改将会丢失。应使用 netcfg(1M) 命令将更改应用于位置本身;这样会将更改保存到位置配置文件系统信息库中,还会将其应用于 SMF 系统信息库(如果更改是针对当前活动的位置进行的)。

当前对位置的 LDAP 配置提供的支持非常有限。用户必须在 ldap-nameservice-servers 属性中指定可从中获取完整的配置文件的一个服务器名称。不可以指定其他参数。此外,如果某个位置中不包括 LDAP 配置,则在启用该位置时,相关的 LDAP 服务将被禁用。

通过创建发出适当 ldapclient 命令以配置 LDAP 的脚本来提供更加复杂的 LDAP 配置;之后可以使用该脚本来创建可根据需要启用/禁用的 ENM 配置文件。有关 ENM 配置文件的更多信息,请参阅 netcfg(1M)

命令

所支持的命令如下:

init

基于服务器中的配置文件初始化客户机。

manual

使用指定的属性值手动初始化客户机。

mod

在手动初始化客户机后修改配置文件中的属性值。

list

以用户可读的格式将 LDAP 客户机高速缓存的内容写入标准输出。

uninit

取消 LDAP 客户机初始化(假定使用了 ldapclient 来初始化客户机)。

genprofile

通过此命令的 init 形式生成 LDIF 格式的配置文件,该配置文件随后可存储在目录中供客户机使用。

属性

支持以下属性:

adminDN

为用于影子信息更新的管理员标识指定绑定标识名。如果凭证级别为 proxy 并且 enableShadowUpdate 设置为 true,则必须指定此选项。没有缺省值。

adminPassword

指定管理员口令。如果凭证级别为 proxy 并且 enableShadowUpdate 设置为 true,则必须指定此选项。没有缺省值。

attributeMap

指定从服务定义的属性到备用架构中属性的映射。该选项可用于更改给定服务使用的缺省架构。在配置文件 IETF 草案中定义了 attributeMap 的语法。可以多次指定此选项。所有服务的缺省值为 NULL。在以下示例中,

attributeMap: passwd:uid=employeeNumber

对于 passwd 服务,LDAP 客户机将使用 LDAP 属性 employeeNumber 而不是 uid。这是一个多值属性。

authenticationMethod

指定所有服务使用的缺省验证方法,除非被 serviceAuthenticationMethod 属性覆盖。可以使用分号分隔的列表来指定多个值。缺省值为 none。对于使用 credentialLevel 并且 credentialLevelanonymous 的服务,此属性将被忽略。即使 credentialLevel 是 anonymous,pam_ldap 等服务也会使用此属性。支持的验证方法如上所述。如果 authenticationMethod 为 sasl/GSSAPI,则必须将 /etc/nsswitch.confhostsipnodes 配置为支持 DNS,例如:

hosts: dns files
ipnodes: dns files
bindTimeLimit

客户机在执行绑定操作时最多能使用的时间(以秒为单位)。请将此属性设置为一个正整数。缺省值为 30。

certificatePath

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

credentialLevel

指定客户机联系目录时应使用的凭证级别。支持的凭证级别为 anonymousproxyself。如果凭证级别指定为 proxy,则必须指定 authenticationMethod 属性来确定验证机制。同样,如果凭证级别为 proxy 并且至少有一种验证方法需要绑定 DN,则必须设置 proxyDNproxyPassword 属性值。此外,如果将 enableShadowUpdate 设置为 true,则还必须设置 adminDNadminPassword 值。如果凭证级别指定为 self,则 authenticationMethod 必须为 sasl/GSSAPI

defaultSearchBase

指定缺省的搜索基 DN。无缺省值。serviceSearchDescriptor 属性可用于覆盖给定服务的 defaultSearchBase

defaultSearchScope=one | sub

指定客户机搜索操作的缺省搜索范围。可以通过指定 serviceSearchDescriptor 覆盖给定服务的此缺省范围。缺省范围为一级搜索。

defaultServerList

由空格分隔的服务器名称或服务器地址列表(IPv4 或 IPv6)。如果您指定服务器名称,请确保 LDAP 客户机可在没有 LDAP 名称服务的情况下对名称进行解析。您必须使用 filesdns 解析 LDAP 服务器的名称。如果无法解析 LDAP 服务器名称,命名服务将会失败。

端口号为可选。如果未指定,则会使用缺省的 LDAP 服务器端口号 389,但在验证方法中指定了 TLS 时除外。在这种情况下,缺省 LDAP 服务器端口号为 636。

为 IPv6 地址指定端口号的格式为:

[ipv6_addr]:port

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

ipv4_addr:port

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

host_name:port

如果您使用 TLS,LDAP 服务器的主机名必须与 TLS 证书中的主机名匹配。通常,TLS 证书中的主机名为全限定域名。对于 TLS,LDAP 服务器主机地址必须解析为 TLS 证书中的主机名。您必须使用 filesdns 来解析主机地址。

domainName

指定 DNS 域名。这将成为计算机的缺省域。缺省值是当前域名。此属性仅在客户机初始化时使用。

enableShadowUpdate=true | false

指定是否允许客户机更新影子信息。如果设置为 true 并且凭证级别是 proxy,则必须指定 adminDNadminPassword

followReferrals=true | false

指定引用设置。设置为 true 意味着自动接受引用,设置为 false 会导致不遵循引用。缺省值为 true。

objectclassMap

指定从服务定义的 objectclass 到备用架构中 objectclass 的映射。该选项可用于更改给定服务使用的缺省架构。在配置文件 IETF 草案中定义了 objectclassMap 的语法。可以多次指定此选项。所有服务的缺省值为 NULL。在以下示例中,

objectclassMap=passwd:posixAccount=unixAccount 

对于 passwd 服务,LDAP 客户机将使用 unixAccount 而非 posixAccount 的 LDAP objectclass。这是一个多值属性。

preferredServerList

指定要在 defaultServerList 属性指定的服务器之前联系的服务器,可使用以空格分隔的服务器名称或服务器地址列表(IPv4 或 IPv6)。如果您指定服务器名称,请确保 LDAP 客户机可在没有 LDAP 名称服务的情况下对名称进行解析。您必须使用 filesdns 解析 LDAP 服务器的名称。如果无法解析 LDAP 服务器名称,命名服务将会失败。

端口号为可选。如果未指定,则会使用缺省的 LDAP 服务器端口号 389,但在验证方法中指定了 TLS 时除外。在这种情况下,缺省 LDAP 服务器端口号为 636。

为 IPv6 地址指定端口号的格式为:

[ipv6_addr]:port

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

ipv4_addr:port

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

host_name:port

如果您使用 TLS,LDAP 服务器的主机名必须与 TLS 证书中的主机名匹配。通常,TLS 证书中的主机名为全限定域名。对于 TLS,LDAP 服务器主机地址必须解析为 TLS 证书中的主机名。您必须使用 filesdns 来解析主机地址。

profileName

指定配置文件名称。对于 ldapclient init,此属性为现有配置文件的名称,该配置文件可以定期下载,下载间隔取决于 profileTTL 属性的值。对于 ldapclient genprofile,此属性为要生成的配置文件的名称。缺省值为 default

profileTTL

指定用于获取客户机信息的 TTL 值(以秒为单位)。只有当计算机是使用客户机配置文件初始化的,此属性才有意义。如果您不希望 ldap_cachemgr(1M) 尝试通过 LDAP 服务器刷新 LDAP 客户机配置,请将 profileTTL 设置为 0(零)。有效值为 0(零,表示无期限)或正整数(以秒为单位)。缺省值为 12 小时。

proxyDN

指定代理标识的绑定标识名。如果凭证级别为 proxy 并且至少有一种验证方法需要绑定 DN,则必须使用此选项。没有缺省值。

proxyPassword

指定客户机代理口令。如果凭证级别为 proxy 并且至少有一种验证方法需要绑定 DN,则必须使用此选项。无缺省值。

searchTimeLimit

指定 LDAP 搜索操作允许的最大秒数。缺省值是 30 秒。服务器可能具有自己的搜索时间限制。

serviceAuthenticationMethod

servicename:authenticationmethod 格式指定服务要使用的验证方法,例如:

pam_ldap:tls:simple

如果有多种验证方法,请使用分号分隔的列表。缺省值为无服务验证方法,在这种情况下,每种服务都将缺省为 authenticationMethod 值。支持的验证方法如上所述。

以下三种服务支持此功能:passwd-cmdkeyservpam_ldappasswd-cmd 服务用于定义 passwd(1) 用来更改用户的口令及其他属性的验证方法。keyserv 服务用于标识 chkey(1)newkey(1M) 实用程序要使用的验证方法。pam_ldap 服务用于定义在配置了 pam_ldap(5) 时对用户进行验证要使用的验证方法。如果没有为上述服务设置此属性,可以使用 authenticationMethod 属性定义验证方法。这是一个多值属性。

serviceCredentialLevel

指定服务要使用的凭证级别。可以用空格分隔的列表指定多个值。所有服务的缺省值为 NULL。支持的凭证级别为 anonymousproxy。目前,没有服务使用此属性。这是一个多值属性。

serviceSearchDescriptor

覆盖给定服务的缺省 LDAP 搜索基 DN。此描述符的格式还允许覆盖每个服务的缺省搜索范围和搜索过滤器。在配置文件 IETF 草案中定义了 serviceSearchDescriptor 的语法。所有服务的缺省值为 NULL。这是一个多值属性。在以下示例中,

serviceSearchDescriptor=passwd:ou=people,dc=a1,dc=acme,dc=com?one

对于 passwd 服务,LDAP 客户机将在 ou=people,dc=a1,dc=acme,dc=com 而不是 ou=people,defaultSearchBase 中执行一级搜索。

选项

支持以下选项:

-a attrName=attrValue

指定 attrName 及其值。有关可能的属性名称和值的完整列表,请参见“用法概要”部分。

-D bindDN

指定具有所请求数据库的读取权限的条目。

-j passwdFile

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

-q

静默模式。不生成任何输出。

-v

详细输出。

-w bindPassword

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

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

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

-y passwdFile

指定代理 DN 的口令所在的文件。要保护口令,请在脚本中使用此选项,并将口令存放在安全文件中。此选项与 -a proxyPassword 选项互斥。

-z adminrPasswdFile

指定 adminDN 的口令所在的文件。要保护口令,请在脚本中使用此选项,并将口令存放在安全文件中。此选项与 -a adminPassword 选项互斥。

操作数

支持下列操作数:

LDAP_server

从中装入配置文件的 LDAP 服务器的地址或名称。系统会使用 nsswitch.conf 文件中指定的当前命名服务。装入配置文件后,将使用配置文件中指定的 preferredServerListdefaultServerList

示例

示例 1 使用指定 LDAP 服务器上存储的缺省配置文件设置客户机

以下示例说明了如何使用指定 LDAP 服务器上存储的缺省配置文件设置客户机。只有当配置文件中的凭证级别设置为 anonymous 或验证方法设置为 none 时,此命令才会成功。

example# ldapclient init 172.16.100.1

示例 2 使用指定 LDAP 服务器上存储的 simple 配置文件设置客户机

以下示例说明了如何使用指定 LDAP 服务器上存储的 simple 配置文件设置客户机。domainname 设置为 xyz.mycompany.com,proxyPassword 设置为 secret

example# ldapclient init -a profileName=simple \
-a domainName=xyz.mycompany.com \
-a proxyDN=cn=proxyagent,ou=profile,dc=xyz,dc=mycompany,dc=com \
-a proxyPassword=secret '['fe80::a00:20ff:fea3:388']':386

示例 3 设置仅使用一台服务器的客户机

以下示例说明了如何设置仅使用一台服务器的客户机。验证方法设置为 none,搜索基设置为 dc=mycompany,dc=com

example# ldapclient manual -a authenticationMethod=none \
-a defaultSearchBase=dc=mycompany,dc=com \
-a defaultServerList=172.16.100.1

示例 4 设置仅使用一台服务器的不遵循引用的客户机

以下示例说明了如何设置仅使用一台服务器的客户机。凭证级别设置为 proxy。验证方法设置为 sasl/CRAM-MD5,并且选择不遵循引用。域名设置为 xyz.mycompany.com,并且 LDAP 服务器在 IP 地址 172.16.100.1 的 386 端口上运行。

example# ldapclient manual \
-a credentialLevel=proxy \
-a authenticationMethod=sasl/CRAM-MD5 \
-a proxyPassword=secret \
-a proxyDN=cn=proxyagent,ou=profile,dc=xyz,dc=mycompany,dc=com \
-a defaultSearchBase=dc=xyz,dc=mycompany,dc=com \
-a domainName=xyz.mycompany.com \
-a followReferrals=false \
-a defaultServerList=172.16.100.1:386

示例 5 使用 genprofile 仅设置 defaultSearchBase 和服务器地址

以下示例说明了如何使用 genprofile 命令设置 defaultSearchBase 和服务器地址。

example# ldapclient genprofile -a profileName=myprofile \
-a defaultSearchBase=dc=eng,dc=sun,dc=com \
-a "defaultServerList=172.16.100.1 172.16.234.15:386" \
> myprofile.ldif

示例 6 在 IPv6 服务器上创建配置文件

以下示例可在 IPv6 服务器上创建配置文件

example# ldapclient genprofile -a profileName=eng \
-a credentialLevel=proxy \
-a authenticationMethod=sasl/DIGEST-MD5 \
-a defaultSearchBase=dc=eng,dc=acme,dc=com \
-a "serviceSearchDescriptor=passwd:ou=people,dc=a1,dc=acme,dc=com?one"\
-a preferredServerList= '['fe80::a00:20ff:fea3:388']' \
-a "defaultServerList='['fec0::111:a00:20ff:fea3:edcf']' \
    '['fec0::111:a00:20ff:feb5:e41']'" > eng.ldif

示例 7 创建覆盖每个缺省值的配置文件

以下示例显示了覆盖每个缺省值的配置文件。

example# ldapclient genprofile -a profileName=eng \
-a credentialLevel=proxy -a authenticationMethod=sasl/DIGEST-MD5 \
-a bindTimeLimit=20 \
-a defaultSearchBase=dc=eng,dc=acme,dc=com \
-a "serviceSearchDescriptor=passwd:ou=people,dc=a1,dc=acme,dc=com?one"\
-a serviceAuthenticationMethod=pam_ldap:tls:simple \
-a defaultSearchScope=sub \
-a attributeMap=passwd:uid=employeeNumber \
-a objectclassMap=passwd:posixAccount=unixAccount \
-a followReferrals=false -a profileTTL=6000 \
-a preferredServerList=172.16.100.30 -a searchTimeLimit=30 \
-a "defaultServerList=172.16.200.1 172.16.100.1 192.168.5.6" > eng.ldif

退出状态

将返回以下退出值:

0

该命令已成功执行。

1

出现错误。输出了错误消息。

2

需要 proxyDNproxyPassword 属性,但未提供这两个属性。

文件

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

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

/etc/defaultdomain

系统缺省域名,与 LDAP 服务器中数据的域名匹配。请参见 defaultdomain(4)

/etc/nsswitch.conf

用于名称服务转换的配置文件。请参见 nsswitch.conf(4)

/etc/nsswitch.ldap

使用 LDAP 和文件配置的名称服务转换的样例配置文件。

属性

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

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

另请参见

chkey(1)ldapadd(1)ldapdelete(1)ldaplist(1)ldapmodify(1)ldapmodrdn(1)ldapsearch(1)idsconfig(1M)ldapaddent(1M)ldap_cachemgr(1M)netcfg(1M)defaultdomain(4)nsswitch.conf(4)resolv.conf(4)attributes(5)

注意

当前 libldap.so.5 不支持 StartTLS,因此提供的端口号是指 TLS 打开期间使用的端口,而不是用作 StartTLS 系列一部分的端口。为避免超时延迟,建议不要混合使用 TLS 和非 TLS 验证机制。

例如:

-h foo:1000 -a authenticationMethod=tls:simple

...或者:

defaultServerList= foo:1000
authenticationMethod= tls:simple

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

在采用以下设置的第二个示例中,在尝试通过不安全的绑定连接到 foo:636 时,将导致出现明显的超时延迟。

defaultServerList= foo:636 foo:389
authenticationMethod= simple