4. 工作原理

4.1. NIS 的工作原理

在一个网络中,必须至少有一台机器充当 NIS 服务器。您可以拥有多台 NIS 服务器,每台服务器服务于不同的 NIS “域” - 或者您可以拥有协作的 NIS 服务器,其中一台是主 NIS 服务器,所有其他服务器都是所谓的从属 NIS 服务器(对于特定的 NIS “域” 而言!) - 或者您可以将它们混合使用...

从属服务器仅拥有 NIS 数据库的副本,并在主服务器的数据库发生更改时从主 NIS 服务器接收这些副本。根据您网络中机器的数量和网络的可靠性,您可能会决定安装一台或多台从属服务器。每当 NIS 服务器宕机或响应请求速度过慢时,连接到该服务器的 NIS 客户端将尝试查找一台正在运行或速度更快的服务器。

NIS 数据库采用所谓的 DBM 格式,该格式源自 ASCII 数据库。例如,文件/etc/passwd/etc/group可以使用 ASCII 到 DBM 的转换软件(makedbm,包含在服务器软件中)直接转换为 DBM 格式。主 NIS 服务器应同时拥有 ASCII 数据库和 DBM 数据库。

从属服务器将收到 NIS 映射的任何更改通知(通过 yppush 程序),并自动检索必要的更改以同步其数据库。NIS 客户端无需执行此操作,因为它们始终与 NIS 服务器通信以读取存储在其 DBM 数据库中的信息。

旧版本的 ypbind 会进行广播以查找正在运行的 NIS 服务器。这是不安全的,因为任何人都可以安装 NIS 服务器并响应广播查询。较新版本的 ypbind(ypbind-3.3 或 ypbind-mt)能够从配置文件中获取服务器 - 因此无需广播。

4.2. NIS+ 的工作原理

NIS+ 是 Sun 公司推出的网络信息名称服务的新版本。NIS+ 和 NIS 之间最大的区别在于 NIS+ 支持通过安全 RPC 进行数据加密和身份验证。

NIS+ 的命名模型基于树状结构。树中的每个节点对应一个 NIS+ 对象,我们有六种类型:目录、条目、组、链接、表和私有。

构成 NIS+ 命名空间根目录的 NIS+ 目录称为根目录。有两个特殊的 NIS+ 目录:org_dir 和 groups_dir。org_dir 目录包含所有管理表,例如 passwd、hosts 和 mail_aliases。groups_dir 目录包含用于访问控制的 NIS+ 组对象。org_dir、groups_dir 及其父目录的集合被称为 NIS+ 域。