NIS 绑定问题
第7 章• NIS 疑难解答121
ypwhich 显示不一致
在同一客户机上多次使用ypwhich 时,生成的显示会随NIS 服务器的更改有所不同。这很正
常。当网络或NIS 服务器繁忙时,NIS 客户机到NIS 服务器的绑定会随着时间而变化。网络
总是尽可能趋向于在一个平衡点达到稳定,此平衡点指所有客户机从NIS 服务器获得响应
的时间都可以接受。只要您的客户机能够获得NIS 服务,服务来源便无关紧要。例如,一
台NIS 服务器计算机可以从网络中的其他NIS 服务器获取其NIS 服务。
当无法进行服务器绑定时
在无法进行本地服务器绑定的特殊情况下,使用ypset 命令可以暂时允许绑定到其他网络或
子网中的其他服务器(如果可用)。但是,为了使用-ypset 选项,启动ypbind 时必须使用
-ypset 或-ypsetme 选项。
注– 出于安全考虑,应将-ypset 和-ypsetme 选项的使用限制于在受控情况下的调试用途。
使用-ypset 和-ypsetme 选项会严重破坏安全性,因为当这些守护进程运行时,任何人都可
以更改服务器绑定,从而给其他用户造成麻烦,并允许对敏感数据进行未经授权的访问。
如果必须以这些选项来启动ypbind,等修复问题后,应立即中止ypbind,并在不使用这些
选项的情况下重新启动。
ypbind 崩溃
如果ypbind 崩溃几乎都发生在每次启动后的瞬间,请查找系统其他某个部分中的问题。通
过键入以下内容来检查是否存在rpcbind 守护进程。
% ps -e | grep rpcbind
如果rpcbind 不存在、无法持续运行或行为异常,请查阅RPC 文档。
您可以通过正常运行的计算机与存在问题的客户机中的rpcbind 通信。从运行正常的计算机
中,键入以下内容。
% rpcinfo client
如果存在问题的客户机中的rpcbind 正常,rpcinfo 将生成以下输出。
program version netid address service owner
...
100007 2 udp 0.0.0.0.2.219 ypbind superuser
100007 1 udp 0.0.0.0.2.219 ypbind superuser
100007 1 tcp 0.0.0.0.2.220 ypbind superuser
100007 2 tcp 0.0.0.0.128.4 ypbind superuser
NIS 绑定问题
122 系统管理指南:名称和目录服务(DNS、NIS 和LDAP) • 2006 年9 月
100007 2 ticotsord \000\000\020H ypbind superuser
100007 2 ticots \000\000\020K ypbind superuser
...
您的计算机将具有不同地址。如果未显示这些地址,则ypbind 无法注册其服务。请重新引
导计算机并再次运行rpcinfo。如果存在ypbind 进程并且这些进程在每次重新启动NIS 服务
时都会更改,那么请重新引导系统,即使rpcbind 守护进程正在运行,也应如此。
影响许多客户机的NIS 问题
如果只有一两台客户机出现表明存在NIS 绑定问题的症状,则可能是这些客户机存在问
题。请参见第120 页中的“影响一台客户机的NIS 问题”。如果许多NIS 客户机都无法正
确绑定,则可能是一台或多台NIS 服务器存在问题。
rpc.yppasswdd 将以r 开头的非受限Shell 视为受限制
1. 创建包含以下特殊字符串的/etc/default/yppasswdd:
"check_restricted_shell_name=1"。
2. 如果将"check_restricted_shell_name=1" 字符串注释掉,则不会进行"r" 检查。
网络或服务器过载
如果网络或NIS 服务器过载,从而导致ypserv 无法使响应在超时时间段内返回到客户机
ypbind 进程,则NIS 将挂起。
在这些情况下,网络中的每台客户机都会遇到相同或相似的问题。在大多数情况下,这是
暂时的。当NIS 服务器重新引导并重新启动ypserv 时或NIS 服务器或网络自身的负载降低
时,通常不会再显示消息。
服务器出现异常
确保服务器已启动并且正在运行。如果您的物理位置离服务器较远,请使用ping 命令。
NIS 守护进程未运行
如果服务器已启动并且正在运行,请尝试找到行为正常的客户机计算机,并运行ypwhich 命
令。如果ypwhich 不响应,请将其中止。然后作为root 登录NIS 服务器并通过输入以下内
容来检查NIS 进程是否正在运行。
# ps -e | grep yp
NIS 绑定问题
第7 章• NIS 疑难解答123
注– 不要将-f 选项与ps 结合使用,因为此选项会尝试将用户ID 转换为名称,从而导致可能
不会成功的更多名称服务查找。
如果NIS 服务器(ypserv) 和NIS 客户机(ypbind) 守护进程都未运行,请通过键入以下内容来
使其重新启动。
# svcadm restart network/nis/server
or
# /usr/lib/netsvc/yp/ypstop
# /usr/lib/netsvc/yp/ypstart
如果ypserv 和ypbind 进程都在NIS 服务器上运行,则请运行ypwhich。如果ypwhich 不响
应,ypserv 可能已挂起,应重新启动。作为root 登录服务器后,请通过键入以下内容来重
新启动NIS 服务。
# svcadm restart network/nis/server
or
# /usr/lib/netsvc/yp/ypstop
# /usr/lib/netsvc/yp/ypstart
服务器具有不同版本的NIS 映射
由于NIS 在服务器之间传播映射,有时您会在网络中的不同NIS 服务器上发现同一映射的
不同版本。如果差别持续的时间不长,则此版本差异正常并且可以接受。
引起映射差异的最常见原因是某些因素阻止了正常的映射传播。例如,NIS 服务器或NIS 服
务器之间的路由器关闭。当所有NIS 服务器以及NIS 服务器之间的路由器都在运行时,
ypxfr 应该能成功运行。
如果服务器和路由器运行正常,请检查以下各项:
记录ypxfr 输出(请参见第124 页中的“记录ypxfr 输出”)。
检查控制文件(请参见第125 页中的“检查crontab 文件和ypxfr Shell 脚本”)。
检查主服务器上的ypservers 映射。请参见第125 页中的“检查ypservers 映射”。
记录ypxfr 输出
如果特定从属服务器在更新映射时出现问题,请登录该服务器并以交互方式运行ypxfr。如
果ypxfr 运行失败,则会指出失败原因,然后您可以针对原因解决问题。如果ypxfr 运行成
功,但您怀疑过程中可能曾出现问题,请创建一个日志文件以便记录消息。要创建日志文
件,请在从属服务器上输入以下内容。
NIS 绑定问题
124 系统管理指南:名称和目录服务(DNS、NIS 和LDAP) • 2006 年9 月
ypslave# cd /var/yp
ypslave# touch ypxfr.log
这将创建一个ypxfr.log 文件,该文件会保存ypxfr 的所有输出。
该输出与ypxfr 在以交互方式运行时所显示的输出类似,但日志文件中的每行都带有时间标
记。(您可能会发现时间标记排序不正常。这是正常情况-时间标记会指出ypxfr 开始运行
的时间。如果ypxfr 的副本同时运行,但它们所用的时间不同,则它们实际上按照不同于调
用顺序的顺序将摘要状态行写入日志文件。)日志中将显示任何形式的间歇性故障。
注– 解决问题后,请通过删除日志文件来关闭记录功能。如果忘记删除该文件,它会继续无
限制地增大。
检查crontab 文件和ypxfr Shell 脚本
检查根crontab 文件,并检查该文件调用的ypxfr shell 脚本。这些文件中的排字错误会引起
传播问题。无法引用/var/spool/cron/crontabs/root 文件中的shell 脚本以及无法引用任何
shell 脚本中的映射也会引起错误。
检查ypservers 映射
此外,还要确保域的主服务器上的ypservers 映射中列出该NIS 从属服务器。否则,从属服
务器仍可作为服务器正常运行,但yppush 不会将映射更改传播至从属服务器。
解决方法
如果NIS 从属服务器的问题不明显,可在调试时解决这一问题,方法是使用rcp 或ftp 从运
行状况良好的NIS 服务器中复制不一致映射的最新版本。下面显示了如何传送有问题的映
射。
ypslave# rcp ypmaster:/var/yp/mydomain/map.\* /var/yp/mydomain
* 字符在命令行中进行了转义,这样它将在ypmaster 中展开,而不是在ypslave 本地展开。
ypserv 崩溃
如果ypserv 进程几乎总是在启动后的瞬间崩溃,并且即使重复激活也无法持续运行,则基
本上可遵照第122 页中的“ypbind 崩溃”中所述的过程进行调试。如下所示,检查是否存
在rpcbind 守护进程。
ypserver% ps -e | grep rpcbind
如果找不到守护进程,请重新引导服务器。或者,如果守护进程正在运行,请键入以下内
容并查找类似输出。
% rpcinfo -p ypserver
NIS 绑定问题
第7 章• NIS 疑难解答125
% program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100068 2 udp 32813 cmsd
...
100007 1 tcp 34900 ypbind
100004 2 udp 731 ypserv
100004 1 udp 731 ypserv
100004 1 tcp 732 ypserv
100004 2 tcp 32772 ypserv
您的计算机可能具有不同的端口号。表示ypserv 进程的四个项如下所示。
100004 2 udp 731 ypserv
100004 1 udp 731 ypserv
100004 1 tcp 732 ypserv
100004 2 tcp 32772 ypserv
如果没有任何项并且ypserv 无法向rpcbind 注册其服务,请重新引导计算机。如果存在这
些项,请在重新启动ypserv 之前从rpcbind 取消注册服务。要从rpcbind 中取消注册服务,
请在服务器上键入以下内容。
# rpcinfo -d number 1
# rpcinfo -d number 2
其中,number 是rpcinfo 报告的ID 号(在以上示例中,ID 号为100004)。
NIS 绑定问题
126 系统管理指南:名称和目录服务(DNS、NIS 和LDAP) • 2006 年9 月
LDAP 名称服务的设置和管理
本部分提供了有关LDAP 名称服务的概述。此外,还介绍了有关Solaris OS 中LDAP 名
称服务的安装、配置、管理及疑难解答,重点介绍如何使用Sun JavaTM System Directory
Server(即先前的Sun ONE Directory Server)。
第4 部分
127
128
LDAP 名称服务介绍(概述/参考)
有关LDAP 的各章介绍了如何设置Solaris LDAP 名称服务客户机以使其与Sun Java System
Directory Server(以前称为Sun ONE Directory Server)协作。但是,尽管建议使用Sun Java
System Directory Server,但这不是必需的。第14 章中简要说明了目录服务器的一般要求。
注– 目录服务器不一定是LDAP服务器。但是,在这些章的上下文中,术语“目录服务
器”与“LDAP 服务器”同义。
目标用户
有关LDAP 名称服务的各章是为已经熟悉LDAP 的系统管理员编写的。以下列出了用户必须
非常熟悉的部分概念。如果不熟悉这些概念,使用本指南在Solaris 系统中部署LDAP 名称
服务可能会遇到困难。
LDAP 信息模型(项、对象类、属性、类型和值)
LDAP 名称模型(目录信息树(Directory Information Tree, DIT) 结构)
LDAP 功能模型(搜索参数:基本对象(DN)、范围、大小限制、时间限制、过滤器
(Sun Java System Directory Server 的浏览索引)和属性列表)
LDAP 安全模型(验证方法和访问控制模型)
对LDAP 目录服务的整体规划和设计(包括如何规划数据以及如何设计DIT、拓扑、复
制和安全性)
建议的背景读物
要更多地了解上述任一概念或者学习LDAP 及目录服务部署的一般知识,请参阅以下文献
:
由Timothy A. Howes 博士和Mark C. Smith 编著的《Understanding and Deploying LDAP
Directory Services》
8第8 章
129
除了提供LDAP 目录服务的详细处理方法以外,本书还包括一些有关部署LDAP 的有用
的案例研究。部署示例包括大型大学、大型跨国企业和具有外部网络的企业。
随Sun Java Enterprise System 文档提供的Sun Java System Directory Server 部署指南
本指南为规划目录(包括目录设计、架构设计、目录树、拓扑、复制和安全性)提供基
础。最后一章提供了样例部署方案,用于帮助规划简单的小型部署和复杂的全球部署。
随Sun Java Enterprise System 文档提供的Sun Java System Directory Server 管理指南
其他先决条件
如果需要安装Sun Java System Directory Server,请参阅所使用的Sun Java System Directory
Server 版本的安装指南。
LDAP名称服务与其他名称服务的比较
下表对DNS、NIS、NIS+ 和LDAP 名称服务进行了比较。
DNS NIS NIS+ LDAP
名称空间分层不分层分层分层
数据存储文件/资源记录包含2 列的映射包含多列的表目录(视情况而
定)
索引数据库
服务器主/从主/从根主/
非根主;主/
辅助;高速缓
存/存根
主/副本
多主副本
安全性无无(根或不包含
任何内容)
安全RPC
(AUTH_DH)
验证
SSL(视情况而定)
传输TCP/IP RPC RPC TCP/IP
范围全局LAN LAN 全局
LDAP名称服务的优点
使用LDAP,可以通过替换应用程序特定的数据库来整合信息,这可减少要管理的不同
数据库的数目。
LDAP 允许不同的名称服务共享数据。
LDAP 名称服务与其他名称服务的比较
130 系统管理指南:名称和目录服务(DNS、NIS 和LDAP) • 2006 年9 月
LDAP 可提供一个集中的数据仓库。
LDAP 允许在主服务器和副本服务器之间更频繁地对数据进行同步。
LDAP 可兼容多种平台以及由多个供应商提供的产品。
LDAP名称服务的限制
以下是与LDAP 名称服务相关联的一些限制:
不支持Solaris 8 之前的客户机。
LDAP 服务器不能作为其自身的客户机。
设置和管理LDAP 名称服务更复杂,需要仔细规划。
NIS 客户机和本地LDAP 客户机不能在同一台客户机上共存。
注– 目录服务器(LDAP服务器)不能是其自身的客户机。即,不能将运行目录服务器软件
的计算机配置为LDAP 名称服务客户机。
设置LDAP名称服务(任务列表)
任务参考
确认是否已安装了修补程序
规划网络模型第155 页中的“规划LDAP 网络模型”
规划DIT 第10 章
设置副本服务器第157 页中的“LDAP 和副本服务器”
规划安全模型第158 页中的“规划LDAP 安全模型”
选择客户机配置文件和缺省属性值第158 页中的“规划LDAP 的客户机配置文件和
缺省属性值”
规划数据填充第159 页中的“规划LDAP 数据填充”
配置Sun Java System Directory Server 之后,再将
其用于LDAP 名称服务
Sun ONE Directory Server 5.2 (Solaris Edition)
设置Sun Java System Directory Server,使其与
LDAP 名称客户机一起使用
第11 章
管理打印机项第174 页中的“管理打印机项”
初始化LDAP 客户机第181 页中的“初始化LDAP 客户机”
阅读(613) | 评论(0) | 转发(0) |