NIS
文章目录
一、NIS
二、简介
2.1 NIS的产生
正所谓有需求才会有产品,有问题才会有方法去解决,那么NIS是怎么产生的呢?
在一个大型的网域中,如果有多部Linux主机,而且需要每台主机都设定相同的帐号与密码时,是十分麻烦的。此时,如果能够有一台NIS主控制服务器(master server)来管理该网域中所有主机的帐号密码,当其他的主机有用户登录的需求时,才到这台服务器上请求相关的帐号密码等使用者资料,这样一来,如果想要增加、修改、删除用户的资料,只需要到这台服务器上面处理即可,这样就能够大大降低重复设定用户帐号密码的步骤,便于管理。NIS(Network Information Services) Server就可以实现这样的功能。
2.2 什么是NIS?
网络信息服务(Network Information Service)是集中控制几个系统管理数据库的网络用品。NIS简化了UNIX和LINUX桌面客户的管理工作,客户端利用它可以使用中心服务器的管理文件。桌面系统的用户无需建立他们自己的/etc/passwd,他们只简单的使用维护在NIS服务器的文件即可。用户只需要在nis服务器上面创建,客户端加入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 服务器所提供的数据库 |
/etc/netgroup | 网络群组的定义与使用 |
3.1 服务端
3.1.1 配置文件
配置文件名 | 文件内容 |
---|---|
/etc/ypserv.conf | 这是最主要的 ypserv 软件所提供的配置文件,可以规范 NIS 客户端是否可登入的权限。 |
/etc/hosts | 由于 NIS server/client 会用到网络主机名与IP的对应,因此这个主机名对应档就显的相当重要!每一部主机名与 IP 都需要记录才行! |
/etc/netgroup | 提供组数据及GID的对应。 |
/etc/sysconfig/network | 可以在这个档案内指定 NIS 的网域 (nisdomainname)。 |
/var/yp/Makefile | 这就是与建立数据库有关的动作配置文件; |
3.1.2 主要服务
主要服务名 | 功能 |
---|---|
/usr/sbin/ypserv | 就是 NIS 服务器的主要提供服务 |
/usr/sbin/rpc.ypxfrd | 用于Master/Slave主机之间的传输数据库的服务。 |
/usr/sbin/rpc.yppasswd | 提供额外的 NIS 客户端之用户密码修改服务, 通过这个服务, NIS 客户端可以直接修改在 NIS 服务器上的密码。相关的使用程序则是 yppasswd 指令;(修改密码时,NIS客户端与NIS服务器端之前通过这个服务来通信) |
3.1.3 数据库相关指令
相关指令位置 | 功能 |
---|---|
/usr/lib64/yp/ypinit | 建立数据库的指令,非常常用 (在 32 位的系统下,文件名则是 /usr/lib/yp/ypinit ); |
/usr/sbin/yppush master | 主机将数据库直接送至 slave 的指令; |
/usr/lib/yp/ypxfr | 传送数据库的指令,在该目录下尚有 ypxfr_1perday, ypxfr_1perhour, ypxfr_2perday 等等。 |
3.2 客户端
3.2.1 配置文件
配置文件名 | 文件内容 |
---|---|
/etc/hosts | 主机名与IP地址对应关系 |
/etc/yp.conf | ypbind的主要配置文件,设定NIS Server |
/etc/nsswitch.conf | 重要的配置文件,设定帐号密码等信息 |
var/yp/Makefile | 与建立资料库有关的配置文件的查询顺序 |
3.2.2 主要指令
相关指令名 | 功能 |
---|---|
/usr/bin/yppasswd | 更改客户端登录用户在NIS服务器上的密码 |
/usr/bin/ypchsh | 更改客户端登录用户默认登录shell |
/usr/bin/ypchfn | 更改客户端登录用户的finger信息 |
四、NIS环境
4.1 NIS所需的软件包
yp-tools :提供 NIS 相关的查寻指令功能
ypbind :提供 NIS Client 端的设定软件
ypserv :提供 NIS Server 端的设定软件
portmap :这是 RPC必须的软件!
什么是RPC?请点这里
相关端口:portmap :111,因为NIS、NFS 都是依赖于portmap服务 6.0/7.0 版本用rpcbind取代portmap服务
相关包:ypserv(NIS服务器必需的),ypbind(NIS客户端必需的,默认已安装),yp-tools(NIS的常用工具,默认已安装)
4.2 NIS Server (Master/Slave)
NIS服务器包括主从服务器两种,从的作用就是备份,即当主服务器出现故障后,从能直接使用
主(Master):将文件建成数据库,并提供给Slave来更新;
从(Slave):以Master的数据库作为本身的数据库来源;
详细:
1. Master先将帐号密码相关文件制作成数据库文件;
2. Master可以主动告诉Slave来更新;
3. Slave亦可以主动前往Master取得更新;
4.若有帐号密码变动时,需要重新制作数据库文件并重新同步Master/Slave。
4.3 NIS Client
**1.NIS client 若有登入需求时,会先查询其本的 /etc/passwd, /etc/shadow 等档案; **
**2.若在 NIS Client 本机找不到相关的账号数据,才开始向整个 NIS 网域的主机广播查询. **
3.每个 NIS server (不论 master/slave) 都可以响应,基本上是『先响应者优先』。
五、 搭建NIS
环境需求:
主机名 | 系统版本 | IP地址 | 安装包 |
---|---|---|---|
server | CentOS 7.6 | 192.168.100.40 | rpcbind ypserv ypbind yp-tools |
client | CentOS 7.6 | 192.168.100.243 | ypbind yp-tools |
服务端:
//关闭防火墙和selinux
[root@server ~]# systemctl stop firewalld.service
[root@server ~]# systemctl disable firewalld.service
[root@server ~