Linux--NIS
一、 环境准备
操作系统:CentOS7.6
服务端安装如下软件:
|
软件名称 |
功能 |
|
ypserv |
NIS Server端的服务进程 |
|
rpcbind |
提供RPC服务 |
客户端安装如下软件:
|
软件名称 |
功能 |
|
yp-tools |
提供NIS相关的查询指令功能(yp-tools和ypbind必须同时安装) |
|
ypbind |
NIS Client端的服务进程(yp-tools和ypbind必须同时安装) |
Yptools和ypbind互相依赖,需要如下方式安装
[root@node2]# rpm -ivh yp-tools-2.14-.el7.x86_64.rpmypbind-1.37.-.el7.x86_64.rpm
网络拓扑:
| Hostname | IP地址 | 角色 | 软件 |
| head1 | 192.168.1.224 | NIS Master Server | ypserv rpcbind yp-tools ypbind |
| node1 | 192.168.1.52 | NIS Client | yp-tools ypbind |
二、搭建
2.1 Masterserver 端配置
2.1.1 设置NIS域名
设置 NIS 的域名,新增如下内容:
临时设置:
[root@server ~]# nisdomainname
abc
永久设置:
[root@server ~]# cat /etc/sysconfig/network
# Created by anaconda
#设定nis的域名
NISDOMAIN=abc
#设定nis固定在1011端口,方便设定防火墙规则
YPSERV_ARGS="-P 1011"
2.1.2 设置hosts
设定IP地址与主机名的对应关系/etc/hosts,新增如下内容
[root@server ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.224 server
192.168.1.52 client
2.1.3 设置主要配置文件/etc/ypserv.conf
设定server端的主配置文件/etc/ypserv.conf

2.1.4 设置防火墙
让yppasswdd启动在固定端口,方便防火墙管理
[root@server ~]# vim /etc/sysconfig/yppasswdd
2.1.5 启动
启动如下命令:
#systemctl start ypserv
#systemctl start rpcbind
#systemctl statrt yppasswdd.service
2.1.6 建立NIS账户和资料库
2. 建立资料库
ypinit命令初始化主服务器和常见NIS映射表。默认的ypinit同make命令给出的操作一样。
按照提示 ctrl+D,确认即可完成资料库建立。
[root@server ~]# /usr/lib64/yp/ypinit -m

2.1.7 更新NIS账户和资料库
在 server 端新增账号或者删除账号或者修改账号信息后,就得要重新制作数据库,make -C /var/yp
[root@server ~]# make -C /var/yp 或 #cd /var/yp #make

把信息写进资料库,让后 client 端才可以读取到最新信息
2.1.8 与Slave相关的设定
当执行了 ypinit -m 之后,所有的主机上面的账号相关档案会被转成数据库档案, 这些数据库会被放置到 /var/yp/"nisdomainname" 当中,
[root@server ~]# ll /var/yp//abc/ 或 #ls /var/yp/abc/

1. 若变更了使用者帐号密码参数,针对这个档案进行数据库更新:
[root@server ~]# cd /var/yp/
[root@server yp]# make passwd 或 #make -C /var/yp passwd

2. 开启Slave服务推送
将 /var/yp/Makefile中的NOPUSH定义修改为false

3. 指定Slave服务主机,告诉master要把数据给谁->server.abcnis

4. 启动 ypxfrd服务
可以让 slave 服务器主动链接上 ypxfrd 来更新数据库, 可以免除系统管理原自己手动更新。
[root@server yp]# systemctl start ypxfrd
设置为自动启动
[root@node0 ~]# systemctl enable ypxfrd
此外,如果 master 机器想要直接将某些特定的数据库直接传给 slave 主机的话, 那么可以使用 yppush 这个指令。
例如:#yppush -h slave.abcnis passwd.*
==============================================================================================


2.2 Client端配置
安装软件:
[root@client ~]# rpm -ivh yp-tools-2.14-.el7.x86_64.rpmypbind-1.37.-.el7.x86_64.rpm
/etc/sysconfig/network:加入 NIS 的域名
/etc/hosts:至少需要有各个 NIS 服务器的 IP 与主机名对应;
/etc/yp.conf:这个则是 ypbind 的主要配置文件,里面主要设定NIS 服务器所在
/etc/sysconfig/authconfig:规范账号登入时的允许认证机制;
/etc/pam.d/system-auth :因为账号通常由 PAM 模块所管理, 所以必须要在 PAM 模块内加入 NIS 的支持才行!
/etc/nsswitch.conf :设定账号密码与相关信息的查询顺序,默认是先找 /etc/passwd 再找 NIS 数据库;
2.2.1 设置NIS域名
设置 NIS 的域名,新增如下内容:
临时设置:
[root@client ~]# nisdomainname hikuss
永久设置:
[root@client ~]# cat /etc/sysconfig/network

2.2.2 设置hosts
设定IP地址与主机名的对应关系/etc/hosts,新增如下内容

2.2.3 设施ypbind连接server
2.2.3.1 账户信息的读取顺序
配置账户信息的读取顺序
[root@client ~]# vim /etc/nsswitch.conf

2.2.3.2 配置/etc/yp.conf
[root@client ~]# vim /etc/yp.conf
配置/etc/yp.conf,最后添加如下代码:

2.2.3.3 设置账号登入认证机制
登入时的允许认证机制
[root@client ~]# vim /etc/sysconfig/authconfig

2.2.3.4 设置PAM授权
修改文件/etc/pam.d/system-auth,增加nis
[root@client ~]# vim /etc/pam.d/system-auth

2.2.5 启动及开机启动
启动如下命令:
[root@client ~]# systemctl start rpcbind
[root@client ~]# systemctl start ypbind
2.3 Client测试
2.3.1 yptest
yptest用来测试 server 端和 client 端能否正常通讯
#如果配置成功,会返回成功的结果
#如果返回fail,则根据提示进行排查

从这个测试当中可能发现一些错误,就是在 Test 3 出现的那个警告信息啦。只是说没有该数据库而已~ 该错误是可以忽略的。
2.3.2 ypwhich
ypwhich用来查看资料库映射数据
1. 查看NIS domain

===================================================================================================
2. 查看数据库映射

2.3.3 ypcat
利用ypcat读取数据库内容

1. 查看数据库映射

2. 查看数据库映射ypcat -k <map>

Linux--NIS的更多相关文章
- 发福利了!!超过100本的linux免费书籍
New Books Kindle Fire App Development Essentials iPhone iOS 6 Development Essentials CentOS 6 Essent ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- Linux的NIS配置
快速命令 # Server和Client设置NIS域名 nisdomainname nis_server echo 'NISDOMAIN=nis_server' >> /etc/sysco ...
- 第11章 Linux服务管理
1. 服务分类 (1)Linux的服务 ①Linux中绝大多数的服务都是独立的,直接运行于内存中.当用户访问时,该服务直接响应用户,其好处是服务访问响应速度快.但不利之处是系统中服务越多,消耗的资源越 ...
- Linux服务器安全配置
众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节.Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操作系统,一旦Linux系统中发现有安全漏洞,Int ...
- 基於tiny4412的Linux內核移植--- 中斷和GPIO學習(2)
作者 彭東林 pengdonglin137@163.com 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uIma ...
- Linux NFS服务器的安装与配置
一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操 ...
- Linux系统启动过程
1. 从BIOS到KERNEL BIOS自检->MBR(GRUB)->KERNEL->KERNEL自解压->内核初始化->内核启动 BIOS自检 当电脑开机的时候,电脑会 ...
- linux(debian) arm-linux-g++ v4.5.1交叉编译 embedded arm 版本的QtWebkit (browser) 使用qt 4.8.6 版本
最近需要做一个项目 在arm 架构的linux下 没有桌面环境的情况下拉起 有界面的浏览器使用. 考虑用qt 的界面和 qtwebikt 的库去实现这一系列操作. 本文参考: Qt移植到ARM Lin ...
- Linux 学习笔记
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...
随机推荐
- Cesium区分单击【LEFT_CLICK】和双击事件【LEFT_DOUBLE_CLICK】
问题描述 在cesium中,用户鼠标左键双击视图或Entity时,实际触发的是两次click和一次dbclick事件,非常影响代码设计,本文记录了如何区分单击[LEFT_CLICK]和双击事件[LEF ...
- iOSMultipeerConnectivity使用
MultipeerConnectivity是iOS7推出的多点连接框架,多用于文件传输,类似于iOS设备的airTrop隔空投放,在没有联网的情况下也能聊天传文件. 使用方法,一个设备作为广播开放Pe ...
- Android项目实战(五十八):Android 保存图片文件到本地,相册/图库查看不到的处理
将一个图片文件写入到本地目录,然后去相册查看,会查找不到这个图片文件,但是去文件目录下查找,确确实实有该图片文件. 问题在于相册是一个独立的app,它并不会去刷新本地图片,所以需要在写图片文件成功之后 ...
- C#&.Net干货分享-构建后台自动定时任务的源码
1.创建一个自动处理中心任务参数的类,直接源码: namespace Frame.AutoProcess{ /// <summary> /// 委托(用于异步处理任务) ...
- echarts js报错 Cannot read property 'getAttribute' of null
本文将为您描述如何解决 eharts.js报错 Uncaught TypeError: Cannot read property 'getAttribute' of null 的问题 根据报错信息查找 ...
- 2019面向对象程序设计(Java) 第16周学习指导及要求
2019面向对象程序设计(Java)第16周学习指导及要求 (2019.12.13-2019.12.16) 学习目标 (1) 掌握Java应用程序的打包操作: (2) 掌握线程概念: (3) 掌握线程 ...
- vmware workstations 虚拟机安装CentOS
1.下载vmware ,我的版本是从上学时保存网盘的,版本比较低,链接如下: 链接:https://pan.baidu.com/s/19QP0q8xmPWIPn-rziPTvKg 提取码:lvh9 2 ...
- oracle xmltype + blob + clob
oracle varchar2最大存储长度为4000,所以当字段长度超限时可尝试存储为blob或xmltype格式 xmltype --1.创建xml表 Create TABLE testxml( i ...
- 元数据MetaData(五)
JDBC的元数据接口有: DatabaseMetaData数据库级 ResultSetMetaData结果集级 一.DatabaseMetaData 在对数据源进行连接以后,得到一个Connectio ...
- Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
docker pull nginx 遇到这个问题 Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: ...
