【NIS】深入了解NIS
1 简介
NIS( NetworkInformation Service)提供了一个网络黄页的功能,当用户登录系统时,Linux系统会到NIS主机上去寻找用户使用的帐号密码信息加以比对,以提供用户登录检验。同时NIS服务器还可以提供其他多种信息。
2 深入了解NIS
2.1 基本概念
2.1.1 NIS
在一个大型的网域中,如果有多部Linux主机,而且需要每台主机都设定相同的帐号与密码时,是十分麻烦的。此时,如果能够有一台NIS主控制服务器(master server)来管理该网域中所有主机的帐号密码,当其他的主机有用户登录的需求时,才到这台服务器上请求相关的帐号密码等使用者资料,这样一来,如果想要增加、修改、删除用户的资料,只需要到这台服务器上面处理即可,这样就能够大大降低重复设定用户帐号密码的步骤,便于管理。NIS(Network Information Services) Server就可以实现这样的功能。
2.1.2 NIS服务器端组件结构
NIS的组件结构分为配置文件、主要服务以及相关指令。
NIS服务器主要提供信息如下表:
|
服务器端文件名 |
文件内容 |
|
/etc/passwd |
提供用户帐号、 UID、 GID、家目录所在、登录shell等信息 |
|
/etc/group |
提供群组信息以及GID的对应,还有该群组成员等信息 |
|
/etc/hosts |
提供主机名与IP地址的对应关系信息 |
|
/etc/services |
提供每一种服务( daemons)所对应的端口( port number)信息 |
|
/etc/protocols |
基础的TCP/IP封包协议,如TCP, UDP, ICMP等 |
|
/etc/netgroup |
网络群组的定义与使用 |
|
/etc/rpc |
RPC服务器信息 |
2.1.2.1 NIS配置文件
NIS服务器端的配置文件如下表所示:
|
配置文件名 |
文件内容 |
|
/etc/ypserv.conf |
关键配置文件,规范NIS客户端登录权限等 |
|
/etc/hosts |
在其中配置IP地址与主机名对应关系 |
|
/etc/netgroup |
设定信任主机组 |
|
/var/yp/Makefile |
与建立资料库有关的配置文件 |
2.1.2.2 NIS主要服务
NIS服务器端的主要服务如下表所示:
|
主要服务名 |
功能 |
|
/usr/sbin/ypserv |
NIS服务器提供的主要服务 |
|
/usr/sbin/rpc.ypxfrd |
用来作为master/slave主机之间传输资料库的服务 |
|
/usr/sbin/rpc.yppasswdd |
通过此服务,NIS客户端登录的用户可以直接修改在NIS服务器上的密码 |
|
/var/yp/Makefile |
与建立资料库有关的配置文件 |
2.1.2.3 NIS主要指令
NIS服务器端的主要指令如下表所示:
|
相关指令名 |
功能 |
|
/usr/sbin/yppush |
master主机将资料库直接送至slave主机的指令 |
|
/usr/lib/yp/ypinit |
建立资料库的指令 |
|
/usr/lib/yp/ypxfr |
传送资料库的指令 |
2.1.3 NIS客户端组件结构
NIS的组件结构分为配置文件、相关指令。
2.1.3.1 NIS配置文件
NIS客户端配置文件如下表所示:
|
配置文件名 |
文件内容 |
|
/etc/hosts |
主机名与IP地址对应关系 |
|
/etc/yp.conf |
ypbind的主要配置文件,设定NIS Server |
|
/etc/nsswitch.conf |
重要的配置文件,设定帐号密码等信息 |
|
/var/yp/Makefile |
与建立资料库有关的配置文件的查询顺序 |
2.1.3.2 NIS主要指令
NIS客户端的主要指令如下表所示:
|
相关指令名 |
功能 |
|
/usr/bin/yppasswd |
更改客户端登录用户在NIS服务器上的密码 |
|
/usr/bin/ypchsh |
更改客户端登录用户默认登录shell |
|
/usr/bin/ypchfn |
更改客户端登录用户的finger信息 |
2.2 NIS流程
2.2.1 NIS Server(Master/Slave)
NIS Server包括Master和Slave两类服务器:
Nis Master Server:
将文件建成数据库,并提供给Slave Server来更新;
Nis Slave Server:
以Master Server的数据库作为本身的数据库来源;
流程如下:
1.Nis Master先将帐号密码相关文件制作成数据库文件;
2.Nis Master可以主动告诉Nis Slave来更新;
3.Nis Slave亦可以主动前往Nis Master取得更新;
4.若有帐号密码变动时,需要重新制作数据库文件并重新同步Master/Slave。
2.2.2 NIS Client
NIS Client向Master/Slave 请求登陆者的验证数据。
流程如下:
1.NIS client 若有登入需求时,会先查询其本机的 /etc/passwd, /etc/shadow 等档案;
2.若在 NIS Client 本机找不到相关的账号数据,才开始向整个 NIS 网域的主机广播查询;
3.每个 NIS server (不论 master/slave) 都可以响应,基本上是『先响应者优先』。
2.3 典型组网
2.3.1 网络拓扑
网络拓扑结构如下图:
2.3.2 系统要求
各个角色应该具备的软件
2.3.2.1 NIS Client要求
NIS 客户端需要安装的组件如下:
|
软件名称 |
功能 |
|
yp-tools |
提供NIS相关的查询指令功能 |
|
ypbind |
NIS Client端的服务进程(如果) |
2.3.2.2 NIS Server要去
NIS 服务器端需要安装的组件如下:(一般情况下,NIS服务器也要起到客户端的作用,所以客户端软件也要安装)
|
软件名称 |
功能 |
|
yp-tools |
提供NIS相关的查询指令功能 |
|
ypbind |
NIS Client端的服务进程(如果) |
|
ypserv |
NIS Server端的服务进程 |
|
portmap |
提供RPC服务 |
【NIS】深入了解NIS的更多相关文章
- NIS域配置详解
一.前期准备1.1 NIS 简介NIS,英文的全称是network information service,也叫yellow pages.在Linux中,NIS是一个基于RPC的client/serv ...
- centos7搭建NIS与NFS综合应用
实验环境: centos7(服务端) redhat enterprise linux 7.2(客户端) 实验目的:用centos7的账号,能在redhat enterprise linu ...
- NIS 服务器
有没有想过,如果我有十部 Linux 主机,这十部主机仅负责不同的功能,事实上, 所有的主机账号与对应的密码都相同!那么我是将账号与密码分别设定置在十部计算机上面, 还是可以透过一部主机做为账号管理的 ...
- Nis+Nfs+Autofs
Nis: NIS服务的应用结构中分为NIS服务器和NIS客户机两种角色 NIS服务器集中维护用户的帐号信息(数据库)供NIS客户机进行查询 用户登录任何一台NIS客户机都会从NIS服务器进行登录认证, ...
- nis+kerberos 实现服务验证
1.NIS部分 1.1 简介 NIS(Network Information Service,or Yellow Page or YP) 网络信息服务,由sun公司开发并授权给unix供应商, ...
- NIS & Kerberos配置
NIS & Kerberos配置 所需RPM包列表: krb5-server-1.10.3-42.el6.x86_64.rpm krb5-workstation-1.10.3-42.el6.x ...
- NIS - 深入了解如何搭建NIS环境
第一篇[NIS]深入了解NIS 1 环境准备 操作系统:CentOS7.2 服务端安装如下软件: 软件名称 功能 ypserv NIS Server端的服务进程 rpcbind 提供RPC服务 ...
- CentOS6.4安装辅助NIS的流程
服务器端软件包安装 yum -y install yp-tools ypbind ypserv rpcbind 设置NIS的域名 echo 'NISDOMAIN=liebaonis.local' &g ...
- CentOS6.4 上搭建NIS网络信息服务器
NIS(Network Information Service)网络信息服务,主要功能是提供用户登录信息给客户端主机查询之用,用于企业局域网Linux主机账户的集中管理(非跨平台).NIS服务器在大型 ...
随机推荐
- BZOJ1002:[FJOI2007]轮状病毒(找规律,递推)
Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子 和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道.如下 ...
- CF#538(div 2) C. Trailing Loves (or L'oeufs?) 【经典数论 n!的素因子分解】
任意门:http://codeforces.com/contest/1114/problem/C C. Trailing Loves (or L'oeufs?) time limit per test ...
- [19/04/02-星期二] IO技术_字符流分类总结(含字符转换流InputStreamReader/ OutputStreamWriter,实现字节转字符)
一.概念 ------->1.BufferedReader/BufferedWriter [参考19.03.31文章] *Reader/Writer-------->2.InputStre ...
- git上传下载代码操作
提交代码实质上都要走这样的操作 " 本地代码 --> 本地服务器" "本地服务器 --> 远程服务器" 其实小伙伴就记住两个词就好了. Commi ...
- spring AOP 代理(静态与动态+使用cglib实现)
一.没有代理模式 缺点: 1.工作量特别大,如果项目中有多个类,多个方法,则要修改多次. 2.违背了设计原则:开闭原则(OCP),对扩展开放,对修改关闭,而为了增加功能把每个方法都修改了,也不便于维护 ...
- 对于dequeueReusableCellWithIdentifier:的理解
Table Data Source Methods中的一个必要实现的方法tableView: cellForRowAtIndexPath: 中经常会包含一段代码: static NSString ...
- JavaScript-比较运算符
一.概述 > 大于运算符 < 小于运算符 <= 小于或者等于运算符 >= 大于或者等于运算符 == 相等运算符 === 严格相等运算符 != 不相等运算符 !== 严格不相等运 ...
- WebPack系列之Proxy
背景 当我们直接去访问https://m.weibo.cn/api/config/list时由于端口.域名的不同产生了跨域,无法请求到资源数据. 分析 WebPack中devServer的proxy代 ...
- LeetCode 中级 - 组合总和(105)
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限制重复被选 ...
- Hibernate 事务不回滚
问题: 这几天在做开发时,发现事务不回滚了,Service是用AOP加的事务,数据库是MySql, 表全部是InnoDB: 方法回滚是采用spring的手动回滚: ...