1.NIS(Network Information Service):网络信息服务,是集中控制几个系统管理数据库的网络用品。NIS简化了UNIX和LINUX桌面客户的管理工作,客户端利用它可以使用中心服务器的管理文件。例如:桌面系统的用户无需建立他们自己的/etc/passwd和/etc/shadow用户认证文件,只需要到NIS服务器上去寻找用户使用的帐号密码信息加以比对,完成用户登录检验即可。同时NIS服务器还可以提供其他多种信息。
假设在一个大型的网域之中,有多台Linux操作系统的主机,而且需要每台主机都设定相同的用户名及密码时,是十分麻烦的。此时,如果能够有一台主控制服务器(master server)来管理该网域中所有主机的用户名及密码,那么当所有的主机需要进行用户登录验证时,只需要到这台服务器上请求相关的用户名及密码等信息进行对比即可,这样一来,如果想要增加、修改、删除用户的资料,只需要到这台主控服务器上面处理即可,这样就能够大大降低重复设定用户名及密码的步骤,便于管理。NIS(Network Information Services)Server就可以实现这样的功能。
用户信息只需要在NIS服务器上面进行创建,客户端加入NIS域,直接可以使用NIS域上的用户来登录主机。
2.NIS的工作流程:
1)NIS Server(Master/Slave即NIS Server包括Master和Slave两类服务器)
Nis Master Server:
将文件建成数据库,并提供给Slave Server来更新;
Nis Slave Server:
以Master Server的数据库作为本身的数据库来源;
NIS Server的工作流程如下:
1>Nis Master先将帐号密码相关文件制作成数据库文件;
2>Nis Master可以主动告诉Nis Slave来更新;
3>Nis Slave也可以主动前往Nis Master进行更新;
4>若有帐号密码变动时,需要重新制作数据库文件并重新同步Master/Slave。
2) NIS Client向Master/Slave 请求验证数据的流程如下:
1>NIS client 若有登入需求时,会先查询其本机的 /etc/passwd, /etc/shadow 等文件;
2>若在 NIS Client 本机找不到相关的账号数据,才开始向整个 NIS 网域的主机广播查询;
3>每台 NIS server (不论 master/slave) 都可以响应,基本上是先响应者优先。
3. NIS服务器端组件结构(包括配置文件、主要服务及相关指令):
NIS服务器主要提供的信息如下表(注意: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 服务器所提供的数据库 |
NIS服务端的主要服务如下表:
主要服务方面 | 功能 |
---|---|
/usr/sbin/ypserv |