3. NIS、NYS 还是 NIS+ ?
3.1. 带有传统 NIS 还是 NYS 的 libc 4/5?
在“传统 NIS”或 NYS 库中的 NIS 代码之间进行选择,实际上是在懒惰和成熟(稳定)与灵活性和冒险精神之间进行选择。
“传统 NIS”代码位于标准 C 库中,而且存在时间较长,有时会因其年代久远和轻微的缺乏灵活性而受到影响。
NYS 库中的 NIS 代码需要您重新编译 libc 库,以便将 NYS 代码包含在其中(或者您可以从已经完成此操作的人那里获取预编译版本的 libc)。
另一个区别是,传统 NIS 代码对 NIS Netgroups 有一些支持,而 NYS 代码则没有。另一方面,NYS 代码允许您以透明的方式处理 Shadow Passwords。“传统 NIS” 代码不支持通过 NIS 的 Shadow Passwords。
3.2. glibc 2 和 NIS/NIS+
如果您使用新的 GNU C Library 2.x(又名 libc6),请忘记所有这些。它具有真正的 NSS(名称服务切换)支持,这使其非常灵活,并包含对以下 NIS/NIS+ 映射的支持:aliases, ethers, group, hosts, netgroups, networks, protocols, publickey, passwd, rpc, services 和 shadow。GNU C 库在通过 NIS 使用 shadow passwords 方面没有问题。
3.3. NIS 还是 NIS+ ?
NIS 和 NIS+ 之间的选择很简单 - 仅当您有严重的安全需求时才使用 NIS+。NIS+ 在管理上要麻烦得多(在客户端处理起来很容易,但服务器端却很糟糕)。另一个问题是 Linux 下对 NIS+ 的支持包含很多错误,并且开发已经停止。