1.NIS服务器端的设置
a.所需软件
yp-tools
ypbind
ypserv
portmap
b.设置NIS的域名
#nisDomainname example.com
#vim /etc/sysconfig/network
NISDOMAIN=example.com
c.配置/etc/ypserv.conf
#vim /etc/ypserv.conf
dns:no
file:30
slp:no
slp_timeout:3600
xfr_check_port:yes
127.0.0.0/255.255.255.0 :*:*:none
192.168.1.0/255.255.255.0 :*:*:none
* :*:*:none
d.设置/etc/hosts
#vim /etc/hosts
192.168.1.2 Master.example.com
192.168.1.10 Slave.example.com
192.168.1.100 Client.example.com
e.启动相关服务
#service portmap start
#service ypserv start
#service yppasswdd start
f.建立数据库
#/usr/lib/yp/ypinit -m
next host to add: Master.example.com
next host to add: Slave.example.com
next host to add: [Ctrl+D]
#service ypserv restart
#service yppasswdd restart
g.Master/Salve
#vim /etc/yp/Makefile
NOPUSH=false
#vim /var/yp/ypServers
Master.exmaple.com
Slave.exmaple.com
#service ypxfrd start
{#yppush -h Slave.example.com passwd.*}
2.NIS Slave的设置
a.设置域名
#nisDomainname example.com
#vim /etc/sysconfig/network
NISDOMAIN=example.com
b.设置/etc/ypserv.conf
#vim /etc/ypserv.conf
127.0.0.0/255.255.255.0 :*:*:none
192.168.1.0/255.255.255.0 :*:*:none
* :*:*:none
c.设置/etc/hosts
#vim /etc/hosts
192.168.1.2 Master.example.com
192.168.1.10 Slave.example.com
192.168.1.100 Client.example.com
d.启动服务并建立数据库
#service portmap start
#service ypserv start
#/usr/lib/yp/ypinit -s Master.example.com
3.NIS客服端
a.所需软件
ypbind
yp-tools
b.设置域名
#nisDomainname example.com
#vim /etc/sysconfig/network
c.authconfig
Domain: example.com
Server:Slave.example.com
NISDOMAIN=example.com
d.
#vim /etc/nsswitch.conf
passwd: files nis
shadow: filee nis
group: files nis
hosts: files
#vim /etc/sysconfig/authconfig
USENIS=yes
#vim /etc/pam.d/system-auth
password sufficient /lib/security/$ISA/pam_unix.so nullok
use_authtok mad5 shadow nis
#vim /etc/yp.conf
Domain example.com broadcast
#service portmap restart
#service ypbind restart
e.测试
#yptest
############################################
RHEL5下配置NIS
在RHEL5下配置NIS
目标:
配置一个NIS主服务器(master),一个NIS从服务器(slave),若干NIS客户端(client)。
NIS域是alin
(这里的域alin和hostname的域是没有丝毫关系的,没必要一样。但是我的hostname是server.alin, xxx.alin,但是两者没有任何联系哦!)
配置前奏:
首先,把机器都连上吧。
我的IP分配:
NIS主服务器(master): 192.168.0.1
NIS从服务器(slave): 192.168.0.2
所有机器的/etc/hosts里面都有这样的记录:
server1.alin 192.168.0.1
server2.alin 192.168.0.2
首先配置主NIS服务器
设定NIS域,没设定这个等下ypserv开不起来。
nisdomainname alin
配置/etc/ypserv.conf文件,设置安全权限
192.168.0.0/255.255.255.0 : * : * : none
只要是192.168.0.0/255.255.255.0这个网段的client可以访问server的NIS资源
OK,设置好这些,就开始建立NIS数据库吧。
/usr/lib/yp/ypinit -m
然后ypinit会问你的hostname是不是你的NIS hostname,ctrl + D表示输入结束。
ypinit会确认一下你的选择。确定。
数据库建好,那么可以开启NIS服务了。
/etc/init.d/ypserv start
/etc/init.d/yppasswdd start
/etc/init.d/ypxfrd start
/etc/init.d/portmap start
当然,如果你希望重启后你的NIS server能够自动运行的话,还要做下面的设置。
首先nisdomainnane开机后是会没掉的,所以要自己设置
在/etc/rc.local中添加nisdomainname alin
在/etc/sysconfig/network里面添加NISDOMAIN=alin
然后开机要启动上面的四个服务
chkconfig �Clevel 35 ypserv on
chkconfig �Clevel 35 yppasswdd on
chkconfig �Clevel 35 ypxfrd on
chkconfig �Clevel 35 portmap on
然后这样作为主NIS服务器的配置就大功告成了。
还有需要注意一下,
1.一定要把111端口打开。Ypxfrd需要用到这个端口哦。
2.NIS服务器上如果有用户数据的变动,比如增加用户,必须重新用ypinit重建数据库。重建数据库后必须重启ypserv服务。
怎么测试NIS服务是否正常工作呢?有个简陋的方法:在NIS server上开启下ypbind服务,然后ypcat passwd 。看看能不能看到用户帐号,就OK啦。
配置从服务器(slave)
修改主服务器设置:
/var/yp/Makefile
把里面的NOPUSH=true改成false
注释里面是这么说的“如果你有从服务器,请把NOPUSH=true改成NOPUSH=false”
但是我自己没有改,貌似从服务器照样能从主服务器获取数据,谁能解答我的疑问呢?
然后重新建立数据库文件/usr/lib/yp/ypinit -m
依次输入主服务器和从服务器的域名或者IP
建立数据库,重启ypserv服务。
从服务器设置:
设定NIS域: nisdomainname alin
配置/etc/ypserv.conf: /etc/ypserv.conf的配置和master服务器相同。可直接拷过来用。
建立NIS从数据库: /usr/lib/yp/ypinit -s server1.alin
OK,用户资料就从主服务器上下载下来了。
数据库建好,那么可以开启NIS服务了。
/etc/init.d/ypserv start
/etc/init.d/yppasswdd start
/etc/init.d/ypxfrd start
/etc/init.d/portmap start
当然,每次主服务器用户资料变动,从服务器必须重建数据库。
这里提供一个方案:
1.用cron计划任务定期更新NIS数据库
2.你可以修改主NIS服务器上的Makefile设定,以后每次master数据库重建的时候,会主动向slave发送重建后的信息:
编辑master的/var/yp/Makefile,把NOPUSH=true改成false。
如果要开机后自动运行NIS服务,那么就要和master一样设定:
在/etc/rc.local中添加nisdomainname alin
在/etc/sysconfig/network里面添加NISDOMAIN=alin
然后开机要启动上面的四个服务
chkconfig �Clevel 35 ypserv on
chkconfig �Clevel 35 yppasswdd on
chkconfig �Clevel 35 ypxfrd on
chkconfig �Clevel 35 portmap on
配置客户端:
很简单
authconfig-tui
选择NIS
然后填入NIS域名和NIS主服务器地址
然后修改/etc/yp.conf
在现有配置后面追加一行和原先配置一样的内容,把地址改为从服务器的地址
我修改完后是这样的:
domain alin server server1.alin
domain alin server server2.alin
设置开启自启动NIS服务
chkconfig �Clevel 35 ypbind on
这样一个简单的有主服务器(master),从服务器(slave),客户端(client)的NIS网络就搭建成了。
另外要说的一点是,经过我参考RHEL5首次安装的配置向导中的NIS登录设置,
在网上很多资料都说必须
1.在客户端/etc/sysconfig/network里面添加NISDOMAIN=NIS域名
2.在客户端/etc/rc.local中添加/bin/nisdomainname NIS域名
这些都是不必要的