Linux网络信息系统(NIS)与NIS+的使用指南
1. NIS与NIS+的对比
NIS和NIS+仅有名称和共同目标相似,二者结构截然不同。NIS+采用了类似DNS的分层命名空间,而非NIS的扁平不相交命名空间。NIS+使用由行和列组成的表,每行代表NIS+数据库中的一个对象,列涵盖NIS+所了解和关注的对象属性。每个NIS+域的表包含其父域的表,且表中的条目可能包含指向其他表的链接,这些特性使得信息能够以多种方式进行组织。
此外,NIS+支持安全且加密的RPC,这极大地解决了NIS的安全问题。传统NIS的RPC版本号为2,而NIS+是版本3。目前,Linux上还没有良好的NIS+实现,因此这里不做介绍。
2. NIS客户端的工作原理
对于熟悉编写或移植网络应用程序的人来说,大多数NIS映射对应C库中的库函数。例如,获取密码信息通常使用 getpwnam 和 getpwuid 函数,它们分别返回与给定用户名或数字用户ID相关的账户信息。在正常情况下,这些函数会在标准文件(如 /etc/passwd )上执行查找操作。
然而,支持NIS的这些函数实现会修改此行为,向NIS服务器发起RPC调用以查找用户名或用户ID,这对应用程序是透明的。函数可以将NIS数据视为附加到原始 passwd 文件,使应用程序能够同时使用两组信息;也可以视为完全替换原始文件,从而忽略本地 passwd 中的信息,仅使用NIS数据。
传统NIS实现对于哪些映射应替换、哪些应附加到原始信息有特定约定
超级会员免费看
订阅专栏 解锁全文
3万+

被折叠的 条评论
为什么被折叠?



