网络信息服务(NIS) (Network Information Service) NIS是集中控制几个系统管理数据库的网络用品。NIS简化了UNIX和LINUX桌面客户的管理工作,客户端利用它可以 使用中心服务器的管理文件。桌面系统的用户无需建立他们自己的/etc/passwd,他们只简单的使用维护在NIS服务器的文件即可。 提到NIS不得不先说明一下WINDOWS2000的域控制器,在局域网内有一台WIN2000域控制器,下面有一些机器加入到这个域中, 在下的机器登录时,有一个选项是选择登入到本机还时登入到域内,登入本地的密码有本机控制,但是如果登入域内,密码支有域控制器负责管理。 LINUX也是操作系统,跟WIN2000没有本质的区别,所以仔细读上段话,就能理解NIS是原理是什么样了,这时出现了一个重要的文件/etc/nsswitch.conf NIS是一个客户机/服务器系统,ypbind是定义NIS服务器的客户端进程。一旦确定了服务器位置,客户机绑定到了服务器上,所以客户端的住处查询都发往服务器。 ypserv是回答客户端查询的服务器进程 搭建nis服务器

[root@localhost ~]# cd /mnt/cdrom/Server/
[root@localhost Server]# rpm -ivh ypserv-2.19-5.el5.i386.rpm

[root@localhost Server]# service ypserv start
[root@localhost Server]# service yppasswdd start

[root@localhost ~]# chkconfig ypserv on
[root@localhost ~]# chkconfig yppasswdd on

[root@localhost ~]# useradd user1

[root@localhost ~]# passwd user1 //添加账户user1,密码123,供测试。

产生账号库database

这里只用到了一台nis服务器,所以不像其他slave服务器推送账号库 这里并没有做映射,只导入了本地账号文件

[root@localhost Server]# vim /etc/sysconfig/network  

5 NISDOMAIN=rhce                           //加入域环境rhce

重启机器使之生效

[root@localhost Server]# vim /var/yp/Makefile

117 all:  passwd group hosts  \

 

[root@localhost ~]# /usr/lib/yp/ypinit –m   //导入账号库

At this point, we have to construct a list of the hosts which will run NIS
servers.  localhost.localdomain 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:  localhost.localdomain
    next host to add:                          //没有其他nis服务器时按control D
The current list of NIS servers looks like this:

localhost.localdomain

Is this correct?  [y/n: y]  y
We need a few minutes to build the databases...
Building /var/yp/(none)/ypservers...
Running /var/yp/Makefile...
Domain name cannot be (none)

localhost.localdomain has been set up as a NIS master server.

Now you can run ypinit -s localhost.localdomain on all slave server.

nis客户端配置

默认已经安装

[root@localhost ~]# cd /mnt/cdrom/Server/
[root@localhost Server]# rpm -ivh ypbind-1.19-11.el5.i386.rpm

[root@localhost ~]# setup

选择第一项验证配置 选择nis验证 autofs+nfs+nis实现智能挂载_第1张图片 Next autofs+nfs+nis实现智能挂载_第2张图片 autofs+nfs+nis实现智能挂载_第3张图片

这时候已经看到我们已经通过验证了 没有找到目录因为我们在自己机器上并没有user1的家目录 当我们在nis服务器添加另外账号后需要更新nis账号数据库

[root@localhost ~]# useradd user2
[root@localhost ~]# passwd user2
Changing password for user user2.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# cd /var/yp/
[root@localhost yp]# make

注:这是在nis服务器端进行的

这样我们在客户端就能利用user2进行登录了 我们希望把服务器端的用户家目录自动挂载到客户端机器上 首先把服务器端的家目录通过nfs共享

[root@localhost yp]# vim /etc/exports

/nishome 192.168.145.0/24(ro)

[root@localhost yp]# exportfs –rv

[root@localhost yp]# mkdir /nishome

[root@localhost yp]# useradd -d /nishome/user3 user3

[root@localhost yp]# passwd user3

[root@localhost yp]# service nfs start

客户端配置

手动挂载

[root@localhost ~]#mkdir /nishome

[root@localhost ~]# mount 192.168.145.100:/nishome /nishome
[root@localhost ~]# 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)
/dev/hdc on /mnt/cdrom type iso9660 (ro)
192.168.145.100:/nishome on /nishome type nfs (rw,addr=192.168.145.100)
[root@localhost ~]# cd /nishome/
[root@localhost nishome]# ll
总计 8
drwx------ 3 user1 user1 4096 08-11 15:40 user1
drwx------ 3 user2 user2 4096 09-18 21:03 user2

[root@localhost ~]# vim /etc/auto.master

9 /misc   /etc/auto.misc
10 /nishome   /etc/auto.qq    --timeout=60

[root@localhost ~]# cp -p /etc/auto.misc /etc/auto.qq

[root@localhost ~]# vim /etc/auto.qq

18 *               -ro,soft,intr          192.168.145.100:/nishome/&

[root@localhost ~]# service autofs restart

autofs+nfs+nis实现智能挂载_第4张图片