Go to main content

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

退出打印视图

更新时间: 2018年8月8日 星期三
 
 

nscd(8)

名称

nscd - 名称服务高速缓存守护进程

用法概要

/usr/sbin/nscd [-f configuration-file] [-g] [-e cachename, yes
 | no] [-i cachename]

描述

nscd 守护进程是一个为大多数名称服务请求提供高速缓存的进程。svc:/system/name-service/cache SMF 服务的服务属性决定了高速缓存守护进程的行为。请参见 nscd.conf(5)。

nscd 通过标准的 libc 接口(例如 gethostbyname(3C)、getipnodebyname(3C)、gethostbyaddr(3C)及其他)为 passwd(5)、group(5)、hosts(5)、ipnodes(5)、exec_attr(5)、prof_attr(5)、user_attr(5)、ethers(5)、rpc(5)、protocols(5)、networks(5)、bootparams(5)、auth_attr(5)、services(5)、netmasks(5)、project(5) 数据库提供缓存。将不会专门高速缓存影子文件。getspnam(3C) 调用将保持未缓存状态。

每个高速缓存的数据都具有一个单独的生存时间。缺省情况下,修改本地数据库(/etc/hosts、/etc/passwd 等)会导致下次调用 nscd 时此高速缓存无效。

更新和刷新 svc:/system/name-service/cache 选择性依赖的任何服务(如下所示)会导致重新启动 nscd,这会有效地清除所有高速缓存。

请参见 nscd.conf(5)。

nscd 还可充当其自己的管理工具。如果 nscd 的实例已在运行,命令将透明地传递至正在运行的版本。

当在启用每用户查找的情况下运行时(请参见 nscd.conf(5)),nscd 将代表发出请求的用户派生一个且仅一个子进程(即每用户 nscd)。每用户 nscd 将使用用户凭证打开到为每用户形式的查找配置的名称系统信息库的每用户连接。查找将在子进程中执行。结果将缓存在进程中,且仅可用于同一用户。此高速缓存的管理方式与主 nscd 守护进程管理其自己的高速缓存的方式完全相同。每用户 nscd 终止之前,将一直处理来自用户的后续请求。每用户 nscd 使用可配置的非活动生存时间 (time-to-live,TTL) 值,并在非活动 TTL 到期之后终止其自身。

可由主 nscd 创建的每用户 nscd 的最大数目是可配置的(请参见 nscd.conf(5))。创建最大数目的每用户 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。

–f configuration-file

导致 nscd 在指定文件中读取其配置数据。该选项已过时,在将来的发行版中将被删除。

–g

将当前配置和统计信息列显到标准输出中。这是非 root 用户可执行的唯一选项。

–e cachename, yes|no

启用或禁用指定的高速缓存。

–i cachename

使指定的高速缓存失效。

示例

示例 1 停止并重新启动 nscd 守护进程。

example# svcadm disable system/name-service/cache

example# svcadm enable system/name-service/cache

文件

/etc/nscd.conf

已过时。之前确定的高速缓存守护进程的行为

属性

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

属性类型
属性值
可用性
system/core-os

另请参见

svcs(1)、gethostbyname(3C)、getipnodebyname(3C)、getspnam(3C)、auth_attr(5)、bootparams(5)、ethers(5)、exec_attr(5)、group(5)、hosts(5)、netmasks(5)、networks(5)、nscd.conf(5)、nsswitch.conf(5)、passwd(5)、prof_attr(5)、project(5)、protocols(5)、resolv.conf(5)、rpc(5)、services(5)、user_attr(5)、attributes(7)、svcadm(8)、ypbind(8)

附注

–g 选项到 nscd 的输出可能会发生更改。请不要依赖它作为编程接口。

nscd 服务由服务管理工具 smf(7) 管理,其服务标识符为:

svc:/system/name-service/cache

可以使用 svcadm(8) 来对此服务执行管理操作(如启用、禁用或请求重新启动)。可以使用 svcs(1) 命令来查询服务的状态。

保留了过时的服务 svc:/system/name-service-cache,以便实现与可能引用该服务的脚本的向后兼容性。它的唯一用途就是用作服务 svc:/system/name-service/cache 的 optional_all 依赖项。过时的服务名称在将来的发行版中将被删除。