扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共4页)
许可和认证方案
有时,安装已成功的建立后,会出现读、写或创建远程文件或目录的问题。这些困难通常是由于许可或认证问题引起的。许可和认证问题的原因根据是否使用 NIS 和指定安全安装而变化。
最简单的情况出现在指定了非安全安装且没有使用 NIS 的时候。在这种情况下,用户标识(UID)和组标识(GID)只通过服务器 /etc/passwd 文件和客户机 /etc/group 文件映射。在该方案中,一个名叫 B 的要在客户机和服务器上都识别为 B 用户,用户 B 必须在 /etc/passwd 文件中有相同的 UID 号。下面是一个这样可能如何导致问题的示例:
用户 B 在客户机 foo 上的 uid 是 200。
用户 B 在服务器 bar 上的 uid 是 250。
用户 G 在服务器 bar 上的 uid 是 200。
/home/bar 目录从服务器 bar 安装到客户机 foo。如果用户 B 正编辑在客户机 foo 上的 /home/bar 远程文件系统上的文件,当保存文件时会发生混乱。
服务器 bar 认为文件属于用户 G,因为 G 在 bar 上的 UID 是 200。如果 B 通过使用 rlogin 命令直接登录到 bar,则其可能无法访问刚才在远程安装的文件系统上工作时创建的文件。然而 G,可以这样做,因为机器根据 UID 而不是名称仲裁许可权的。
该问题唯一的永久解决方案是在两台机器上重新分配一致的 UID。例如,在服务器 bar 上给 B UID 200 或在客户机 foo 上给它 250。然后需要对 B 的这些文件运行 chown 命令,以使它们与相应机器上的新标识匹配。
由于在网络中维护所有机器 UID 和 GID 映射一致的问题,通常用 NIS 或 NIS+ 来执行相应的映射以避免此类问题。有关更多信息,请参阅 AIX 5L Version 5.2 Network Information Services (NIS and NIS+) Guide 。
NFS服务器上的名称解析
当一个 NFS 服务器服务一个安装请求时,它查找产生请求的客户机的名称。服务器接管客户机网际协议(IP)地址并查找匹配该地址的相应主机名。一旦找到主机名,服务器会在导出列表中查找请求的目录并在目录的访问列表中检查客户机名称是否存在。如果存在客户机项且该项完全匹配从名称解析返回的内容,则通过此部分安装认证。
如果服务器不能执行 IP 地址到主机名解析,则服务器拒绝安装请求。服务器必须能找到产生安装请求的客户机 IP 址的某个匹配。如果目录已导出为所有客户机访问,则服务器仍然必须能执行逆向名称查找以允许安装请求。
服务器也必须能查找客户机的正确名称。例如,如果在 /etc/exports 文件中已存在类似以下的一个项:
/tmp -access=silly:funny
则以下相应的项存在于 /etc/hosts 文件中:
150.102.23.21 silly.domain.name.com
150.102.23.52 funny.domain.name.com
请注意名称是不完全对应的。当服务器查找主机 silly 和 funny 的 IP 地址到主机名匹配时,字符串名称与导出访问列表中的项不完全匹配。这种类型的名称解析问题通常在将 named 守护程序用于名称解析时发生。大多数 named 守护程序数据库具有主机的全域名的别名,以使用户在引用主机时不必输入全名。即使存在别名的主机名到 IP 地址项,逆向查找可能不存在。逆向名称查找的数据库(IP 地址到主机名)通常具有包含该主机的 IP 地址和全域名(不是别名)。有时导出项以较短的别名创建,当客户机尝试安装时会引起问题。
NFS结构中组数的限制
在使用 NFS V3.2 的系统上,用户不可能成为超过 16 个组的成员而不导致复杂化。 (组由 groups 命令定义。)如果一个用户是 17 个或更多组的成员,且用户尝试访问第 17 个(或更大)组拥有的文件时,系统将不允许文件读取或复制。为了允许用户访问文件,请重排列组的次序。
从具有先前版本 NFS 的 NFS 服务器安装
当从早于 NFS V3 的服务器安装文件系统到 NFS V3 客户机时,当客户机上执行安装的用户是超过八个组的成员时会发生问题。一些服务器不能正确处理这种情况并拒绝安装请求。解决方案是将用户的组员身份更改为少于八个然后重试安装。以下是这种组问题的特征错误消息:
RPC: Authentication error; why=Invalid client credential
没有装载NFS内核扩展而发生的问题
有些NFS命令在NFS内核扩展没有装入的情况下不能正确执行。具有这些相关性的一些命令有: nfsstat 、 exportfs 、 mountd 、 nfsd 和 biod 。当 NFS 安装在系统上时,内核扩展存放在 /usr/lib/drivers/nfs.ext 文件中。然后当配置系统文件时,该文件随后装入为 NFS 内核扩展。进行该内核扩展的脚本装入 /etc/rc.net 文件。在脚本中完成了许多别的东西,其中之一用来装入 NFS 内核扩展。请注意传输控制协议/网际协议(TCP/IP)内核扩展应该在装入 NFS 内核扩展之前装入。
注:
gfsinstall 命令是用于在系统初始启动时将 NFS 内核扩展装入内核的命令。每次系统启动时这条命令可以运行超过一次而并不会导致问题。当前随系统提供了 gfsinstall 命令,该命令用于 /etc/rc.net 和 /etc/rc.nfs 文件中。不需除去这些调用中的任何一个。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者