|
|
|
|
移动端

6.3.4 访问控制(1)

《Linux服务器配置全程实录》第6章使用Samba配置文件服务器。Samba作为类UNIX系统和Windows的通信的桥梁,目前应用非常广泛,本章中讲解在RHEL下通过Samba配置文件服务器、打印服务器,PAM在Samba中的应用、异构环境相关内容。本节为大家介绍访问控制。

作者:张勤/杨章明来源:人民邮电出版社|2011-08-10 16:23

有奖调研 | 1TB硬盘等你拿 AI+区块链的发展趋势及应用调研


6.3.4  访问控制(1)

在6.3.3节中主要是针对某些特定用户使用共享资源权限的控制,其管理主体为用户。如果需要针对主机进行控制,方法也比较多,可以使用IPTables(具体见第17章),也可以使用Samba服务自身的控制。其实Samba所提供的访问控制功能已经非常强大。Samba的访问控制通过hosts allow(配置允许访问的客户端)、hosts deny(配置拒绝访问的客户端)两个参数实现。

在Samba中使用hosts allow、hosts deny参数时,该参数可以出现在全局配置部分(如图6-31所示),用于允许或拒绝可连接到Samba服务器的客户端,也可以出现在具体的共享资源配置中(如图6-32所示)用于允许或拒绝可访问该资源的客户端。如果在全局配置部分的hosts allow、hosts deny与具体共享资源的配置发生冲突时会怎么样呢?通过Samba的工作过程不难看出Samba客户端首先要可以连接到Samba服务器,才能访问其共享资源,所有全局配置部分的hosts allow、hosts deny优先级与具体共享资源的配置发生冲突时使用以下规则。

(1)全局配置中hosts deny指定客户端,此时无法访问Samba服务器任何共享资源。

(2)全局配置中hosts allow指定客户端,分以下几种情况。

①:如具体共享资源中只指定了hosts deny且与全局配置不冲突时,客户端可以访问具体共享资源。

 
图6-31  hosts allow、hosts deny出现在[global] 标签
 
图6-32  hosts allow、hosts deny出现在共享资源

②:如具体共享资源中只指定了hosts allow且是全局配置的子集时,只有具体共享资源中指定的客户端可以访问。

③:如具体共享资源中即指定了hosts allow又指定了hosts deny时,首先根据hosts allow与hosts deny生效规则得出具体共享资源允许或拒绝的客户端,再根据上面两条规则得出最终的结果。

如果全局配置内或具体共享资源内的hosts allow与hosts deny发生冲突时会使用以下规则。

(1)如果hosts deny与hosts allow发生冲突时,hosts allow优先。

(2)如果只有hosts allow,除了hosts allow中指定的客户端外其他所有客户端都不能访问。

(3)如果只有hosts deny,除了hosts deny中指定的客户端外其他所有客户都可以访问。

1.使用IP地址控制

在hosts allow及hosts deny时,可通过使用IP地址精确允许或拒绝特定客户端访问Samba服务器,下面看几个例子。

(1)不允许IP地址为192.168.0.20的客户端访问Samba服务器上smbtest目录。

  1. [smbtest]  
  2.      comment = This is smb test  
  3.      path = /test  
  4.      hosts deny = 192.168.0.20  

(2)只允许IP地址为192.168.0.25的客户端访Samba服务器上smbtest目录。

  1. [smbtest]  
  2.      comment = This is smb test  
  3.      path = /test  
  4.      hosts allow = 192.168.0.20  

(3)下面的例子中,IP地址为192.168.0.99的客户端可以访问Samba服务器上的smbtest目录吗?当然是允许访问,为什么呢?因为在Samba中hosts allow比hosts deny优先级要高。

  1. [smbtest]  
  2.      comment = This is smb test  
  3.      path = /test  
  4.      hosts allow = 192.168.0.99  
  5.      hosts deny = 192.168.0.99  

2.使用网段控制

在hosts allow及hosts deny时,可通过使用子网允许或拒绝特定客户端访问Samba服务器,在表示子网时可以使用192.168.0./24、192.168.0.或192.168.0.0/255.255.255.0表示192.168.0.0子网掩码24位子网。下面看几个例子。

(1)不允许192.168.0.0/24所有客户端访问Samba服务器上smbtest目录。

  1. [smbtest]  
  2.      comment = This is smb test  
  3.      path = /test  
  4.      hosts deny = 192.168.0.  

(2)只允许192.168.0.0/24所有客户端访Samba服务器上smbtest目录。

  1. [smbtest]  
  2.      comment = This is smb test  
  3.      path = /test  
  4.      hosts allow = 192.168.0.  

(3)不允许192.168.0.0/24但不包括192.168.0.99的客户端访问Samba服务器上smbtest目录。

  1. [smbtest]  
  2.      comment = This is smb test  
  3.      path = /test  
  4.      hosts deny = 192.168.0.  
  5.      hosts allow = 192.168.0.99  

(4)只允许192.168.0.0/24但不包括192.168.0.99的客户端访问Samba服务器上smbtest目录。

  1. [smbtest]  
  2.      comment = This is smb test  
  3.      path = /test  
  4.      # EXCEPT参数表示不包括。  
  5.      hosts allow = 192.168.0. EXCEPT 192.168.0.99  
【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

SUN Solaris 9/10系统管理员认证指南

本书专门根据SUN官方的SCSA for Solaris 9&10考试大纲撰写而成,全面覆盖了SCSA for Solaris 9/10的认证考点,除此之外本书还有大量的非考...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊