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 –level 35 ypserv on

chkconfig –level 35 yppasswdd on

chkconfig –level 35 ypxfrd on

chkconfig –level 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 –level 35 ypserv on

chkconfig –level 35 yppasswdd on

chkconfig –level 35 ypxfrd on

chkconfig –level 35 portmap on

配置客户端:

很简单

authconfig-tui

选择NIS

然后填入NIS域名和NIS主服务器地址

然后修改/etc/yp.conf

在现有配置后面追加一行和原先配置一样的内容,把地址改为从服务器的地址

我修改完后是这样的:

domain alin server server1.alin

domain alin server server2.alin

设置开启自启动NIS服务

chkconfig –level 35 ypbind on

这样一个简单的有主服务器(master),从服务器(slave),客户端(client)的NIS网络就搭建成了。

另外要说的一点是,经过我参考RHEL5首次安装的配置向导中的NIS登录设置,

在网上很多资料都说必须

1.在客户端/etc/sysconfig/network里面添加NISDOMAIN=NIS域名

2.在客户端/etc/rc.local中添加/bin/nisdomainname NIS域名

这些都是不必要的