|
|
|
|
移动端

6.3.3 行为控制(3)

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

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

6.3.3  行为控制(3)

4.使用子配置文件

在前面讲述过browseable可以实现类似于Windows隐藏共享的功能,但是如果将该参数配置为browseable=yes时,所有用户都无法浏览到,如果希望某个共享资源只允许特定的用户浏览,其他用户都无法浏览或访问时怎么办呢?Windows的共享在默认情况下没有这个功能(在微软网站下载一个免费工具Windows Server 2003 Access-based Enumeration后也可实现),Samba可以通过引用子配置文件的方法来实现。

下面来看两个引用子配置文件的例子。

(1)在Samba服务器有一个共享目录smbtest(/test的自身权限为777)希望用户tomyang可见可读可写,另一个共享目录smbtest1(/test1的自身权限为777)希望用户tonyzhang可见可读可写。通过子配置文件实现方法如下。

①:在/etc/samba下建立一个文本文件其名称为tomyang.smb.conf,在该文件中加入如下内容。

  1. [smbtest]  
  2.      comment = This is smb test  
  3.      path = /test  
  4.      write list = tomyang 

②:在/etc/samba下建立一个文本文件其名称为tomyang.smb.conf,在该文件中加入如下内容。

  1. [smbtest1]  
  2.      comment = This is smb test1  
  3.      path = /test1  
  4.      write list = tonyzhang 

③:引用子配置文件。在引用子配置文件时有两种方法:

config file:在[global]标签下入如下参数。

  1. [global]  
  2.      config file = /etc/samba/%U.smb.conf  

include:在[global]标签下入如下参数。

  1. [global]  
  2.      include = /etc/samba/%U.smb.conf  

config file和include的区别是:使用config file时,当以tomyang的身份访问Samba服务器,只能浏览到smbtest,其他在smb.conf中定义的共享资源都无法查看;当以tonyzhang的身份访问Samba服务器,只能浏览到smbtest1,其他在smb.conf中定义的共享资源都无法查看。使用include时,当以tomyang的身份访问Samba服务器,除了可以浏览到smbtest,其他在smb.conf中定义的共享资源也可以浏览到;当以tonyzhang的身份访问Samba服务器,除了可以浏览到smbtest1,其他在smb.conf中定义的共享资源也可以浏览到。

(2) 在Samba服务器有一个共享目录smbtest(/test的自身权限为777)希望初始组为sales的用户可见可读可写,另一个共享目录smbtest1(/test1的自身权限为777)希望初始组为hr的用户可见可读可写。通过子配置文件实现方法如下。

①:在/etc/samba下建立一个文本文件其名称为sales.smb.conf,在该文件中加入如下内容。

  1. [smbtest]  
  2.      comment = This is smb test  
  3.      path = /test  
  4.      write list = @sales  

②:在/etc/samba下建立一个文本文件其名称为hr.smb.conf,在该文件中加入如下内容。

  1. [smbtest1]  
  2.      comment = This is smb test1  
  3.      path = /test1  
  4.      write list = @hr  

③:引用子配置文件。在引用子配置文件时有两种方法。

config file:在[global]标签下入如下参数。

  1. [global]  
  2.      config file = /etc/samba/%G.smb.conf  

include:在[global]标签下入如下参数。

  1. [global]  
  2.      include = /etc/samba/%G.smb.conf  

5.上传文件类型控制

在Windows Server 2003 R2之前,Windows无法阻止特定文件上传到文件服务器,而Samba服务器可以通过veto files参数阻止客户端上传含有特定关键字的文件或目录到Samba服务器共享资源。在参数值中可以使用*或?作为通配符,使用时必须通过/进行转义。当参数放在[global] 标签时,是一个全局配置,对Samba服务器所有共享资源有效,如果该参数位于定义某共享资源的标识内时,只对这一个共享资源有效。如果全局设置与某一共享资源在该参数发生冲突时,共享资源内的该参数值优先。在下面的例子中,客户端不允许在smbtest中上传含有root关键字的文件或目录,在smbtest1中则是不允许上传含有.exe或.bmp关键字的文件或目录。

  1. [global]  
  2.      veto files = /*root*/  
  3.  
  4. [smbtest]  
  5.      comment = This is smb test  
  6.      path = /test  
  7.      writable = yes 
  8.  
  9. [smbtest1]  
  10.      comment = This is smb test1  
  11.      path = /test1  
  12.      writable = yes 
  13.  
  14.      veto files = /*.exe/*.bmp*/  

当配置veto files参数后,可以阻止客户端上传含有特定关键字的文件或目录到Samba服务器共享资源(可以通过hide files参数隐藏指定类型的文件,配置方法与veto files参数相同),但对于配置该参数之前已经存在与共享资源的含有特定关键字的文件或目录的共享资源,可以通过delete veto files参数处理,当delete veto files=yes时,所有满足veto files参数条件的文件或目录将被删除,当delete veto files=no时,将允许已经存在与共享资源的含有特定关键字的文件或目录,这也是默认值。

【责任编辑:云霞 TEL:(010)68476606】

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

读 书 +更多

精通Spring 2.0

本书是关于Spring 2.0的权威教程,是Java/Java EE开发者必备的参考书。本书详尽系统地介绍了Java EE的基础知识、Spring 2.0的各种功能,以...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊