一.
服务简介和术语 *简介 NIS,英文的全称是network information service,也叫yellow pages,翻译成中文就是网络信息服务。NIS的作用,其实就是将一些网络信息集中起来,统一进行管理、控制。从而简化有一定规模的网络主机系统的基本信息维护动作。 在Linux中,NIS是一个基于RPC的client/server系统,所以NIS服务(ypserv/yppasswd/ypxfrd/ypbind)的正常运行离不开portmap服务的支持。 **术语 NIS域名: NIS 主服务器和所有其客户机 (包括从服务器) 会使用同一NIS 域名。 和 Windows NT
域名类似, NIS 域名与 DNS
无关。 Ypserv: NIS 的服务器进程。 如果 ypserv
死掉的话,则服务器将不再具有响应 NIS 请求的能力。 Yppasswdd: 另一个只应在 NIS 主服务器上运行的进程; 这是一个服务程序, 其作用是允许 NIS 客户机改变它们的 NIS 口令。 如果没有运行这个服务, 用户将必须登录到 NIS 主服务器上,并在那里修改口令。 Ypbind: “绑定(bind)” NIS 客户机到它的 NIS 服务器上。 它将从系统中获取 NIS 域名,并使用 RPC
连接到服务器上。 ypbind
是 NIS 环境中, 客户机-服务器通讯的核心; 如果客户端的 ypbind
死掉的话, 将无法访问 NIS 服务器。 二.
软件组成 1.Ypserv: yp的服务器端软件包,在AS4中,包含了三个服务: * ypserv
yp主服务进程; * yppasswd
yp服务器支持客户端修改用户密码的服务; * ypxfrd
yp主服务器与从服务器之间数据更新同步的控制服务。 该软件包的详细组成如下(文档部分未列出),重点部分为红色标记: /etc/rc.d/init.d/yppasswdd
* yppasswdd服务启动脚本
/etc/rc.d/init.d/ypserv
* ypserve服务启动脚本
/etc/rc.d/init.d/ypxfrd
* ypxfrd服务启动脚本
/etc/sysconfig/yppasswdd
* yppasswdd服务默认参数配置文件
/etc/ypserv.conf
* ypserv服务配置文件
/usr/include/rpcsvc/ypxfrd.x /usr/lib/yp
* ypserv一些重要的命令存放目录
/usr/lib/yp/create_printcap /usr/lib/yp/makedbm /usr/lib/yp/match_printcap /usr/lib/yp/mknetid /usr/lib/yp/pwupdate
* 更新用户及密码库(将passwd转变成dbm)
/usr/lib/yp/revnetgroup /usr/lib/yp/yphelper /usr/lib/yp/ypinit
* 初始化ypserv服务所提供的所有信息,将文本转变成dbm格式
/usr/lib/yp/ypxfr /usr/lib/yp/ypxfr_1perday /usr/lib/yp/ypxfr_1perhour /usr/lib/yp/ypxfr_2perday /usr/sbin/rpc.yppasswdd /usr/sbin/rpc.ypxfrd /usr/sbin/yppush /usr/sbin/ypserv
* ypserv服务主程序
/var/yp /var/yp/securenets * ypserv 用于设置授权客户端的配置文件。 /var/yp/Makefile * ypinit –m时会用到Makefile,如果移走,则ypinit会不成功
2.Yp-tools: yp的工具包(文档部分未列出),主要包含如下工具: /usr/bin/ypcat /usr/bin/ypchfn /usr/bin/ypchsh /usr/bin/ypmatch /usr/bin/yppasswd
* 修改NIS USER的密码
/usr/bin/ypwhich /usr/sbin/yppoll /usr/sbin/ypset /usr/sbin/yptest /usr/share/locale/de/LC_MESSAGES/yp-tools.mo /var/yp /var/yp/nicknames
* yb服务器端所包含的MAP信息,若将该文件移处,则yp-tools中的命令将不可用
3.Ypbind: yp的客户端程序(文档部分未列出),主要包含如下内容: /etc/rc.d/init.d/ypbind /etc/yp.conf /sbin/ypbind /usr/share/locale/de/LC_MESSAGES/ypbind.mo /var/yp /var/yp/binding 三.
安装配置 *安装: #rpm
–ivh
ypserv-2.13-5.i386.rpm #rpm
–ivh
yp-tools-2.8-7.i386.rpm #rpm
–ivh
ypbind-1.17.2-3.i386.rpm **配置 若要使yp服务器端能正常工作,以下两项必须配置: 1.
设置NIS域: #domainname test Or 在/etc/sysconfig/network中添加如下一行: NISDOMAIN=test **后一方法需要重新启动主机或网络,使配置生效。 2.
初始化yp数据库: #/usr/lib/yp/ypinit –m
3.
配置服务器端的配置文件/etc/ypserv.conf #vi /etc/ypserv.conf: Dns: no Files: 30 Xfr_check_port: yes ##Access rules: ##对ypserv上的信息存取控制规则 # Host
: Domain
: Map
: Security #主机/子网等 :NIS域 :信息图 :控制方法 #其中,控制方法有none/port/deny这三种 #说明:在本例中的配置是非常危险的,实际应用应根据需要来进行控制 *
: *
: shadow.byname
: port *
: *
: passwd.adjunct.byname
: port *
: *
: *
: port
4.配置客户端的配置文件/etc/yp.conf #vi /etc/yp.conf: # domain NISDOMAIN server HOSTNAME
domain bugle server 172.18.127.161
5.
客户端上要配置调整/etc/nsswitch.conf,否则即使是ypbind有正常启动,主机还是会根据nsswitch.conf中的优先次序采用本地的信息: #vi /etc/nsswitch.conf: # Example: #passwd:
db files ldap nis #shadow:
db files ldap nis #group:
db files ldap nis passwd:
nis nisplus files shadow:
nis nisplus files group:
nis nisplus files 四.
使用说明 1.启动ypserv服务: #/etc/rc.d/init.d/ypserv start 2.启动yppasswd服务: #/etc/rc.d/init.d/yppasswd start 3.启动ypxfrd服务: #/etc/rc.d/init.d/ypxfrd start 4.启动ypbind服务: #/etc/rc.d/init.d/ypbind start 5.在服务器端初始化yp的数据库文件: #/usr/lib/yp/ypinit -m 6.测试ypserv服务有没有正常启动: #ypcat passwd Or #ypwhich 7.测试ypserv服务可以提供的MAP有多少: #ypmatch -x 8.测试ypserv服务各MAP中有哪些内容: 例如查询bugle域中,passwd这个MAP中是否有admin的信息: #ypmatch –d bugle admin passwd 9.修改NIS中NIS USER的密码: #yppasswd admin **特别说明:修改非本人用户的NIS USER用户的密码需要root的密码 10.
更新NIS中passwd之MAP内容: #//usr/lib/yp/pwupdate 11.
在yp客户机上修改NIS USER密码: common_user$yppasswd **特别说明: 在yp客户机上,普通用户能修改自己的NIS USER的密码; 当修改其他用户密码时,需要输入NIS SERVER这台机器的root密码。 12.
待补充 五.
检查排错 1、
很奇怪,当ypserv和ypbind服务都正常启动后,将这两个的配置文件/etc/ypserv.conf和/etc/yp.conf删除,并重新启动主机,服务都能正常启动并对外提供服务。 原因待查。 2、
待补充 |