NIS的简介
NIS即网络信息服务是集中控制系统管理数据库的网络用品,NIS简化了UNIX和LINUX桌面客户端的管理工作,客户端利用它可以使用中心服务器的管理文件。桌面系统的用户无需建立他们自己的/etc/passwd,他们只简单的使用维护NIS服务器的文件即可。
NIS的概述
1、相关服务:ypserv(NIS服务器端),ypbind(NIS客户端),yppasswd(修改密码时,NIS客户端与NIS服务器端之前通过这个服务来通信)
2、相关端口:portmap :111,因为NIS、NFS 都是依赖于portmap服务
3、相关包:ypserv(NIS服务器必需的),ypbind(NIS客户端必需的,默认已安装),yp-tools(NIS的常用工具,默认已安装)
NIS的工作方式
一、NIS服务器搭建
1、安装软件包
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost ~]# cd /mnt/cdrom/Server/
[root@localhost Server]# rpm -ivh ypserv-2.19-5.el5.i386.rpm
2、启动服务
[root@localhost Server]# service ypserv start
[root@localhost Server]# chkconfig ypserv on
[root@localhost Server]# service yppasswdd start
[root@localhost Server]# chkconfig yppasswdd on
3、定义一个域环境,设置域名为nis
vim /etc/sysconfig/network
NISDOMAIN=nis
重启系统之后,产生了一个名为nis的域
[root@localhost ~]# cd /var/yp/
[root@localhost yp]# ll
总计 44
drwxr-xr-x 2 root root 4096 2009-04-15 binding
-rw-r--r-- 1 root root 16635 07-24 21:44 Makefile
-rw-r--r-- 1 root root 185 2006-07-13 nicknames
drwxr-xr-x 2 root root 4096 09-18 22:30 nis
-rw-r--r-- 1 root root 22 09-18 22:30 ypservers
4、产生账号库,把本地的资料库导入到账号库中
cd /var/yp/
[root@localhost yp]# vim Makefile
117 all: passwd group hosts \ #把passwd group hosts导入到账号库
/usr/lib/yp/ypinit –m #-m表示master服务器
5、在服务器新建两个账号test1和test2
[root@localhost ~]# useradd test1
[root@localhost ~]# passwd test1
[root@localhost ~]# useradd test2
[root@localhost ~]# passwd test2
6、在服务器的账号库进行更新
[root@localhost ~]# cd /var/yp/
[root@localhost yp]# make
gmake[1]: Entering directory `/var/yp/nis'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
gmake[1]: Leaving directory `/var/yp/nis'
二、客户端配置
1、安装ypbind-1.19-12.el5
2、客户端验证配置
验证方式为NIS,默认是本地账号验证
设置服务器域名和服务器的地址
2、测试账号库的账号是否可以登录到客户端
我们发现虽然我们登陆了,但是系统提示我们用户没有家目录,认定家目录为/,为实现每个用户都有家目录,我们把服务器的用户家目录共享,挂载到客户端,这样问题就可以轻松解决了
3、设置手动挂载
[root@localhost yp]# vim /etc/exports
/home 192.168.10.0/24(rw,sync) #192.168.10.0网段主机具有访问家目录的读写权限
[root@localhost yp]# service nfs start
[root@localhost yp]# chkconfig nfs on
[root@localhost yp]# exportfs –rv #导出共享清单
exporting 192.168.10.0/24:/home
查看服务器共享清单
4、手工挂载把服务器共享清单挂载到本地的/home目录下
5、我们再来用账号库的账号登录客户端,发现没有提示没有家目录的错误了
假如服务器下边有很多的客户端,当所有的客户端都挂过来,为了维持连接,每个客户端会发很多的数据包,因此会占用较大的CPU资源,为了提高服务器的高可用行,我们采取更加合理的方法,自动挂载,即连接服务器一定时间没有做出相应的操作,会自动与服务器断开来接。
三、在客户端实现自动挂载
1、去掉刚才的手工挂载,方便我们进行自动挂载的测试
[root@mail ~]# umount /home
[root@mail ~]# mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
2、服务器新建共享清单
[root@localhost yp]# vim /etc/exports
/nishome 192.168.10.0/24(rw,sync)
3、导出共享清单
[root@localhost yp]# exportfs -rv
exporting 192.168.10.0/24:/nishome
4、在服务器上新建用户user10和qq
useradd -d /nishome/user10 user10
useradd -d /nishome/qq qq
5、刷新账号库
cd /var/yp
make
重启服务
[root@localhost yp]# service nfs restart
6、客户端监控目录
[root@mail ~]# vim /etc/auto.master
10 /nishome /etc/auto.qq --timeout=60 #超过60s没有操作,自动断开
7、拷贝样例文件,产生auto.nis文件
[root@mail ~]# cp -p /etc/auto.misc /etc/auto.qq
[root@mail ~]# vim /etc/auto.qq
* -ro,soft,intr 192.168.10.10 :/nishome/&
8、服务器和客户端新建目录
[root@mail ~]# mkdir /nishome
修改客户端/nishome的权限
[root@mail ~]# chmod o+wt /nishome/
客户端重启autofs服务
service autofs restart
客户端自动挂载测试
用户user10登陆测试
用户qqq登陆测试
我们在客户端发现/nishome目录下出现了qqq和user10的家目录
[root@mail ~]# cd /nishome/
[root@mail nishome]# ll
总计 8
drwx------ 3 qqq qqq 4096 2012-09-19 qqq
drwx------ 3 user10 user10 4096 2012-09-19 user10