一、 环境准备

操作系统: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的更多相关文章

  1. 发福利了!!超过100本的linux免费书籍

    New Books Kindle Fire App Development Essentials iPhone iOS 6 Development Essentials CentOS 6 Essent ...

  2. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  3. Linux的NIS配置

    快速命令 # Server和Client设置NIS域名 nisdomainname nis_server echo 'NISDOMAIN=nis_server' >> /etc/sysco ...

  4. 第11章 Linux服务管理

    1. 服务分类 (1)Linux的服务 ①Linux中绝大多数的服务都是独立的,直接运行于内存中.当用户访问时,该服务直接响应用户,其好处是服务访问响应速度快.但不利之处是系统中服务越多,消耗的资源越 ...

  5. Linux服务器安全配置

    众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节.Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操作系统,一旦Linux系统中发现有安全漏洞,Int ...

  6. 基於tiny4412的Linux內核移植--- 中斷和GPIO學習(2)

    作者 彭東林 pengdonglin137@163.com 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uIma ...

  7. Linux NFS服务器的安装与配置

    一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操 ...

  8. Linux系统启动过程

    1. 从BIOS到KERNEL BIOS自检->MBR(GRUB)->KERNEL->KERNEL自解压->内核初始化->内核启动 BIOS自检 当电脑开机的时候,电脑会 ...

  9. linux(debian) arm-linux-g++ v4.5.1交叉编译 embedded arm 版本的QtWebkit (browser) 使用qt 4.8.6 版本

    最近需要做一个项目 在arm 架构的linux下 没有桌面环境的情况下拉起 有界面的浏览器使用. 考虑用qt 的界面和 qtwebikt 的库去实现这一系列操作. 本文参考: Qt移植到ARM Lin ...

  10. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

随机推荐

  1. 前端知识体系-NodeJS相关】NodeJS基础知识全面总结

    NodeJS基础知识 1. Node的全局对象和全局变量 1.1 全局对象:所有模块都可以调用的 global:表示Node所在的全局环境,类似于浏览器的window对象. process:该对象表示 ...

  2. docker 修改镜像和容器的存放路径(最新自己实践了第三种方法)

    docker info :查看docker的存储等相关信息. 将路径修改至挂载磁盘中 前提:磁盘已挂载成功 方法一: 1.停止docker 服务 service docker stop 2.备份数据到 ...

  3. Python .pyc的编译和反编译

    1. 由Python文件编译为.pyc文件 python -m compileall apps.py 演示 2. .pyc的反编译,使用 uncompyle, 也可以使用网上在线的反编译工具 需要安装 ...

  4. Python语法速查: 5. 运算符、math模块、表达式

    返回目录 (1)一些较容易搞错的运算符 一般简单的如加减乘除之类的运算符就不写了,这里主要列些一些容易搞错或忘记的运算符.运算符不仅仅只有号,有一些英文单词如 in, and 之类,也是运算符,并不是 ...

  5. 阿里云ubuntu 16.04 搭建pptpd 第二版

    前言:1.我常用的服务器在国内,但我又有某方面的需求,所以想要搭建一个pptpd的服务器    2.但我又不常用,所以感觉阿里云包年包月的不划算,所以准备采用阿里云按量付费的实例来搭建pptpd,并形 ...

  6. STL 中 string 的使用

    赋值 string 类型变量可以直接赋值 str = "string"; // str 是 一个 string 类型变量 //等价于 str.assign("string ...

  7. CodeForces - 1230E(dfs+数论+树上贡献)

    题意 https://vjudge.net/problem/CodeForces-1230E 给出一棵树, 点上有权值, 对于每个点, 求它和所有后代节点的GCD的和. 思路 对于一个点,他对后代的贡 ...

  8. WPF 精修篇 自定义控件

    原文:WPF 精修篇 自定义控件 自定义控件 因为没有办法对界面可视化编辑 所以用来很少 现在实现的是 自定义控件的 自定义属性 和自定义方法 用VS 创建自定义控件后 会自动创建 Themes 文件 ...

  9. 这样修改有哪些优缺点 wcf service via attribute setting vs config

    客户要恢复数据,结果就是block在某个阶段,在server端log一圈下来,发现原来是client端出了问题,就是这个log: ERROR - Identity check failed for o ...

  10. 【LOJ6397】「THUPC2018」蛋糕 / Cake(搜索)

    点此看题面 大致题意: 把一个\(a\times b\times c\times d\)的\(4\)维图形划分成\(a\times b\times c\times d\)个小块,求有\(0\sim8\ ...