hosts.equiv TCP/IP 的文件格式

用途

指定可以在本地系统上执行命令的远程系统。

描述

/etc/hosts.equiv 文件以及任何本地 $HOME/.rhosts 文件定义了可以在不提供密码的情况下在本地主机上调用远程命令的主机 (网络上的计算机) 和用户帐户。 不需要提供密码的用户或主机被认为是可信的。

当本地主机接收到远程命令请求时,相应的本地守护程序首先检查 /etc/hosts.equiv 文件以确定请求是否源自可信用户或主机。 例如,如果本地主机接收到远程登录请求,那么 rlogind 守护程序会检查本地主机上是否存在 hosts.equiv 文件。 如果该文件存在但未定义主机或用户,那么系统将检查相应的 $HOME/.rhosts 文件。 此文件类似于 /etc/hosts.equiv 文件,只不过是为个别用户维护的。

hosts.equiv.rhosts 这两个文件都必须具有拒绝组和其他组的写访问权的许可权。 如果组或其他组对文件具有写访问权,那么将忽略该文件。

请勿将 /etc/hosts.equiv 文件的写许可权授予组和其他人员。 /etc/hosts.equiv 文件的许可权应该设置为 600 (仅由所有者读写)。

如果 root 用户发出远程命令请求,那么将忽略 /etc/hosts.equiv 文件,并且仅读取 /.rhosts 文件。

注: 建立可信关系时要小心。 使用可信设施的网络可能比不使用可信设施的网络更不安全。

授予和拒绝信任

您将从本地主机向远程主机或远程用户授予信任。 本地机器的 /etc/hosts.equiv 文件包含每个可信主机或用户的条目。 条目的格式如下所示:

HostName [UserName]

HostName 字段指定要信任的主机的名称。 UserName 字段指定该远程主机上要信任的用户的名称。 UserName 字段是可选的。

可以在 HostNameUserName 字段中使用 + (加号) 作为通配符,以向特定主机或特定用户具有帐户的所有主机中的所有用户授予信任。 要在网络上的每台机器上向每个用户授予信任,请在文件开头放置一个加号 (+)。

注: 通过 /etc/hosts.equiv 文件授予访问权时,必须非常小心。 包含用户名的行(无论是单个用户、网络组,还是用作通配符的+号)允许符合条件的用户以任何非root本地用户身份访问系统。

通过完全省略 /etc/hosts.equiv 文件中的主机或用户信任,可以拒绝这些主机或用户信任。 通过省略主机或用户,您可以暗示它们不受信任。 这是最安全的拒绝信任的方式。 否则,您可以使用-(减号) 来显式拒绝对特定主机或用户的信任。 显式拒绝主机的格式为:

-HostName

用于从主机显式拒绝特定用户的格式为:

HostName [-UserName]

将 NIS 与 /etc/hosts.equiv 文件配合使用

如果您的网络使用 网络信息服务 (NIS) ,那么可以使用网络组来代替 HostNameUserName 字段。 系统将根据网组所替换的字段来解析网组。 例如,如果在 HostName 字段中放置一个网组,那么系统将解析该网组的主机组件。 如果该网组出现在 UserName 字段中,那么将解析用户组件。 使用以下格式来授予对网组的信任:

+@NetGroup

要拒绝信任,请使用以下内容:

-@NetGroup

有关网组的更多信息,请参阅 NIS 网络组 文件。

对 /etc/hosts.equiv 文件中的条目进行排序

/etc/hosts.equiv 文件中的条目顺序很重要。 验证信任时,系统会从上到下解析 /etc/hosts.equiv 文件。 当它迂到与尝试远程命令的主机或用户匹配的条目时,系统将停止解析该文件并根据该条目授予或拒绝信任。 将忽略文件中稍后出现的任何其他条目。

示例

  1. 允许远程主机上的所有用户emeraldamethyst登录到主机diamond,请输入:
    emerald
    amethyst
    这些条目diamond/etc/hosts.equiv 文件允许所有用户emeraldamethyst使用本地帐户diamond在不提供密码的情况下远程登录。
  2. 要仅允许用户gregory远程登录diamond从主机amethyst,请输入:
    emerald
    amethyst gregory
    此条目diamond/etc/hosts.equiv 文件强制所有用户amethyst,除gregory,以在远程登录时提供密码diamond.
  3. 授予信任给peter无论他尝试从哪个主机执行远程命令,请输入:
    emerald
    amethyst gregory
    + peter
    此条目diamond/etc/hosts.equiv 文件允许peter执行远程命令diamond来自他拥有帐户的任何主机。
  4. 要允许系统中的所有主机century要在主机上执行远程命令的 netgroupdiamond,请输入:
    emerald
    amethyst gregory
    + peter
    +@century
    此条目diamond/etc/hosts.equiv 文件将信任授予century网络组。 这意味着任何具有以下帐户的用户:century主机和帐户diamond可以执行远程命令diamond而不提供密码。
  5. 要允许所有用户在engineers具有帐户的网络组citrine在主机上执行远程命令diamond,请输入:
    emerald
    amethyst gregory 
    + peter
    +@century
    citrine +@engineers
    此条目diamond' s /etc/hosts.equiv 文件将信任授予所有网组engineers具有帐户的用户citrine.
  6. 要将信任授予在主机上具有帐户的所有用户,请执行以下操作:servers网络组中的用户sysadmins网络组,输入:
    emerald
    amethyst gregory 
    + peter
    +@century
    citrine +@engineers
    +@servers +@sysadmins
    此条目diamond/etc/hosts.equiv 文件将信任授予sysadmins远程执行来自位于以下位置的主机的命令的网络组:servers网络组。
  7. 要强制engineers网组用户lydia有账户的人citrine使用密码,同时允许所有其他用户engineers用户,请输入:
    emerald
    amethyst gregory 
    + peter
    +@century
    citrine -lydia
    citrine +@engineers
    +@servers +@sysadmins
    此条目diamond' s /etc/hosts.equiv 文件将信任授予所有网组engineers用户,除lydia,谁必须提供密码。 参赛顺序是非常重要的。 请记住,系统会根据迂到的第一个条目授予信任。 如果条目的顺序显示为如下所示:
    emerald
    amethyst gregory 
    + peter
    +@century
    citrine +@engineers
    citrine -lydia
    +@servers +@sysadmins
    用户lydia,作为其成员engineers,将允许在以下位置执行远程命令:diamond尽管后来的条目明确否认了她的信任。

文件

描述
$HOME/.rhosts 指定可以使用局部用户帐户的远程用户。