与由 NIS+ 到 LDAP 的转换相关联的大多数命令行管理任务都由服务管理工具来管理。有关 SMF 的概述,请参阅System Administration Guide: Basic Administration中的“Managing Services (Overview)”。有关更多详细信息,另请参阅 svcadm(1M) 和 svcs(1) 手册页。
可以使用 svcadm 命令对 NIS+ 到 LDAP 转换服务执行管理操作(如启用、禁用或重新启动)。
使用 -t 选项暂时禁用服务可为服务配置提供一些保护。如果禁用服务时使用了 -t 选项,则将在重新引导后恢复服务的初始设置。如果禁用服务时未使用 -t,则服务在重新引导后仍将保持禁用状态。
NIS+ 故障管理资源标识符 (Fault Managed Resource Identifier, FMRI) 是 svc:/network/rpc/nisplus:<instance>。LDAP 客户机服务的 FMRI 是 svc:/network/ldap/client:<instance>。
可以使用 svcs 命令来查询 NIS+ 的状态。
svcs 命令和输出示例。
# svcs \*nisplus\* STATE STIME FMRI online Sep_01 svc:/network/rpc/nisplus:default |
svcs -l 命令和输出示例。要获得如下所示的输出,必须在 FMRI 中使用实例名称。
# svcs -l network/rpc/nisplus:default fmri svc:/network/rpc/nisplus:default enabled false state disabled next_state none restarter svc:/system/svc/restarter:default dependency require_all/none svc:/network/rpc/keyserv (online) |
可使用 ps 命令检查守护进程是否存在。
# ps -e | grep rpc.nisd root 23320 1 0 Aug 27 ? 16:30 ./ns-slapd -D \ /usr/iplanet/ds5/slapd-lastrev -i /usr/iplanet/ds5/slapd-lastrev/ root 25367 25353 0 15:35:19 pts/1 0:00 grep slapd |
不要将 -f 选项与 ps 结合使用,因为此选项会尝试将用户 ID 转换为名称,从而导致可能无法成功进行更多名称服务查找。
通常,/usr/sbin/rpc.nisd 守护进程是使用 svcadm 命令管理的。但是,当使用 -x nisplusLDAPinitialUpdateOnly=yes 调用 rpc.nisd 时,rpc.nisd 会执行指定的初始更新操作,然后再退出。即,rpc.nisd 不会守护进程化。服务管理工具不应当与 -x nisplusLDAPinitialUpdateOnly=yes 结合使用。SMF 可以在您希望启动、停止或重新启动 rpc.nisd 守护进程的其他任何时间使用。
以下示例说明如何将 rpc.nisd 与 -x nisplusLDAPinitialUpdateOnly=yes 结合使用。
# /usr/sbin/rpc.nisd -m mappingfile \ -x nisplusLDAPinitialUpdateAction=from_ldap \ -x nisplusLDAPinitialUpdateOnly=yes |
如果要在用服务管理工具调用 rpc.nisd 守护进程时包括特定选项,可以使用 svcprop 命令或者修改 /lib/svc/method/nisplus 文件。有关使用 svcprop 命令的更多信息,请参见 svcprop(1) 手册页。以下过程介绍如何修改 /lib/svc/method/nisplus 文件。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 System Administration Guide: Security Services中的“Using Role-Based Access Control (Tasks)”。
停止 NIS+ 服务。
# svcadm disable network/rpc/nisplus:default |
打开 /lib/svc/method/nisplus 文件。
使用所选的编辑器。
编辑该文件并添加所需的选项。
将如下内容:
if [ -d /var/nis/data -o -d /var/nis/$hostname ]; then /usr/sbin/rpc.nisd || exit $ |
更改为:
if [ -d /var/nis/data -o -d /var/nis/$hostname ]; then /usr/sbin/rpc.nisd -Y -B || exit $? |
在本示例中,向 rpc.nisd 中添加了 -Y 和 -B 选项,因此这两个选项会在系统启动时自动实现。
保存并退出 /lib/svc/method/nisplus 文件。
启动 NIS+ 服务。
# svcadm enable network/rpc/nisplus:default |