来源:远方网络 | 2006-1-6 | (有2290人读过)
作者:佚名 来源:InterNet 加入时间:2005-4-8 在Unix系统中,远程主机上有两个文件会影响到远程存取操作(rcp、rsh、rlogin),它们是“/etc/hosts.equiv”和“~home/.rhosts”。“/etc/hosts.equiv”文件包含一系列主机名,每一个主机都是受信任的主机,任何一个用户只要在本地主机和远程主机上有一个相同的账号就允许从本地主机访问远程主机,而不需提供密码。通常只有系统管理员才能更改“/etc/hosts.equiv”文件的内容。这个文件允许多个用户存取,所以是一个系统配置文件。每个用户同时可以在自己的主目录设置“.rhosts”文件,属主是用户自己或root,这样可以防止一个用户存取另一个用户的账号,并且该文件的存取权限设为600(即只能由用户自己进行读写操作)。
这两个文件中有效的格式,每一行可以为:
空行;
以#开头的注释行;
主机名;
主机名,空格,用户名;
一个“+”,指任何主机和用户;
关键词NO_PLUS,不允许用加号。
另外对“.rhosts”文件来说,当无用户名时,表示远程主机上的任何用户都可以远程存取本机,但是本地和远程主机上的用户名必须相同。主机名和用户名前可以置“-”号,表示该主机和用户不许进行远程存取。主机名和用户名的位置上也可以置“+”号,表示任何一台远程主机或用户都可以远程存取本机。
现将它们的特点总结如下:
1.用户主目录内的“.rhosts”文件内容是受信任的{主机~用户}关系对。与“hosts.equiv”内的受信任主机有些类似,但它却给了更精细的控制。与“hosts.equiv”相比,不是授予某一特定主机上的所有普通用户信任关系,而是授予特定主机上的某一特定账号以信任关系。受信任主机上的用户并不需要在本地主机上有账号。
2.“/etc/hosts.equiv”先于“~home/.rhosts”进行许可检查,只要找到匹配的项目,检查就马上停止。然而当用户是root时,只检查“~home/.rhosts”。
3.当在“/etc/hosts.equiv”中使用一个减号(-),所有主机上的所有用户都不被信任,但如果又包含一个主机在“~home/.rhosts”内,那么该机上所有用户仍然可以不用密码登录本地主机。
4.一台远程主机一旦被加入“/etc/hosts.equiv”中,就不能限制其上的所有用户登录本地主机,所以存在很大的安全隐患。
5.“/etc/hosts.equiv”文件中如果加入了一台远程主机和一个用户,在该机上的那个用户(非root用户)就可以用rlogin登录本地机上的所有非root账号,而且不需要密码。
6.上述两个文件里所包含的主机称为受信任主机,既可以是远程主机,也可以是本地主机。在这两个文件里加入本地主机,已经登录上本地主机的用户可以再次登录本地主机,而无需密码(root用户仍需密码)。
7.出于安全的原因,“/etc/hosts.equiv”文件不允许远程主机的超级用户不输入密码就登录到本地主机。系统管理员应该保持该文件为空,或谨慎使用。
下面的例子说明了“/etc/hosts.equiv”和“~home/.rhosts”的存在形式。这两个文件都放在test_a主机上,“.rhosts”文件的属主是chen,并放在chen的主目录下。“/etc/hosts.equiv”内的test_b和test_c主机对test_a来说,是受信任主机,任何一个用户只要在test_a和test_b上有相同的账号就能够无需键入密码从test_b远程存取test_a。同样道理,test_c和test_a的关系也一样。
示例如下(系统环境为DEC的TRUE64 Unix):
放在test_a上的“/etc/host.equiv”文件为:
test_b
test_c
主机test_a上用户chen主目录下的.rhosts文件:
test_d chen test_c chen test_c root test_e diane test_e chen test_e root
用户chen的“.rhosts”文件包含一系列远程主机及其上的用户,他们能够以chen的身份存取主机test_a而不需密码。
说明以下两点:
●用户chen:{主机-用户名}中的任何用户可以存取test_a上的chen账号。它们都变成了chen,就好像将test_a上的chen账号及密码给了这些远程用户一样。
●无需使用密码:一些像rlogin的服务可以提供密码的输入提示。身份验证失败时,可以再次提示输入密码。而其他的服务(rcp和rsh)不能提供输入密码的提示功能,因而必须以此方法进行配置。
|