一. NIS的基本概念
1. NIS的作用
NIS(网络信息服务)用于共享本地网络中的重要文件,供局域网的其它主机查询.例如:共享/etc/passwd文件可供其它主机用NIS服务器中的用户登录
2. NIS的工作原理
NIS实际上只不过是一个客户机能够查询的普通数据库而已,它由一系列相互独立的数据表组成,每个数据表从根本上来说都是一个普通的文本文件.NIS服务器可以通过,列出整个表格或者通过关键字进行查询.
3. NIS的体系结构
(1) NIS服务器
NIS服务器是用于保存共享数据的主机,通常可以分为主NIS服务器和从NIS服务器,可以一个网络中为一个主NIS服务器设置多个从NIS服务器用于备份主NIS服务器的共享数据.(ypserv)
(2) NIS域
NIS域是一种用于实现相互资源共享的逻辑空间,相当于Windows中工作组的作用.
(3) NIS客户机
能够共享查询NIS服务器中的资源的主机(ypbind)
二. 主NIS服务器的设置
1. 安装NIS的软件包
# rpm –ivh ypserv-2.6-2.i386.rpm
相关文件:
/etc/rc.d/init.d/ypserv (启动脚本)
/etc/rc.d/init.d/yppasswdd (rpc.ypasswdd的客户端程序)
/etc/rc.d/init.d/ypxfrd (rpc.ypxfrd的客户端程序)
/etc/ypserv.conf (存放ypserv的运行参数)
/usr/sbin/yppush (从NIS服务器的守护进程所对应的程序)
/usr/sbin/ypserv (主NIS服务器的守掮进程所对应的程序)
/usr/sbin/rpc.yppasswdd rpc.yppasswdd服务器的守户进程所对应的程序)
/usr/lib/yp/ypinit (用于初始化NIS数据库)
/var/yp/Makefile (设置NIS要共享文件)
2. 设置NIS域名
方法一:#domainname 域名
实 例:#domainname abc
方法二:#vi /etc/sysconfig/network
添加如下内容:
NIS_DOMAIN=域名
实 例:#vi /etc/sysconfig/network
添加如下内容:
NIS_DOAMIN=abc
3. 启动服务器
#service ypserv start
4. 设置共享的文件和初始化NIS数据库
#vi /var/yp/Makefile
#make
#/usr/lib/yp/ypinit –m
next host to add:(ctrl+d)
三. 从NIS服务器配置
1. 设置NIS域名(与主NIS服务器的相同)
方法一:#domainname abc
方法二:#vi /etc/sysconfig/network
NIS_DOMAIN=abc
2. 设置允许主NIS服务器更新从NIS服务器
#vi /var/yp/Makefile
修改如下选项:
NOPUSH=false
3. 启动服务器
#service ypserv start
4. 初始从NIS服务器NIS数据库
方法:#/usr/lib/yp/ypinit –s 主NIS服务器主机名/IP地址
实例:#/usr/lib/yp/ypinit –s nisserver
四. 客户机上的配置
1. 设置NIS域名(与主NIS服务器的相同)
方法一:#domainname 域名
方法二:#vi /etc/sysconfig/network
NIS_DOMAIN=域名
2. 指定NIS服务器的位置
方法: #vi /etc/yp.conf
广播法可以在该文件中加上如下内容:
domain 域名 broadcast
点到点方法可以在该文件中加上如下内容:
domain 域名 server NIS服务器的主机名/IP地址
实例:采用点到点方法指定abc域的服务器为nisserver
#vi /etc/yp.conf
domain abc server nisserver
3. 设置查询的顺序
方法:#vi /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# The entry '[NOTFOUND=return]' means that the search for an
# entry should stop if the search in the previous entry turned
# up nothing. Note that if the search failed due to some other reason
# (like no NIS server responding) then the search continues with the
# next entry.
#
# Legal entries are:
#
# nisplus or nis+ Use NIS+ (NIS version 3)
# nis or yp Use NIS (NIS version 2), also called YP
# dns Use DNS (Domain Name Service)
# files Use the local files
# db Use the local database (.db) files
# compat Use NIS on compat mode
# hesiod Use Hesiod for user lookups
# [NOTFOUND=return] Stop searching if not found so far
#
# To use db, put the "db" in front of "files" for entries you want to be
# looked up first in the databases
#
# Example:
#passwd: db files nisplus nis
#shadow: db files nisplus nis
#group: db files nisplus nis
passwd: nisplus files
shadow: nisplus files
group: nisplus files
#hosts: db files nisplus nis dns
hosts: files nisplus dns
# Example - obey only what nisplus tells us...
#services: nisplus [NOTFOUND=return] files
#networks: nisplus [NOTFOUND=return] files
#protocols: nisplus [NOTFOUND=return] files
#rpc: nisplus [NOTFOUND=return] files
#ethers: nisplus [NOTFOUND=return] files
#netmasks: nisplus [NOTFOUND=return] files
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files nisplus
rpc: files
services: files nisplus
netgroup: files nisplus
publickey: nisplus
automount: files nisplus
aliases: files nisplus
说明:系统中的一些重要的信息可以从本机的文件中查询(files),也可以从NIS服务器中查询(nis),或者从数据库(db)及dns中查询
五. 测试工具
1. ypcat
功能:显示共享文件的内容
格式:ypcat 文件名
实例:#ypcat passwd
2. ypwhich
功能:显示出回答客户机的NIS服务器地址/主机名
格式:#ypwhich
实例:#ypwhich
3. ypmatch
功能:在共享文件中查找指定关键字的数据项
格式:#ypmatch 关键字 文件名
实例:#ypmatch u2 passwd
六. 配置案例
要求:
在一个Linux的LAN中,有一台主机名为nis,IP地址为192.168.0.1的主机,现要求利用ypserv将配置成一台主nis服务器共享系统中passwd和shadow,让有LAN中的主机可以利用主nis服务器中的用记登录.
配置过程:
1. 主NIS服务器的配置
ü # rpm –ivh ypserv-2.6-2.i386.rpm
ü #echo “/bin/domainname abc”>/etc/rc.d/rc.local
ü #service ypserv start
ü #/cd /var/yp/
ü #make
ü #/usr/lib/yp/ypinit –m
2. 其它客户机的配置
ü #rpm –ivh ypbind-2.6-2.i386.rpm
ü #echo “/bin/domainname abc”>/etc/rc.d/rc.local
ü #vi /etc/yp.conf
添加如下内容:
domain abc server 192.168.0.1
ü #/service ypbind start
ü #vi /etc/nsswitch.conf
修改如下内容:
passwd:nis files
shadow:nis files
七. 总结和作业
1. 总结
l NIS是tcp/ip中的一种能够网络信息查询的子协议
l NIS服务器的工作是以RPC和portmap为基础
l NFS主服务器的配置主要集中在/var/yp/Makefile和/usr/lib/ypinit上
l Linux/Unix主机都可以做为NIS的客户机,它们必须安装ypbind软件,用于向服务器请求查询