谁可以访问由Unix系统说了算
在Unix系统中,可以利用两个文件来统一管理客户端的连接.谁可以访问Unix服务器,都有这两个文件说了算.也就是说,这Hosts.allow与Hosts.deny两个文件就好像是Unix服务器的“看门狗”,它决定了哪些客户端可以访问Unix服务器,哪些则不行. 如果Unix系统工程师允许某些计算机可以访问这台服务器则可以在Hosts.allow文件中定义允许访问的计算机.反之,如果系统工程师不希望特定的计算机可以访问服务器,则应该在hosts.deny文件中定义拒绝访问服务器的计算机.当系统的进程在接受来自客户端的服务请求后,Unix系统会先检查Hosts.allow文件,看看是否允许此客户端的访问,如果允许访问的话则会将这个请求转送到特定的服务程序.如果在hosts.allow文件中没有这个客户端允许的纪录,则会检查hosts.deny文件的内容.如果这个客户端的IP地址等信息出现在这个文件中,则客户端的这个请求将会被拒绝.如果没有出现的话,则这个客户端的请求仍然会被转送到特定的服务器应用程序中.这个两个文件的具体工作流程图如下所示:
1、 两个文件的优先性问题. 在Unix系统眼中这两个文件的地位是不同的.这是系统工程师需要明确的第一个内容.Unix系统会先检查Hosts.allow文件的内容.如果在这里有符合的纪录,则会马上转发这个客户端的请求,而不会去考虑Hosts.deny中的内容.如果系统工程师以前有Cisco网络产品管理的经验,对于这一点就很好理解.其工作原理跟思科路由器的访问控制列表工作原理类似.只要在前面的纪录中找到符合要求的项目,则会忽略后续的内容.如现在有一个客户端,其IP地址为192.168.0.4.在以上两个文件中,都有这个客户端的信息.即在前面一个文件中允许这个客户端连接到Unix服务器中,而在后面一个文件中却又禁止其连接.那么这个互相矛盾的设置,哪一个设置更有效力呢?Unix服务器是先检查Hosts.allow文件,故最终Unix系统允许用户连接到服务器. 系统管理员不要认为这是Unix系统中的漏洞.其实Unix系统是故意这么设计的.这个特性在实际应用中非常的有效.如某个财务管理软件的服务器,就只允许财务部门的四个员工以及系统管理员可以连接上去.此时就可以把这五个用户的信息放入到hosts.allow文件中,然后在hosts.deny文件中填入ALL内容即可(表示全部计算机都不能够连接Unix服务器).hosts.allow文件优先,故最终Unix系统只允许特定的五个用户可以连接到财务管理软件服务器中,从而提高财务管理软件的安全性.可见这个特性在实际工作中,具有很大的用途.
2、 多个主机的表示方法. 当企业网络中的客户端数量比较多时,如果一个个IP地址去配制的话,工作量会变得很大,也缺乏灵活性.为此需要能够提供一个简便的机制,如通过通配符来实现对一组IP地址的管理等等.在Unix服务器系统中,也提供了类似的机制.如在谈第一个问题的时候,笔者已经谈到,可以利用ALL选项来表示所有的计算机.除了利用这个参数外还有几个参数可供系统管理员采用.笔者这里就捡几个常用的重要参数举几个例子,让大家可以了解这些参数的用途.如参数LOCAL,表示不带小数点的主机名;如参数UNKNOWN,代表所有主机名或者IP地址为未置的客户端;如参数KNOWN,表示所有主机名以及IP地址为已知的主机;而参数PRARANOID则表示所有主机名与IP地址不一致的主机等等.这些都是服务器部署时常用的一些参数.注意以上这两个文件对于大小写是敏感的,为此系统管理员要使用这些参数的话,要注意最好能够使用大写字母. 除了使用这些特定的字符串(代表特定的含义)之外,还可以利用子网来 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |