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