NIS(Network Information Service)网络信息系统,

是对主机账号等系统信息提供集中管理的网络服务。
 
 
 
 
 
NIS服务器为NIS客户机提供的信息不仅限于用户账号信息,在NIS服务器的数据库中包括以下几类信息:
*用户账号信息,包括用户名,登录口令和用户宿主目录等信息,用于取代Linux主机中的passwd文件和shadow文件中的作用。
*组账号信息,包括组账号等,用于取代Linux主机中group文件的作用。
*IP地址与主机名称对应记录的信息,用于取代Linux主机中hosts文件的作用。
为了方便NIS客户机的查询,以上这些信息在NIS服务器中被保存在不同名称的数据库(文件)中进行集中管理。
 
NIS 服务器的安装  非独立服务都需要xinetd 的管理。
                                超级守护进程
 
使用NIS服务能够较好地解决用户账号集中管理的问题。
 
 
rpm -ivh ypserv-2.13-5.i386.rpm
 
在服务器版本4中需要设置time 和time-udp 服务的启动状态
 
nis 服务器的运行需要time ,time-udp服务的支持
 
chkconfig time on 
 
chkconfig time-udp on
 
service xinetd restart 
 
 
 
在NIS 服务器主机中建立NIS 域名
 
nisdomainname nistest
 
echo '/bin/nisdomainname nistest‘ >> /etc/rc.d/rc.local
 
echo 'NISDOMAIN=nistest'>> /etc/sysconfig/network
 
 
 
ypserv.conf 文件的配置
 
NIS 服务器的主配置文件时ypserv.conf
 
配置文件中可设置对认证数据库的访问控制
                         
                         域  本地的数据库      安全级别
 
127.0.0.1/255.255.255.0  : *   : *           : none
 
 
 
 
securenets 安全配置文件
 
 
 
securenets 文件用于对NIS 客户端主机进行访问控制
 
 
securenets 文件需要手工建立
 
 
 
cat /var/yp/securenets
 
host 127.0.0.1
 
255.255.255.0   192.168.1.0
 
 
 
 
启动NIS 服务器
 
nis 服务器需要portmap 服务的支持,并且需要启动
ypserv ,yppasswdd 两个服务
 
 
service portmap status /start
 
service ypserv start
 
service yppasswdd start 
 
service ypbind restart
 
 
 
构建NIS 数据库 当改变用户信息后需要重新构建NIS 数据库
 
ypinit 命令构建nis 服务器的数据库文件
 
ypinit 命令按照“/var/yp”目录中的Makefile 文件的配置
内容构建数据库文件
 
/usr/lib/yp/ypinit -m
 
 
 
主机名的通过改变下面的文件来修改
vi /etc/sysconfig/network
 
 
 
 
NIS 客户机的配置和使用步骤
 
 
安装NIS 客户机软件包ypbind 和yp-tools两个软件包
 
设置hosts 文件中的NIS 服务器的主机记录
 
 
建立NIS 的域名 
 
 
设置yp.conf 配置文件
 
echo 'domain nistest server servername' >>/etc/yp.conf
 
设置nsswitch.conf 文件
 
 
启动ypbind 服务程序。
 
 
 
yp-tools 软件包中提供的命令
 
yptest
 
ypwhich
 
ypwhich -x
 
ypcat -x
 
ypcat passwd
 
 
启动 客户机:
service portmap status 
 
service ypbind start
 
 
.客户端的检验
使用yptest、ypwhich、ypcat进行检验,关于命令的相关参数,可以用man命令查到。
在我做实验的过程中用yptest检验的时候发现错误。Can't communicate with ypbind
,通过检验发现NIS客户端的iptables处于状态,并阻止与NIS的通信。为了方便我用service iptables stop关掉防火墙。再次检验通过
 
并在服务器端启动 service ypbind start
 
 
yptest测试错误
 
WARNING: No such key in map (Map passwd.byname, key nobody) 这条信息可以忽略,是因为nobody id号的问题