系统环境RHEL6.0 iptables & selinux disabled
服务器端:
ypserv.conf是主配置文件,格式为:
Host : Domain : Map : Security
Host:指定客户端,可以指定具体IP地址,也可以指定一个网段
Domain:设置NIS域名,在同一个NIS域中,客户端可以从NIS服务器上查询用户名
和密码,从NIS服务器可以与主服务器同步数据库内容
Map:设置可用数据库名称,可以用“*”代替所有数据库
Security:安全性设置 主要有none、port和deny三种参数设置。
none:没有任何安全限制,可以连接NIS服务器。
port:只允许小于1024以下的端口连接NIS服务器。
deny:拒绝连接NIS服务器。
通常设置思路是允许所有内网客户端连接NIS服务器,除此之外的客户端都拒绝连接
ypserv.conf文件是逐行解释执行,所以要注意设置顺序
# yum -y install ypserv yp-tools ypbind portmap
# vim /etc/ypserv.conf
127.0.0.1/255.0.0.0:*:*:none
192.168.0.0/255.255.255.0:*:*:none
*.*.*:deny
# vim /etc/sysconfig/network //设置NIS域名
NISDOMAIN=ykyx00
创建NIS数据库
# /usr/lib64/yp/ypinit -m (NIS初始化后会把默认大于500的用户当作nis的用户,可以新建用户,然后执行此命令加入到nis用户)
At this point, we have to construct a list of the hosts which will run NIS
servers. server26.example.com is in the list of NIS server hosts. Please continue to add
the names for the other hosts, one per line. When you are done with the
list, type a .
next host to add: server26.example.com
next host to add:
The current list of NIS servers looks like this:
server26.example.com
Is this correct? [y/n: y] y
We need a few minutes to build the databases...
Building /var/yp/ykyx00/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/ykyx00'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
gmake[1]: Leaving directory `/var/yp/ykyx00'
server26.example.com has been set up as a NIS master server.
Now you can run ypinit -s server26.example.com on all slave server.
# chkconfig ypserv on
# chkconfig yppasswdd on
# /etc/init.d/ypserv restart
# /etc/init.d/yppasswdd restart
每次使用/usr/lib64/yp/ypinit -m改动数据库后都需要重启这俩服务,使其生效
# rpcinfo -p (查看使用端口)
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 40879 status
100024 1 tcp 55613 status
100004 2 udp 801 ypserv
100004 1 udp 801 ypserv
100004 2 tcp 804 ypserv
100004 1 tcp 804 ypserv
100009 1 udp 812 yppasswdd
客户端:
客户端检测
yp-tools软件包中自带一些测试工具,可以帮助我们更好得了解NIS客户端和服务器
通信情况
yptest:测试数据库内容等所有与NIS相关的信息
ypwhich:测试NIS客户端与服务器之间通信使用的是哪些数据库文件
ypwhich -x : 则显示NIS客户端与服务器通信使用了哪些数据库文件
ypcat : 查看NIS服务器上使用者帐号及密码信息
ypcat passwd:查看NIS服务器上帐号密码等信息
ypcat hosts:查看NIS服务器上的/etc/hosts文件记录哪些主机信息
ypmatch : 查询指定用户帐号密码信息
ypmatch wxh passwd:查询wxh用户帐号密码信息
yppasswd: 客户端修改帐号和密码,密码长度不能少于6位
# yum install ypbind yp-tools -y
# /etc/init.d/ypbind start
# getent passwd
如果你能看到服务器上id大于500的用户,你就成功了
# rpcinfo -p
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
100007 2 udp 1000 ypbind
100007 1 udp 1000 ypbind
100007 2 tcp 1003 ypbind
100007 1 tcp 1003 ypbind
NIS结合NFS,设置客户端autofs使所有nis帐号登录客户端时自动挂载用户主目录
nfs 服务器
# /etc/init.d/nfs start
# vim /etc/exports
/home 192.168.0.0/24(rw)
# exportfs -rv
exporting 192.168.0.0/24:/data
nis 客户端:
# vim /etc/auto.master
/home /etc/auto.test
test 192.168.0.55:/home/test
# /etc/init.d/autofs stop
# /etc/init.d/autofs start (autofs 在rhel6.0时候的漏洞,必须这样启动服务,后者reload)
# su - test
[test@desktop26 ~]$ pwd
/home/test //可以看到自己的家目录就表示成功了