账号控管:NIS服务器

NIS服务器

 
sun最开始命名为 Yellow pages ,黄页,
NIS = YP;
 
14.1 NIS的由来与功能
 
NIS--Network information services(NIS server)
 
NIS 主要提供的是用户的账号、密码、家目录文件名、 UID 等信息,但 NIS 并没有提供文件系统。同时, NIS 同样使用到RPC 服务器,与NFS一样。
 
RPC(Remote Procedure Call):远程过程调用
 
14.1.1 NIS的主要功能:管理账户信息
     
其他的Linux主机当有客户端登入的时候,都必须到NIS服务器来查询用户的账户与密码,如此一来,所有的Linux主机的账号与密码,都在NIS服务器中。
 
针对账户信息的变动只需要变动,这一台NIS服务器即可,其他哪怕是100台机器,登陆信息都在这里取得;
 
NIS服务器提供给其他机器的数据:
服务器端文件名                             档案内容
/etc/passwd             提供用户账号、 UID、 GID、家目录所在、 Shell 等等
/etc/group               提供群组数据以及 GID 的对应,还有该群组的加入人员
/etc/hosts                主机名与 IP 的对应,常用于 private IP 的主机名对应
/etc/services            每一种服务 (daemons) 所对应的端口 (port number)
/etc/protocols          基础的 TCP/IP 封包协定,如 TCP, UDP, ICMP 等/etc/rpc 每种 RPC 服务器所对应的程序号码
/var/yp/ypservers     NIS 服务器所提供的数据库
 
14.1.2 NIS的运作流程:透过RPC服务
 
由于 NIS 服务器主要是提供用户登入的信息给客户端主机来查询之用,所以, NIS服务器所提供的数据当然就需要用到传输与读写比较快速的 "数据库" 文件系统, 而不是传统的纯文本数据。
 
RPC远程程序调用,开启服务将NIS的数据问题,发送到客户端;
 
考虑到负载以及安全性,一般NIS服务器采用:master/slave架构;
 
master NIS 服务器提供系统管理者制作的数据库,slave则取得来自master的数据,并提供给客户端查询。
客户端可以向整个网域要求用户资料的响应,master 与 slave 皆可回答, 由于 slave 的数据来自于 master ,所以用户账号数据本身是同步的!
如此一方面可以分散 NIS 服务器的负载,而且也可以避免因 NIS 服务器挂点而导致的无法登入的风险。
 
运行机制如下:
 
关于 NIS Server (master/slave) 的运作程序:
1. NIS Master 先将本身的账号密码相关档案制作成为数据库档案;
2. NIS Master 可以主动的告知 NIS slave server 来更新;
3. NIS slave 亦可主动的前往 NIS master server 取得更新后的数据库档案;
4. 若有账号密码的异动时,需要重新制作 database 与重新同步master/slave。
 
关于当 NIS Client 有任何登入查询的需求时:
1. NIS client 若有登入需求时,会先查询其本机的 /etc/passwd,/etc/shadow 等档案;
2. 若在 NIS Client 本机找不到相关的账号数据,才开始向整个 NIS网域的主机广播查询;
3. 每部 NIS server (不论 master/slave) 都可以响应,基本上是先响应者优先
 
 
可以看到NIS client 会先查询本机的账户信息,这样如果本机的账户信息与NIS server不一致的话,会产生错乱。
 
因此一般,NIS client 会主动去除一般账户信息,仅留root账户信息;
 
原文地址:https://www.cnblogs.com/Aiapple/p/5955563.html