SCOTCP/IP网络管理---信任关系
前面我们讲了FTP的配置,它在网络管理里面也是比较重要的一个服务,下面我们讲一下网络管理的另一个比较重要的概念,就是信任关系。还是拿NT来做对比,在NT里面,建立了信任关系后,比如A信任B,在B里的帐户就可以在A登录了,这对于administrator和user来说都是一个非常方便的事情。同样,在UNIX系统中也有这样的管理方式,了解这个管理方式对你学习UNIX的网络很重要哦,欺骗(spoofing)技术就是利用这种管理方式的。UNIX中的受托访问可以让用户更方便,更安全的利用企业网络,增强网络的安全性。
如果没有为rlogin命令配置受托访问,它会提示用户输入密码。这个密码会通过网络,甚至INTERNET来传输。含有这些密码的数据包就会很容易被识别和窃取。如果设置了受托访问,就无需为rlogin设置密码。在没有受托访问的情况下,你甚至都无法使用rcmd和rcp命令。系统管理员有责任管理受托访问及用户等同。下面列出了为r命令和TCP实用程序:
rlogin
Allows users to log into a remote host. If trusted access is set up.
no password is needed,otherwise a password is needed.
rcp
Allows users to copy files from one host to another. Requires trusted
access.
telnet
Similar to rlogin, only a user name and password are almost always
required, and trusted access is not consulted
ftp
Similar to rcp, only a user name and password is always required and
trusted access is not consulted
受托主机访问的意义在于可以规定一台主机完全“信任”另一台主机上的用户。这些用户在那台主机上均有可识别的login名称,无需密码就可使用rlogin,rcp及rcmd命令。配置受托主机访问要以root登录到系统中。主要步骤是编辑/etc/hosts.equiv文件,必要时还要创建此文件。/etc/hosts.equiv文件中的每一选项规定的是那些有权访问该主机的远程系统。下面是一个该文件的例子:
--------------------------------------------------------------------------------
barbados
tortola
bob
guam
--------------------------------------------------------------------------------
假设该文件是一台名为corfu的机器上的设置,它们的意义分别如下:
barbados
barbados机器上与corfu中有相同的用户名的用户有权访问corfu.也就是说,在barbados上的用户jane可以rlogin,rcp,rcmd到corfu的用户jane上,不需要给出jane在corfu上的密码。
tortola bob
容许tortola上的用户bob可以用除root外的任何用户名访问corfu.不过,这是很危险的。
root帐户是永远都不能与/etc/hosts.equiv文件的选项等同的。如果你是在INTERNET上,为了安全起见,应该用/etc/hosts.equiv文件授权的主机名。配置受托用户访问,就是指定另一系统上的“可信任”用户,他们可以不用密码即可通过rlogin,rcmd及rcp命令访问本系统。与受托主机访问不同的饿是,受托用户访问可为用户在不同的机器上创建不同的login名称。系统管理员可以为用户设置这项功能,也可以交给用户自己去做。配置受托用户访问的主要步骤是在用户目录中创建或修改。rhosts文件。该文件必须是root或主目录所有者的,而且只有所有者才可以写此文件,否则任何更改都是无效的。。rhosts文件格式
与/etc/hosts.equiv文件相同,但意义却不同,我们仍然可以以上面的例子来举例,假设那
些选项是corfu上用户jane的主目录下,则它的意义如下:
barbados
barbados上的用户jane是corfu上用户jane的授权用户,即前者可以jane这个名字rlogin,rcp,rcmd到corfu,而无需corfu上jane的密码。
tortola bob
tortola上的用户bob是corfu上的用户jane的授权用户。即bob可以jane的名字rlogin,rcp,rcmd到corfu,只要使用社党的命令参数,不需要给出jane的密码。
无论系统执行rlogin命令,rcmd命令,还是rcp命令,系统会有一定的工作流程来确定是否已配置了受托访问。本地主机的受托访问通常经过以下步骤:1,用户发出前面提及的r类型命令。2,本地主机解析远程主机名,并获得它的IP地址。3,如果不能获得远程主机的IP地址,系统将显示错误信息:host_name:Host name lookup failure 。4,如果地道了远程主机的IP地址,r命令会通过TCP/IP与远程主机相连。
远程主机的受托访问通常经过以下步骤:1,在密码数据库上寻找用户帐户名称。2,如果在密码库没有找到帐户名,系统就不会执行rcmd和rcp命令。执行rlogin命令时则提示用户输入密码,然后显示该命令执行失败。3,系统检查用户帐户是否有一个加密的密码。4,如果
该帐户没有密码,系统即执行r命令。但这样捉是很危险的。通常系统用户都应有自己的密码,尤其是与INTERNET相连的情况下更应注意这一点。5,系统检查用户帐户名,判断该用户是否为root,如果不是,系统会检查/etc/host.equiv中是否有用户本地主机的名字。如果该文件中列出了本地主机名,系统开始执行r命令。6,如果第五步中检查到用户为root,或者虽然不是root,而/etc/host.equiv中也没有列出主机名,系统会检查远程用户主目录的.rhosts文件,看看其中是否包括了本地主机名或者本地用户名,具体使用哪种名称,取决于r命令的被调用方式。7,如果.rhosts文件包括了所需的选项,系统就执行r命令。