注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

涅槃

文档收藏

 
 
 

日志

 
 
 
 

hosts.equiv文件的用途与格式  

2013-12-16 16:46:54|  分类: linux系统管理 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


2011年02月7日北街7 条评论

  北街最近在研究两台或者多台 UNIX 主机之间的信任关系,这样就用到了系统中的 hosts.equiv 文件,它就是为了便于远程主机在本地计算机上执行远程命令而设计的,下面就总结一下 hosts.equiv 文件的用途与格式。

  一、 hosts.equiv 文件的用途

  /etc/hosts.equiv 和 $HOME/.rhosts 定义了哪些计算机和用户可以不用提供口令就在本地计算机上执行远程命令,如 rexec,rcp,rlogin 等等。这些不需要提供口令的计算机和用户称为受信任的。

  当本地计算机收到执行远程命令的请求时,相应的远程命令服务进程,如 rlogind ,首先检查/etc/hosts.equiv 来确认请求是否来自受信任的计算机和用户。如果这个文件不存在或者虽然存在但不包括相应的计算机和用户,服务进程就会去检查 $HOME/.rhosts 文件。

  /etc/hosts.equiv 的权限必须设置为只有 root 能够写,建议权限为600。如果这个文件被设置为同组或其它用户可写,远程命令服务进程就会忽略它的存在。

  如果远程命令是由 root 用户发起的,远程命令服务进程会忽略 /etc/hosts.equiv 文件的存在而去直接检查 $HOME/.rhosts 文件。

  在指定受信任的计算机和用户时要非常小心,因为这有可能会造成安全漏洞。

  二、 hosts.equiv 文件的格式

  添加对计算机/用户的信任:

  hostname:信任计算机 hostname 上的所有普通用户

  hostname username:信任计算机 hostname 上的用户 username

  +:信任所有计算机上的所有普通用户

  禁止对计算机/用户的信任:

  如果计算机名和用户都没有在 /etc/hosts.equiv 中被定义为受信任的,那么它们就是不受信任的。另外,您还可以用以下方法明确地禁止对计算机/用户的信任。

  -hostname:不信任计算机 hostname 上的所有用户

  hostname -username: 不信任计算机 hostname 上的用户 username

  hosts.equiv 与 NIS :

  在 /etc/hosts.equiv 中也可以指定是否信任 NIS 网络组(NETGROUP)。

  +@netgroup:信任网络组 netgroup 中的所有计算机

  -@netgroup:禁止信任网络组 netgroup 中的所有计算机

  hostname +@netgroup:信任来自计算机 hostname 的所有网络组 netgroup 的成员用户的请求

  hostname -@netgroup:禁止信任来自计算机 hostname 的所有网络组 netgroup 的成员用户的请求

  /etc/hosts.equiv 中记录的顺序:

  在 /etc/hosts.equiv 文件中,记录的顺序十分重要。远程命令服务进程在检查 /etc/hosts.equiv文件时会在第一个匹配发现后返回,也就是说,下面这个例子中的禁止信任记录是不起作用的:

1
2
hostname
hostname -user1

  计算机 hostname 上的用户 user1 将能够在不提供口令的情况下在本地计算机上执行远程命令。而下面这个例子能够提供期望中的结果:

1
2
hostname -user1
hostname

  三、/etc/hosts.equiv示例

  1. 允许远程计算机 emerald 和 amethyst 上的所有用户在本地执行远程命令而无须提供口令:

1
2
emerald
amethyst

  2. 允许远程计算机 emerald 上的所有用户和 amethyst 上的用户 greygory 在本地执行远程命令而无须提供口令:

1
2
emerald
amethyst gregory

  3. 允许用户 peter 从任何远程计算机在本地执行远程命令而无须提供口令:

1
2
3
emerald
amethyst gregory
+ peter

  4. 允许所有是 century 网络组成员的远程计算机上的所有用户在本地执行远程命令而无须提供口令:

1
2
3
4
emerald
amethyst gregory
+ peter
+@century

  5. 允许所有在计算机 citrine 上又是 engineers 网络组成员的用户在本地执行远程命令而无须提供口令:

1
2
3
4
5
emerald
amethyst gregory
+ peter
+@century
citrine +@engineers

  6. 允许所有是 servers 网络组成员的远程计算机上的所有属于 sysadmins 网络组的用户在本地执行远程命令而无须提供口令:

1
2
3
4
5
6
7
emerald
amethyst gregory
+ peter
+@century
citrine +@engineers
+@server
+@sysadmins
  评论这张
 
阅读(742)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018