系统管理指南:网络服务

远程登录验证 (rlogin)

通过远程系统或网络环境,可以执行 rlogin 操作的验证(确定身份)。

这些验证形式的主要差别在于它们要求与您进行的交互类型以及建立验证的方式。如果远程系统尝试对您进行验证,则除非您设置 /etc/hosts.equiv.rhosts 文件,否则将提示您输入口令。如果网络尝试对您进行验证,则不会要求您输入口令,因为网络已经知道您的身份。

当远程系统尝试对您进行验证时,将会依据其本地文件中的信息,尤其是在满足下列其中一个条件时:

网络验证依据下列两种方法之一:


注 –

网络验证通常会取代系统验证。


/etc/hosts.equiv 文件

/etc/hosts.equiv 文件包含远程系统的可信主机列表,每行列示一台主机。如果用户尝试从此文件中列出的主机之一远程登录(使用 rlogin 命令),并且如果远程系统可以访问用户的口令项,则远程系统允许用户在不使用口令的情况下登录。

典型的 hosts.equiv 文件具有以下结构:


host1

host2 user_a

+@group1

-@group2

如果在 hosts.equiv 中创建一个简单的主机项(如上述 host1 项),则表示该主机是可信的,该计算机中的任何用户也是可信的。

如果还包含用户名(如示例中的第二项),则该主机只有在指定用户尝试访问时才可信。

前面带有加号 (+) 的组名表示,该网络组中的所有计算机均被视为可信。

前面带有减号 (–) 的组名表示,该网络组中的所有计算机均被视为不可信。

使用 /etc/hosts.equiv 文件时的安全风险

/etc/hosts.equiv 文件存在安全风险。如果将 /etc/hosts.equiv 文件保存在系统上,则应仅包含网络中的可信主机。该文件不应包含属于不同网络的任何主机或公共区域中的所有计算机。例如,不应包含终端室内的主机。

使用不受信任的主机可能产生严重的安全问题。请将 /etc/hosts.equiv 文件替换为正确配置的文件,或者完全删除该文件。

/etc/hosts.equiv 文件中的一个 + 行表示信任所有已知主机。

.rhosts 文件

.rhosts 文件是 /etc/hosts.equiv 文件的用户等效文件。此文件包含主机-用户组合列表,而不包含一般意义的主机。如果此文件中列出了主机-用户组合,则指定用户将被授予从指定主机登录而不必提供口令的权限。

请注意,.rhosts 文件必须驻留在用户起始目录的顶层。如果 .rhost 文件位于子目录中,则不会访问这些文件。

用户可在其起始目录中创建 .rhosts 文件。使用 .rhosts 文件是另外一种允许在不使用 /etc/hosts.equiv 文件的情况下,在不同系统的用户自己帐户之间进行受信任访问的方法。

使用 .rhosts 文件时的安全风险

遗憾的是,.rhosts 文件存在严重的安全问题。虽然 /etc/hosts.equiv 文件受系统管理员的控制并且可以有效地管理,但任何用户都可以创建 .rhosts 文件,从而可以在系统管理员不知情时对其选择的任何人授予访问权限。

如果所有用户起始目录都在一台服务器上,并且只有某些人员才在该服务器上具有超级用户权限,则防止用户使用 .rhosts 文件的一种好方法就是以超级用户身份在用户起始目录中创建一个空文件。然后,将此文件的权限更改为 000,这样即使作为超级用户也很难更改它。此更改可有效地防止用户因不负责任地使用 .rhosts 文件而导致的系统安全风险。但是,如果用户能够更改指向其起始目录的有效路径,则此更改将不能解决任何问题。

管理 .rhosts 文件的唯一安全方法是完全禁用它们。有关详细说明,请参见如何搜索并删除 .rhosts 文件。作为系统管理员,可以经常检查系统以了解此策略的违规情况。此策略可能存在一种例外情况,即超级用户帐户可能需要使用 .rhosts 文件来执行网络备份和其他远程服务。