有关开始使用 NIS+ 数据的 LDAP 系统信息库所需配置的介绍,请参见 NIS+LDAPmapping(4)。本节中的其余部分更详细地介绍配置文件的组织结构。
/etc/default/rpc.nisd 文件中所有的赋值都属于 attributeName=value 类型。
下列属性控制 rpc.nisd 的常规配置,无论 LDAP 映射是否有效,这些属性都处于活动状态。通常应当让它们保持其缺省值。有关更多信息,请参见 rpc.nisd(4)。
nisplusNumberOfServiceThreads
nisplusThreadCreationErrorAction
nisplusThreadCreationErrorAttempts
nisplusThreadCreationErrorTimeout
nisplusDumpErrorAction
nisplusDumpErrorAttempts
nisplusDumpErrorTimeout
nisplusResyncService
nisplusUpdateBatching
nisplusUpdateBatchingTimeout
下列属性控制如何从 LDAP 读取其他配置属性。这些属性本身不能驻留在 LDAP 中。它们只能从命令行或配置文件中读取。有关更多信息,请参见 rpc.nisd(4)。
nisplusLDAPconfigDN
nisplusLDAPconfigPreferredServerList
nisplusLDAPconfigAuthenticationMethod
nisplusLDAPconfigTLS
nisplusLDAPconfigTLSCertificateDBPath
nisplusLDAPconfigProxyUser
nisplusLDAPconfigProxyPassword
preferredServerList
指定 LDAP 服务器和端口号。
# LDAP server can be found at port 389 # LDAP server can be found at port 389 on the local machine # preferredServerList=127.0.0.1 # Could also be written # preferredServerList=127.0.0.0.1:389 LDAP server on the machine at IP # address "1.2.3.4", at port 65042 # preferredServerList=1.2.3.4:65042 |
authenticationMethod
nisplusLDAPproxyUser
nisplusLDAPproxyPassword
指定验证方法,在适用于所选方法的情况下,还可指定要在 rpc.nisd 守护进程和 LDAP 服务器之间使用的代理用户(绑定的标识名 (distinguished name, DN))和口令(密钥或其他共享秘密)。有关更多信息,请参见安全性和验证。
nisplusLDAPTLS
nisplusLDAPTLSCertificateDBPath
defaultSearchBase
LDAP DIT 中用于存放 RFC 2307 样式的名称服务数据的位置。当未在单独的容器 DN 中指定完整的搜索库时,会使用此缺省位置。有关更多信息,请参见nisplusLDAPobjectDN 属性。
nisplusLDAPbaseDomain
当 NIS+ 对象规范(请参见nisplusLDAPdatabaseIdMapping 属性)未完全限定时使用的缺省 NIS+ 域名。
nisplusLDAPbindTimeout
nisplusLDAPmodifyTimeout
nisplusLDAPaddTimeout
nisplusLDAPdeleteTimeout
以上参数分别是 ldap bind、modify、add 和 delete 操作的超时参数。通常应当让它们保持其缺省值。
nisplusLDAPsearchTimeout
nisplusLDAPsearchTimeLimit
以上第一个参数用于设置 LDAP 搜索操作的超时值,第二个参数用于请求服务器端的搜索时间限制。由于 nisplusLDAPsearchTimeLimit 将控制 LDAP 服务器花在搜索请求上的时间,因此请确保 nisplusLDAPsearchTimeLimit 不小于 nisplusLDAPsearchTimeout。 根据 NIS+ 服务器、LDAP 服务器以及二者之间连接的性能,您可能需要在缺省值的基础上增大搜索限制的值。查看 rpc.nisd 的超时系统日志消息,并根据消息提示来增大这些值。
nisplusLDAPsearchSizeLimit
以上参数请求 LDAP 搜索请求所返回的 LDAP 数据量的限制值。缺省值为请求无限制。 这是服务器端限制。LDAP 服务器可能会强行限制最大值,并且这些限制可能会绑定到所使用的代理用户(绑定 DN)。请确保 LDAP 服务器允许 rpc.nisd 传送足以填充最大容器(具体取决于站点设置,通常是指用于 passwd.org_dir、mail_aliases.org_dir 或 netgroup.org_dir 的容器)的数据。有关更多信息,请查阅 LDAP 服务器文档。
nisplusLDAPfollowReferral
以上参数用于定义在 LDAP 操作导致引用其他 LDAP 服务器时要执行的操作。缺省值为不遵循引用。如果您希望或者需要遵循引用,请启用“遵循引用”。请记住,尽管引用会带来方便,但是它们还会使 rpc.nisd 针对每个请求都与多台 LDAP 服务器通信,从而降低操作速度。rpc.nisd 通常应当直接指向能够处理 rpc.nisd 可能发出的任何 LDAP 请求的 LDAP 服务器。
下列参数定义在 LDAP 操作过程中出现错误时要执行的操作。通常情况下,应使用其缺省值。有关更多信息,请参见 rpc.nisd(4)。
nisplusLDAPinitialUpdateAction
nisplusLDAPinitialUpdateOnly
nisplusLDAPretrieveErrorAction
nisplusLDAPretrieveErrorAttempts
nisplusLDAPretrieveErrorTimeout
nisplusLDAPstoreErrorAction
nisplusLDAPstoreErrorAttempts
nisplusLDAPstoreErrorTimeout
nisplusLDAPrefreshErrorAction
nisplusLDAPrefreshErrorAttempts
nisplusLDAPrefreshErrorTimeout
nisplusLDAPmatchFetchAction
以上参数用于确定是否应当针对 NIS+ 匹配操作来预先提取 LDAP 数据。在大多数情况下,应保留其缺省值。有关更多信息,请参见 rpc.nisd(4)。
提供的缺省 NIS+LDAPmapping 文件可充当 NIS+/LDAP 映射的主转换器。
如果使用非缺省映射文件,则必须编辑 /lib/svc/method/nisplus 脚本,以在 rpc.nisd 行中使用 -m mappingfile 选项指定映射文件的名称。有关更多信息,请参见NIS+ 到 LDAP 转换工具和服务管理工具。
对于应当映射到 LDAP 或从 LDAP 映射的每个 NIS+ 对象,NIS+LDAPmapping 文件将指定两到五个属性,具体取决于该对象以及缺省值是否满足需要。
必须设置一个要在其他映射属性中使用的别名。如果 NIS+ 对象名不是全限定名(不以点结尾),则将附加 nisplusLDAPbaseDomain 值。
例如,
nisplusLDAPdatabaseIdMapping rpc:rpc.org_dir |
将数据库 ID rpc 定义为 NIS+ rpc.org_dir 表的别名。
请注意,NIS+ 表对象可能会针对表对象(如果该对象应当映射到 LDAP)和表项分别出现一次,只是两种情况下的数据库 ID 不同。例如,
nisplusLDAPdatabaseIdMapping rpc_table:rpc.org_dir nisplusLDAPdatabaseIdMapping rpc:rpc.org_dir |
将数据库 ID rpc_table 和 rpc 定义为 rpc.org_dir 表的别名。后面的定义清楚表明将 rpc_table 用于 rpc.org_dir 表对象,将 rpc 用于该表中的各项。
由于 rpc.nisd 守护进程的本地数据库(位于内存中和磁盘上)充当 LDAP 数据的高速缓存,因此可使用 nisplusLDAPentryTtl 属性来设置该高速缓存中各项的生存时间 (time-to-live, TTL) 值。每个数据库 ID 都有三个 TTL。前两个 TTL 用于控制当 rpc.nisd 首次从磁盘中装入对应的 NIS+ 对象数据时的初始 TTL,第三个 TTL 将在从 LDAP 中读取或刷新对象时指定给该对象。
例如,通过以下语句,rpc.org_dir 表对象可获取在 21600 秒到 43200 秒的范围内随机选择的初始 TTL。
nisplusLDAPentryTtl rpc_table:21600:43200:43200 |
如果初始 TTL 过期并从 LDAP 中刷新了表对象,则该 TTL 将设置为 43200 秒。
同样,使用以下语句,可在首次装入 rpc.org_dir 表时向该表中的各项指定介于 1800 秒和 3600 秒之间的初始 TTL。
nisplusLDAPentryTtl rpc:1800:3600:3600 |
每项都会获取各自在指定范围内随机选择的 TTL。如果某个表项过期并已刷新,则该 TTL 将设置为 3600 秒。
选择 TTL 值时,需要综合考虑性能和一致性。如果由 rpc.nisd 高速缓存的 LDAP 数据所使用的 TTL 非常长,则性能与 rpc.nisd 根本未从 LDAP 映射数据时一样。但是,如果 LDAP 数据被 rpc.nisd 以外的某个实体更改,则所做的更改也可能会在很长时间之后才显示在 NIS+ 中。
相反,如果选择非常短(或者甚至为零)的 TTL,则意味着对 LDAP 数据进行的更改会迅速显示在 NIS+ 中,但这也可能会大大降低性能。通常,对于会同时从 LDAP 中读取数据或向 LDAP 中写入数据的 NIS+ 操作而言,所需的时间将至少为没有 LDAP 通信时执行同一操作所需时间的两到三倍(而且还会带来额外的 LDAP 查找开销)。尽管性能会因为硬件资源而大不相同,但是,扫描大型 LDAP 容器(具有几万或几十万个项)以确定应当刷新的 NIS+ 项可能会需要很长时间。rpc.nisd 守护进程在后台执行扫描操作,从而可在运行时继续为可能过时的数据提供服务,但是后台扫描仍然会占用 NIS+ 服务器中的 CPU 和内存。
请仔细考虑保持 NIS+ 数据与 LDAP 密切同步的重要性,并选择每个 NIS+ 对象都可接受的最长 TTL。缺省值(未指定 nisplusLDAPentryTtl 时的值)是 1 小时。对于表项以外的对象,模板映射文件 /var/nis/NIS+LDAPmapping.template 会将该值更改为 12 小时。但是,系统无法自动识别非项对象,因此,如果要为非项对象添加映射,TTL 的缺省值将为 1 小时。
不存在的对象没有 TTL。因此,无论哪些 TTL 对于 NIS+ 表中的 LDAP 映射项有效,对于 NIS+ 中不存在的项发出请求时都将在 LDAP 中查询该项。
对于每个映射的 NIS+ 对象,nisplusLDAPobjectDN 都会设置对象数据在 LDAP DIT 中所处的位置。它还允许指定在删除 LDAP 项之后要执行的操作。每个 nisplusLDAPobjectDN 值都有三部分。第一部分指定从何处读取 LDAP 数据,第二部分指定将 LDAP 数据写入何处,第三部分指定在删除 LDAP 数据时应当发生的情况。请参阅以下示例:
nisplusLDAPobjectDN rpc_table:\ cn=rpc,ou=nisPlus,?base?\ objectClass=nisplusObjectContainer:\ cn=rpc,ou=nisPlus,?base?\ objectClass=nisplusObjectContainer,\ objectClass=top |
以上示例说明应当从 DN cn=rpc,ou=nisPlus 读取 rpc.org_dir 表对象(由于该值以逗号结尾,并附加了 defaultSearchBase 属性的值),搜索范围为 base,ObjectClass 属性的值为 nisplusObjectContainer 的项处于选中状态。
将该表对象写入同一个位置中。缺少删除规范,这表示执行缺省操作,如下所示。如果该 NIS+ 表对象被删除,则整个 LDAP 项也应当被删除。
如果应当从 LDAP 读取数据,而不应当向其中写入数据,请忽略写入部分(以及用于将写入部分与读取部分分开的冒号)。
nisplusLDAPobjectDN rpc_table:\ cn=rpc,ou=nisPlus,?base?\ objectClass=nisplusObjectContainer |
请注意,nisplusObjectContainer 对象类不属于 RFC 2307。为了使用它,必须按照映射表项以外的 NIS+ 对象中的详细说明来配置 LDAP 服务器。
对于 rpc.org_dir 表项,可以使用以下示例:
nisplusLDAPobjectDN rpc:ou=Rpc,?one?objectClass=oncRpc:\ ou=Rpc,?one?objectClass=onRpc,objectClass=top |
以上示例说明如何从基 ou=Rpc 读取和向其中写入表项。而且,结尾的逗号还会附加 defaultSearchBase 值。选择 objectClass 属性的值为 oncRpc 的项。当在 LDAP 中的 ou=Rpc 容器中创建项时,还必须将 top 指定为 objectClass 值。
请考虑以下示例中说明的非缺省删除规范:
nisplusLDAPobjectDN user_attr:\ ou=People,?one?objectClass=SolarisUserAttr,\ solarisAttrKeyValue=*:\ ou=People,?one?objectClass=SolarisUserAttr:\ dbid=user_attr_del |
user_attr.org_dir 数据驻留在 ou=People LDAP 容器中,该容器由这些数据和来自其他源(如 passwd.org_dir NIS+ 表)的帐户信息共享。
在该容器中选择具有 solarisAttrKeyValue 属性的项,因为只有这些项才包含 user_attr.org_dir 数据。nisplusLDAPobjectDN 的 dbid=user_attr_del 部分说明在删除 user_attr.org_dir NIS+ 表中的某个项时,应当按照 user_attr_del 数据库 ID 所标识的规则集内的规则删除相应的 LDAP 项(如果有的话)。有关更多信息,请参见nisplusLDAPcolumnFromAttribute 属性。
nisplusLDAPattributeFromColumn 指定用于将 NIS+ 数据映射到 LDAP 的规则。其他方向的映射规则由 nisplusLDAPcolumnFromAttribute 控制。
nisplusLDAPcolumnFromAttribute 指定用于将 LDAP 数据映射到 NIS+ 的规则。
完整的项映射语法可以在 NIS+LDAPmapping(4) 中找到。但是,使用几个示例可以更清楚地解释映射语法。
NIS+ rpc.org_dir 表中包含四个名为 cname、name、numbe 和 comment 的列。因此,NIS+ RPC 程序号 (100300) 的标准名称为 nisd、别名为 rpc.nisd 和 nisplusd 的项可以由 rpc.org_dir 中的下列 NIS+ 项表示:
nisd nisd 100300 NIS+ server nisd rpc.nisd 100300 NIS+ server nisd nisplusd 100300 NIS+ server |
假定 defaultSearchBase 值为 dc=some,dc=domain,相应的 LDAP 项(列在 ldapsearch(1) 中)将如下所示:
dn: cn=nisd,ou=Ppc,dc=some,dc=domain cn: nisd cn: rpc.nsid cn: nisplusd oncRpcNumber: 100300 description: NIS+ server objectClass: oncRpc |
这有助于在 NIS+ 数据和 LDAP 数据之间建立简单的一一映射的关系,而且从 NIS+ 到 LDAP 的相应映射属性值如下所示:
nisplusLDAPattributeFromColumn \ rpc: dn=("cn=%s,", name), \ cn=cname, \ cn=name, \ oncRpcNumber=number, \ description=comment |
这会使该项的 DN 为 cn=%s,并用 cname 列的值替换 %s。
cn=nisd, |
由于该值以逗号结尾,因此将附加从 nisplusObjectDN 读取的基值,结果如下所示:
cn=nisd,ou=Rpc,dc=some,dc=domain |
oncRpcNumber 和 description 属性值只是相应 NIS+ 列的简单赋值。rpc.nisd 会将多个 NIS+ 项收集到一个 LDAP 项中,并用多个 cn 值来表示不同的 name 列值。
同样,从 LDAP 到 NIS+ 的映射将如下所示:
nisplusLDAPcolumnFromAttribute \ rpc: cname=cn, \ (name)=(cn), \ number=oncRpcNumber, \ comment=description |
以上示例会将 oncRpcNumber 和 description 值赋予相应的 NIS+ 列。多值 cn(由 (cn) 表示)映射到多个 name 列值(由 (name) 表示)。由于 name 列不能具有多值,因此 rpc.nisd 会为每个 cn 值创建一个 NIS+ 项。
最后,nisplusLDAPattributeFromColumn 值是用于删除操作的规则集的示例。
nisplusLDAPattributeFromColumn \ user_attr_del: dn=("uid=%s,", name), \ SolarisUserQualifier=, \ SolarisAttrReserved1=, \ SolarisAttrReserved2=, \ SolarisAttrKeyValue= |
而且,user_attr.org_dir 数据与其他帐户信息(来自 passwd.org_dir 和其他表)共享 ou=People 容器。如果 user_attr.org_dir 表中的一项被删除,您可能不希望整个 ou=People 项被删除。相反,以上删除项假设当 user_attr.org_dir 项被删除时,SolarisUserQualifier、SolarisAttrReserved1、SolarisAttrReserved2 和 SolarisAttrKeyValue 属性(如果有的话)会从以下规则所指定的 ou=People 项中删除:
dn=("uid=%s,", name) |
LDAP 项的其余部分保持不变。
以下列出了从 NIS+ 迁移到 LDAP 时可能的迁移方案:
通过一次操作将所有的 NIS+ 客户机转换为使用 LDAP。可以使用 rpc.nisd 守护进程来上载 LDAP 中尚不存在的任何 NIS+ 数据。请参见如何通过一个操作将所有的 NIS+ 数据转换为 LDAP。
从 NIS+ 逐步迁移到 LDAP。 首先将 NIS+ 数据转换为 LDAP(请参见如何通过一个操作将所有的 NIS+ 数据转换为 LDAP)。 可以使 NIS+ 客户机和 LDAP 客户机共享相同的名称服务数据,并使 rpc.nisd 自动保持 NIS+ 数据和 LDAP 数据同步。NIS+ 最初可能是授权的名称服务,LDAP 服务器则维护 NIS+ 数据的副本以便于 LDAP 客户机使用。在适当的时候,可以使 LDAP 成为授权的名称服务,并逐步取消 NIS+ 服务,直到不再有 NIS+ 客户机。
LDAP 已经用作名称服务,因此您需要合并 NIS+ 数据和 LDAP 数据。有三种可能的方法来执行此合并。
将 NIS+ 数据添加到 LDAP 中。将 NIS+ 中存在而 LDAP 中不存在的项添加到 LDAP 中。NIS+ 和 LDAP 中均存在但是具有不同数据的项以保留 NIS+ 数据告终。请参见如何通过一个操作将所有的 NIS+ 数据转换为 LDAP。
使用 LDAP 数据覆写 NIS+ 数据。如果某些项在 NIS+ 中存在,而在 LDAP 中不存在,它们将从 NIS+ 中消失。在 NIS+ 和 LDAP 中均存在的项以保留 LDAP 数据告终。请参见如何通过一步操作将所有的 LDAP 数据转换为 NIS+。
合并 NIS+ 数据和 LDAP 数据并逐一解决冲突。请参见合并 NIS+ 数据和 LDAP 数据。
使用 rpc.nisd 上载 LDAP 中尚不存在的任何 NIS+ 数据。
使用以下命令(假设已在缺省位置 (/var/nis/NIS+LDAPmapping) 建立了所有 NIS+/LDAP 数据映射):
# /usr/sbin/rpc.nisd -D \ -x nisplusLDAPinitialUpdateAction=to_ldap \ -x nisplusLDAPinitialUpdateOnly=yes |
以上命令会使 rpc.nisd 将数据上载到 LDAP,然后退出。NIS+ 数据将不会受到此操作的影响。
请参见 rpc.nisd(4) 的 nisplusLDAPinitialUpdateAction 属性。
使用 rpc.nisd 将所有的 LDAP 数据下载到 NIS+,从而覆写现有的 NIS+ 数据。
使用以下命令(假设已在缺省位置 (/var/nis/NIS+LDAPmapping) 建立了所有 NIS+/LDAP 数据映射):
# /usr/sbin/rpc.nisd -D \ -x nisplusLDAPinitialUpdateAction=from_ldap \ -x nisplusLDAPinitialUpdateOnly=yes |
以上命令会使 rpc.nisd 守护进程从 LDAP 下载数据,然后退出。LDAP 数据将不会受到此操作的影响。
请参见 rpc.nisd(4) 的 nisplusLDAPinitialUpdateAction 属性。
NIS+ 到 LDAP 迁移方案说明了当应该通过让 NIS+ 数据或 LDAP 数据成为授权数据来解决 NIS+ 数据和 LDAP 数据之间的冲突时,如何对 NIS+ 数据和 LDAP 数据进行同步。合并数据需要更复杂的过程。
将 NIS+ 数据的备份放到 /nisbackup 目录中。
/etc/default/rpc.nisd 和 /var/nis/tmpmap 中已经存在有效的映射配置(对于应当合并的表)。
在合并之前将 NIS+ 数据以平面文件形式存储到 /before 中,在合并之后将其以平面文件形式存储到 /after 中。
niscat 用于转储以平面文件形式表示的自定义 NIS+ 表,这些表不受 nisaddent(1M) 支持。可以使用自己的命令或脚本,来从 NIS+ 装入这样的自定义表或者将这些表转储到 NIS+ 中。如果是这样,则这些命令/脚本应当优先于 niscat 使用,因为 niscat 没有将数据方便地重新装入到 NIS+ 中的相应命令。
如果不得不使用 niscat(1) 来转储数据,则可以使用 nistbladm(1) 将项逐个重新装入到 NIS+ 中。
命令路径中包括 /usr/lib/nis(这是 nisaddent(1M) 所在的位置)。
如果 LDAP 数据在步骤 4 的下载和步骤 10 的上载之间发生变化,则上载过程可能会覆写这些更改。因此,应当尽量避免在该过程中修改 LDAP 数据。有关更多信息,请查阅 LDAP 服务器文档。
使用 nisbackup 命令备份所有的 NIS+ 数据。
# nisbackup -a /nisbackup |
标识那些包含必须与 LDAP 合并的数据的 NIS+ 表。将这些表的内容转储到平面文件中。例如,使用 nisaddent,按以下方式转储 group.org_dir 的内容:
# nisaddent -d group | sort > /before/group |
将 nisaddent 输出传输到 sort 将便于稍后进行比较。
停止 NIS+ 服务。
# svcadm disable network/rpc/nisplus:default |
将 LDAP 数据下载到 NIS+ 中。
# /usr/sbin/rpc.nisd -D -m tmpmap \ -x nisplusLDAPinitialUpdateAction=from_ldap \ -x nisplusLDAPinitialUpdateOnly=yes |
启动 NIS+ 服务。
# svcadm enable network/rpc/nisplus:default |
rpc.nisd 守护进程现在将为从 LDAP 下载的数据提供服务。如果不应当将 NIS+ 客户机向需要解决的冲突数据公开,请确保在活动 NIS+ 客户机很少(最好没有)时执行此步骤和后面的几个步骤。
转储受到影响的表中的 NIS+ 数据。
以下示例使用 group.org_dir 表。
# nisaddent -d group | sort > /after/group |
创建这些表的合并版本。
使用所选的文件合并过程来生成合并后的表。如果没有其他工具,则可以使用 diff(1) 来收集 /before 和 /after 文件之间的不同部分,并用文本编辑器手动合并。
以下示例假定合并结果位于 /after 中。
将合并后的数据装入到 NIS+ 中。以下示例使用 group 表。
# nisaddent -m -f /after/group group |
删除在合并之后不应当存在的 LDAP 项。
A. 如果某些 LDAP 项在(现在合并的)NIS+ 数据中不存在,但是在上载之后不应当在 LDAP 中存在,则必须删除这些 LDAP 项。
LDAP 服务器可能会提供一种用于删除多项的方便方法,如用于删除容器中所有项的方法。如果不属于这种情况,则可以使用 ldapsearch(1) 来为每个容器生成一系列项。例如,要生成 ou=Rpc 容器中所有项的列表,请按以下方式使用 ldapsearch (1):
# ldapsearch -h server-address -D bind-DN -w password \ -b ou=Rpc,search-base 'objectClass=*' dn | \ grep -i ou=Rpc | grep -v -i \^ou=Rpc > \ /tmp/delete-dn |
有关元参数(例如,server-address 和 bind-DN)的说明,请参见性能和索引。
B. 现在可以编辑结果文件 (/tmp/delete-dn),以便仅指定那些应当删除的项。或者,为了删除该容器中的所有项,可以按原样使用该文件,并依赖 NIS+ 上载功能来恢复 LDAP 数据。无论使用哪种方法,都应当先备份 LDAP 数据,然后执行下面的 ldapdelete 操作。
C. 使用 ldapdelete 删除 LDAP 项,将 stdout(对于已删除的各项,通常为空行)重定向到 /dev/null。
# ldapdelete -h server-address -D bind-DN -w password \ /tmp/delete-dn /dev/null |
D. 对于至少包含一个必须删除的项的容器,重复上述过程。
将合并后的 NIS+ 数据上载到 LDAP 中。
(可选)根据需要编辑 /lib/svc/method/nisplus 文件。
如果 rpc.nisd 守护进程使用 LDAP 系统信息库,而且未在使用缺省文件 /var/yp/NIS+LDAPmapping,请使用 -m mappingfile 选项指定相应的映射文件。
如果 rpc.nisd 守护进程提供 NIS (YP) 仿真,请通过使用 svcprop 或通过修改 /lib/svc/method/nisplus 文件来指定 -Y 选项。
有关更多信息,请参见NIS+ 到 LDAP 转换工具和服务管理工具。
启动 NIS+ 服务。
# svcadm enable network/rpc/nisplus:default |