NIS(Network Information Service)是一个为网络中所有的机器提供网络信息的系统,包括用户名、密码、主目录、组信息等。如果用户名以及密码保存在了NIS密码数据库中,NIS允许此用户在网络当中的任何一台运行有NIS客户程序的机器上登陆。这使得整个网络看起来象一个独立系统,在所有的主机上有着相同的帐号,NIS是一个客户机/服务器系统,ypbind是定义NIS服务器的客户端进程。一旦确定了服务器位置,客户机绑定到了服务器上,所以客户端的住处查询都发往服务器。ypserv是回答客户端查询的服务器进程。你可以以同样的方式通过NIS向网络上的所有机器同步/etc/hosts中的主机名信息。NIS在所谓的包含 “键-值对” 的maps中保存数据库信息。Maps被存储于运行NIS服务器的*主机中,从该主机中,客户可以通过各种RPC调用检索信息
二、NIS相关服务
1、后台进程:ypserv(NIS服务器端),ypbind(NIS客户端),yppasswdd(修改密码时,NIS客户端与NIS服务器端之前通过这个服务来通信)
2、使用端口:由portmap (111)分配(因为NIS、NFS 都是依赖于portmap服务的,具体查看/etc/rpc文件)
3、所需RPM包:ypserv(NIS服务器必需的),ypbind(NIS客户端必需的),yp-tools(NIS的常用工具)
4、相关RPM包:portmap
三.相关服务的安装与设置
3.1 NIS服务器的安装
安装NIS服务器数据包 ypbind组件是client端组件 yp-tools是共用工具包,这两个都是默认安装,现在我们安装NISserver。
[root@redhat1 ~]# rpm -ivh /mnt/cdrom/Server/ypserv-2.19-5.el5.i386.rpm
[root@redhat1 ~]# rpm -ql ypserv
/etc/rc.d/init.d/yppasswdd ,允许用户远程修改域用户的口令
/etc/rc.d/init.d/ypserv 服务器程序
在NIS服务器主机中建立NIS域名
nisdomainname staid.edu
echo '/bin/nisdomainname staid.edu' >>/etc/rc.d/rc.local
echo 'NISDOMAIN=staid.edu' >>/etc/sysconfig/network
修改/etc/hosts 中域名为 staid.edu
修改NIS服务器的主配置文件是/etc/ypserv.conf
发现生效的两行
# under MSDOG everbody is root and can access ports < 1024 !!!
#所有的主机 访问所有的域,访问shadown.byname数据库,以端口形式访问既以1024以下的端口访问
* : * : shadow.byname : port
* : * : passwd.adjunct.byname : port
把以上两行注释
在最后加入三行,既只有192.168.0.0网段和127.0.0.0网段访问,其他的都阻止掉
192.168.0.0/255.255.255.0 : * : * : none
127.0.0.0/255.255.255.0 : * : * : none
* : * : * : deny
securenets安全配置文件
如果 /var/yp/securenets 文件是空白的或不存在(按默认方式安装后的情形就会如此),NIS 就会监听所有网络。它做的第一件事是在文件中放置一对子网掩码/网络值,因此 ypserv 只会对来自恰当网络的请求做出答复。
在首次使用 NIS 服务器前,决不能没有创建 /var/yp/securenets 文件就启动它。 这种技术并不提供对 IP 假冒攻击的保护,但是它至少限制了 NIS 服务器要为哪些网络提供服务。 securenets文件需要手工建立
cat /var/yp/securenets
host 127.0.0.1
255.255.255.0 192.168.0.0
启动NIS服务器
NIS服务器需要portmap服务的支持,并且需要启动ypserv和yppasswdd两个服务
service portmap restart
service ypserv start
service yppasswdd start
(这一段可以不要)
设置time和time-udp服务的启动状态
NIS服务器的运行需要time和time-udp服务的支持
chkconfig time on
chkconfig tim-udp on
service xinetd restart ,重启超级守护进程
创建帐号:
useradd shasha
帐号创建完毕后
构建NIS数据库
ypinit命令可构建NIS服务器的数据库文件
ypinit命令按照/var/yp/目录中的makefile文件的配置内容构建数据库文件
/usr/lib/yp/ypinit -m
配置完毕
在/usr/lib/yp/下面生成域名目录。目录下是数据库文件
看客户端配置:
安装NIS客户机软件包 ypbind yp-tools
设置hosts文件中的NIS服务器主机记录
NIS客户机需要通过主机名访问NIS服务器
echo '192.168.0.2 ypserv.staid.edu' >>/etc/hosts
建立NIS的域名
NIS客户机中建立NIS域名的操作与NIS服务器中相同
nisdomainname staid.edu
echo '/bin/nisdomainname staid.edu' >> /etc/rc.d/rc.local
echo 'NISDOMAIN=staid.edu' >> /etc/sysconfig/network
设置yp.conf配置文件
NIS客户机的配置文件是yp.conf 其中需要设置NIS域名和服务器主机名称
echo 'domain staid.edu server ypserv.staid.edu'>>/etc/yp.conf
设置/etc/nsswitch.conf文件
文件中需要添加使用nis作为主机信息的查询方式,找到如下行
passwd: files
shadow: files
group: files
在后面一律添加nis
passwd: files nis
shadow: files nis
group: files nis
代表本地找不到用户就区nis上找
ypwhich
ypcat -x
ypcat passwd
启动ypbind 服务程序
service portmap restart
service ypbind restart
然后从192.168.0.3客户端退出来,利用shasha帐号进入,就能进去了。:-)
本文转自guoli0813 51CTO博客,原文链接:http://blog.51cto.com/guoli0813/356767,如需转载请自行联系原作者