ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

nis 主从搭建

2021-07-26 21:33:45  阅读:576  来源: 互联网

标签:node ... etc master yp nis 主从 搭建


环境:CentOS release 6.6 (Final)

服务器 nis master 192.169.x.1主机名:node-master

服务器 nis master 192.169.x.2主机名:node-slave

 

 

 

 

 

 

 

 

 一、master服务器端设置

在服务器上安装所需软件

 

 

 

 1、yum -y install yp-tools ypbind ypserv portreserve

 

 

 2、设置NIS的域名

①直接命令行下设置NIS域名 临时生效

nisdomainname sun.com

②每次开机时都需要启动这个nis域名的话,直接把它写入/etc/rc.d/rc.local中

/bin/nisdomainname sun.com.cn

③启动nis时就自动设置好nis域,可以设置/etc/sysconfig/network这个文件

YPSERV_ARGS="-p 800" 固定ypserv启动在80端口 若有防火墙方便管理

 

 

 ④修改/etc/yp.conf

domain sun.com.cn server 192.168.x.1

3、主要配置文件/etc/ypserv.conf,根据实际情况在其中添加三行,我的如下(允许149 等类似网段的主机连接此nis)

 

 

 

 

 4、启动所有相关的服务

注意:在centos6 之后的版本 在启动以下服务的时候一定要先启动 rpcbind服务 否则后面的ypserv yppasswdd 服务刚启动起来就会挂掉
/etc/init.d/rpcbind start #启动RPC必须服务
[root@node-master ~]#/etc/init.d/portreserver start
[root@node-master ~]#/etc/init.d/ypserv start #启动NIS服务器提供的主要服务
[root@node-master ~]#/etc/init.d/yppasswdd start #启动client修改密码服务

 

 

 

 启动后rpcinfo查看


[root@node-master yp]# rpcinfo -p node-master
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 39732 status
100024 1 tcp 33393 status
100004 2 udp 988 ypserv
100004 1 udp 988 ypserv
100004 2 tcp 991 ypserv
100004 1 tcp 991 ypserv
100009 1 udp 1001 yppasswdd
600100069 1 udp 635 fypxfrd
600100069 1 tcp 637 fypxfrd

 

 

# rpcinfo -u localhost ypserv
program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting

 

5、建立数据库

在完成了上面的所有步骤后,接下来我们得要开始将主机上面的账号档案转成数据库档案啦!
不过,因为担心与 NIS 客户端的账号有冲突,加上之前我们已经建立过一些账号了。所以,这里我们的新账号使用大于1000的UID来建立。
#useradd -u 1001 nisuser1 -p "加密的密码"
#useradd -u 1002 nisuser2 -p "加密的密码"
小知识:
useradd -p参数后面不能是明文的密码 必须是加密后的密码
可以用openssl passwd -stdin 生成
如 生成一个123密码的密文 将其复制到-p 参数后面即可

接下来,将建立的帐密数据转成数据库吧!
[root@node-master ~]#/usr/lib64/yp/ypinit -m

略....

要注意出现的信息当中,在告知你可以直接输入 [ctrl]-d 以结束的那个地方, 你的主机名会主动的被捉出来。
注意!这个主机名务必需要在 /etc/hosts 可以被找到 IP 的对应, 否则会出现问题。
另外,万一在执行 ypinit -m 时,出现如下的错误,那肯定就是有些数据没有被建立了

 

 

 

建立数据库后,必须要通知ypserv与yppasswdd这两个服务 以告知数据库被更改了
[root@node-master ~]#/etc/init.d/ypserv restart
[root@node-master ~]#/etc/init.d/yppasswdd restart

6、nis-master与slave 相关的配置

当执行了 ypinit -m 之后,所有的主机上面的账号相关档案会被转成数据库档案, 这些数据库会被放置到 /var/yp/"nisdomainname" 当中,

[root@node-master yp]# ls /var/yp/
binding Makefile nicknames sun.com.cn ypservers

 

注意: /var/yp/目录下会产生一个你自己设定的nisdomainname目录 一定要保证master,slave,client中的 nisdomainname设置的一致

开启Slave服务推送

7.1、 将 /var/yp/Makefile中的NOPUSH定义修改为false

7.2、指定Slave服务主机,告诉master要把数据给谁-->node-slave

 

[root@node-master yp]# cat /var/yp/ypservers
node-master
node-slave

7.3、启动 ypxfrd服务

可以让 slave 服务器主动链接上 ypxfrd 来更新数据库, 可以免除系统管理原自己手动更新。
[root@node-master yp]# /etc/init.d/ypxfrd start
此外,如果 master 机器想要直接将某些特定的数据库直接传给 slave 主机的话, 那么可以使用 yppush 这个指令。

例如:#yppush -h node-slave passwd.*

设置开机启动:
chkconfig --level 35 yppasswdd on
chkconfig --level 35 ypxfrd on

chkconfig --level 35 ypserv on

 

 

二:slave服务器端的设置(基本和master一致);
1、在服务器上安装所需软件(yum -y install yp-tools ypbind ypserv portreserve)

2、设定NIS域名(同master一样)
#nisdomainname dindin #使用nisdomainname命令设置NIS域名
# vim /etc/rc.d/rc.local
添加:/bin/nisdomainname dindin #设定开机启动sunnorth域名
# vim /etc/sysconfig/network

[root@node-slave yp]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node-slave
NISDOMAIN=sun.com.cn

3、配置主要配置文件 /etc/ypserv.conf

跟master一样,这里就不在截图说明

3、[root@node-slave ~]# vim /etc/sysconfig/yppasswdd
YPPASSWDD_ARGS="--port 1012"
D.[root@node-slave ~]# vim /etc/yp.conf
domain sun.com.cn server 172.16.x.2

4、启动服务(启动前确认rpcbind服务启动了已经):
#/etc/init.d/ypserv start
# /etc/init.d/yppasswdd start
# /etc/init.d/ypbind start

设置开机启动:
chkconfig --level 35 yppasswdd on

chkconfig --level 35 ypserv on
chkconfig --level 35 ypbind on

 

 

5、获取源数据库(即同步master上的数据)
/usr/lib64/yp/ypinit -s node-master
We will need a few minutes to copy the data from node-master.
Transferring rpc.byname...
Trying ypxfrd ... success

Transferring group.byname...
Trying ypxfrd ... success

Transferring rpc.bynumber...
Trying ypxfrd ... success

Transferring netid.byname...
Trying ypxfrd ... success

Transferring protocols.bynumber...
Trying ypxfrd ... success

Transferring hosts.byaddr...
Trying ypxfrd ... success

Transferring passwd.byname...
Trying ypxfrd ... success

Transferring passwd.byuid...
Trying ypxfrd ... success

Transferring services.byservicename...
Trying ypxfrd ... success

Transferring mail.aliases...
Trying ypxfrd ... success

Transferring group.bygid...
Trying ypxfrd ... success

Transferring protocols.byname...
Trying ypxfrd ... success

Transferring ypservers...
Trying ypxfrd ... success

Transferring services.byname...
Trying ypxfrd ... success

Transferring hosts.byname...
Trying ypxfrd ... success


node-slave's NIS data base has been set up.
If there were warnings, please figure out what went wrong, and fix it.

At this point, make sure that /etc/passwd and /etc/group have
been edited so that when the NIS is activated, the data bases you
have just created will be used, instead of the /etc ASCII files.

6、测试:
[root@node-slave ~]# ypcat -h tra-dindin-nis-slave passwd.byname
[root@node-slave yp]# ypcat -h node-slave passwd.byname
nisuser2:$6$ySiTMICx$a2nmlDx/w8H9Ot8RPNekvhoOP5MUcTpycE8ew.gRDM5In/5VbnHiK/6NijWbVR6L6jffIaS7U1OHdVTHPZK/Q/:1002:1002::/home/nisuser2:/bin/bash
nisuser1:$6$HtJ1M0vL$tBgDvjz9FEh9pGEitcht8YYUgYFCz42vqeVIMhMkXhIOKAMnbT67FBWViKH6V49io.k/fnoO5vdJftaezaU1M0:1001:1001::/home/nisuser1:/bin/bash

 

nisuser1及nisuser2这两个用户是我之前在master上面建立的用户

 

7、设置数据同步时间(master端要启动ypxfrd)
# vim /etc/crontab
# 在最后加入以 ypxfr 传输数据的 script 喔!
*/5 * * * * /usr/lib64/yp/ypxfr –h tra-dindin-nis-master passwd.byname
*/5 * * * * /usr/lib64/yp/ypxfr –h tra-dindin-nis-master passwd.byuid

8、更改配置(这三个文件修改的东西一样):
# vim /usr/lib64/yp/ypxfr_1perday
# vim /usr/lib64/yp/ypxfr_1perhour
# vim /usr/lib64/yp/ypxfr_2perday
$YPBINDIR/ypxfr $map -h tra-dindin-nis-master

当master有变更时可以在slave上手动执行以下两条命令立即同步
/usr/lib64/yp/ypxfr –h tra-dindin-nis-master passwd.byname
/usr/lib64/yp/ypxfr –h tra-dindin-nis-master passwd.byuid

 

三:客户端的设置
A;安装所需的软件
#yum -y install ypbind yp-tools portreserver
B;修改必要的配置文件


1,直接命令行下设置nis域名,临时生效

#nisdomainname sun.com.cn

2,每次开机时都需要启动这个nis域名的话,直接把它写入/etc/rc.d/rc.local中

内容和上面一下不在写

3,启动nis时就自动设置好nis域,可以设置/etc/sysconfig/network这个文件

内容和上面一下不在写

2、启动ypbind来连接至nis server,修改如下配置文件
1,#vim /etc/nsswitch.conf

 

 

 2,#vim /etc/sysconfig/authconfig

 

 

 3,#vim /etc/pam.d/system-auth

 

 

 

4,#vim /etc/yp.conf

domain sun.com.cn server 192.168.x.1
domain sun.com.cn server 192.168.x.2
ypserver 192.168.x.1
ypserver 192.168.x.2

 

设置完成后,再启动ypbind (启动之前也要先启动rpcbind服务 一般这个都系统都安装好了的 我们只需要启动就可以)
#/etc/init.d/rpcbind start
#/etc/init.d/ypbind start
在客户端查看nis账户中的nisuser1用户 (客户端本地是没有这个用户的)

[root@localhost ~]# id nisuser1
uid=1001(nisuser1) gid=1001(nisuser1) groups=1001(nisuser1)

 

 

 

 /etc/init.d/ypserv stop

 

在客户端查看nisuser1用户

 

 [root@localhost ~]# id nisuser1
uid=1001(nisuser1) gid=1001(nisuser1) groups=1001(nisuser1)

 

依然可以查到 说明nis主从服务搭建成功

 

标签:node,...,etc,master,yp,nis,主从,搭建
来源: https://www.cnblogs.com/sjli-blog/p/15063398.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有