跳过导航链接 | |
退出打印视图 | |
手册页第 1M 部分:系统管理命令 Oracle Solaris 11 Information Library (简体中文) |
- 名称服务高速缓存守护进程
/usr/sbin/nscd [-f configuration-file] [-g] [-e cachename, yes | no] [-i cachename]
nscd 守护进程是一个为大多数名称服务请求提供高速缓存的进程。svc:/system/name-service/cache SMF 服务的服务属性决定了高速缓存守护进程的行为。请参见 nscd.conf(4)。
通过标准 libc 接口(如 gethostbyname(3NSL)、getipnodebyname(3SOCKET)、gethostbyaddr(3NSL)和其他),nscd 为 passwd(4)、group(4)、hosts(4)、ipnodes(4)、exec_attr(4)、prof_attr(4)、user_attr(4)、ethers(4)、rpc(4)、protocols(4)、networks(4)、bootparams(4)、auth_attr(4)、services(4)、netmasks(4)、project(4) 数据库提供缓存。将不会专门高速缓存影子文件。getspnam(3C) 调用将保持未缓存状态。
每个高速缓存的数据都具有一个单独的生存时间。缺省情况下,修改本地数据库(/etc/hosts、/etc/passwd 等)会导致下次调用 nscd 时此高速缓存无效。
更新和刷新 svc:/system/name-service/cache 选择性依赖的任何服务(如下所示)会导致重新启动 nscd,这会有效地清除所有高速缓存。
svc:/network/dns/client,请参见 resolv.conf(4)
svc:/network/nis/client,请参见 ypbind(1M) 和 ypfiles(4)
svc:/network/ldap/client,请参见 ldapclient(1M)
svc:/system/name-service/switch,请参见 nsswitch.conf(4)
请参见 nscd.conf(4)。
nscd 还可充当其自己的管理工具。如果 nscd 的实例已在运行,命令将透明地传递至正在运行的版本。
当在启用每用户查找的情况下运行时(请参见 nscd.conf(4)),nscd 将代表发出请求的用户派生一个且仅一个子进程(即每用户 nscd)。每用户 nscd 将使用用户凭证打开到为每用户形式的查找配置的名称信息库的每用户连接。查找将在子进程中执行。结果将缓存在进程中,且仅可用于同一用户。此高速缓存的管理方式与主 nscd 守护进程管理其自己的高速缓存的方式完全相同。每用户 nscd 终止之前,将一直处理来自用户的后续请求。每用户 nscd 使用可配置的非活动生存时间 (time-to-live,TTL) 值,并在非活动 TTL 到期之后终止其自身。
可由主 nscd 创建的每用户 nscd 的最大数目是可配置的(请参见 nscd.conf(4))。创建最大数目的每用户 nscd 之后,主 nscd 将使用 LRU 算法根据需要终止不太活动的子 nscd。
主 nscd 守护进程创建、监视并管理所有子 nscd。它将在接收用户的第一次每用户查找时创建用户自己的 nscd。启动 nscd 守护进程时,如果启用每用户查找,它将进行检查以确保在准备创建每用户 nscd 之前满足所有条件。停止此守护进程时,它将终止其控制下的所有每用户 nscd。
每用户 nscd 使用与主 nscd 相同的配置。它们读取并使用同一缺省配置文件或使用 -f 命令行选项指定的配置文件。读取配置后,每用户 nscd 将在其整个生命周期中使用它。
下面所述的若干选项需要指定 cachename。cachename 支持的值包括:passwd、group、hosts、ipnodes、exec_attr、prof_attr、user_attr、ethers、rpc、protocols、networks、bootparams、auth_attr、services、netmasks、printers 和 project。
导致 nscd 在指定文件中读取其配置数据。该选项已过时,在将来的发行版中将被删除。
将当前配置和统计信息打印到标准输出中。这是非超级用户可执行的唯一选项。
启用或禁用指定的高速缓存。
使指定的高速缓存失效。
示例 1 停止并重新启动 nscd 守护进程。
example# svcadm disable system/name-service/cache example# svcadm enable system/name-service/cache
已过时。之前确定的高速缓存守护进程的行为
有关下列属性的描述,请参见 attributes(5):
|
svcs(1)、svcadm(1M)、ypbind(1M)、getspnam(3C)、gethostbyname(3NSL)、getipnodebyname(3SOCKET)、auth_attr(4)、bootparams(4)、ethers(4)、exec_attr(4)、group(4)、hosts(4)、netmasks(4)、networks(4)、nscd.conf(4)、nsswitch.conf(4)、passwd(4)、prof_attr(4)、project(4)、protocols(4)、resolv.conf(4)、rpc(4)、services(4)、user_attr(4)、attributes(5)
-g 选项到 nscd 的输出可能会发生更改。请不要依赖它作为编程接口。
nscd 服务由服务管理工具 smf(5) 管理,其服务标识符为:
svc:/system/name-service/cache
可以使用 svcadm(1M) 来执行对此服务的管理操作(如启用、禁用或请求重新启动)。可以使用 svcs(1) 命令来查询服务的状态。
保留了过时的服务 svc:/system/name-service-cache,以便实现与可能引用该服务的脚本的向后兼容性。它的唯一用途就是用作服务 svc:/system/name-service/cache 的 optional_all 依赖项。过时的服务名称在将来的发行版中将被删除。