Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->Linux安全 ->正文

Linux的基本:为网上邻居配个垃圾桶

来源: 作者: 时间:2007-04-11 点击: [收藏] [投稿]

相信大家都有过这样的经历:网络上的一个文件不小心被你在网上邻居的共享中删除了,而大家都知道网上邻居的文件一删除就等于彻底删除,既不会出现在服务器上的回收站也不会出现在本机的回收站中。想找回这个文件?很抱歉,只能用你的文件来换取一个教训。那么有没有什么解决方案来实现网上邻居的回收站?帮我们避免这样的误操作呢?Windows环境下,我还未去研究是否有此类的解决方案,而Linux下为我们提供的Samba已经可以很完美地做到这一点。

这里我们需要Recycle VFS Module的帮助,它可以让我们在Samba上实现回收站的功能,有了它,我们从网上邻居被删除的文件把会被移动到一个指定的目录下。如果没有在配置文件设置删除的话把不会被自动删除,由用户自己清理回收站。现在就让我们来看看怎么样配置这个功能。考虑到现在尚存在应用Samba 2版本的用户,本文分别列出Samba 3和Samba 2 的Samba-Recycle配置实例。

SAMBA 2的Samba-Recycle设置方法

步骤1.下载VFS模组

下载地址:http://www.ec-base.com/download/smbrecycle.tar.gz

下载解压后,使用GNU autoconf script 和 Makefile 进行安装:

[becks@ec-base vfs] ./configure 
[becks@ec-base vfs] make

步骤2. 把相应的模组复制到任意路径,比如/usr/lib/Samba/vfs:

[becks@ec-base vfs]cp recycle/recycle.c /usr/lib/Samba/vfs

步骤3. 建立和编辑Recycle.conf:

[becks@ec-base vfs]cp recycle/recycle.conf /etc/Samba/

修改后的Recycle.conf文件如下:

QUOTE: 
name = .recycle/%U 
mode = KEEP_DIRECTORIES|NOVERSIONS|TOUCH 
maxsize = 0 
exclude = *.tmp|*.temp|*.o|*.obj|~$* 
excludedir = /tmp|/temp|/cache 
noversions = *.doc|*.xls|*.ppt

现在我就其参数进行简单说明:

Options for recycle.conf: 
name

位于共享文件根目录回收站的名称,这里可以允许使用Smb.conf的变量,比如本文使用的%U。

例:name = .recycle/%U mode

KEEP_DIRECTORIES:是否保留被删除文件的目录层次。

例:如果你删除了共享文件下/ec-base/becks/test.txt文件,开启此选项,你在回收站看到的也把是保留/ec-base/becks/而不是单独的test.txt。

VERSIONS : 当遇到相同文件名的时候,是否进行标号。当遇到相同文件名的时候被删除放置回收站的时候,时间较后被删除的文件把会被命名为filename(Copy #1),依次类推。

例:删除test.txt.

test.txt 
test.txt (Copy #1) 
test.txt (Copy #2)

TOUCH : 当移动文件到回收站的时候更新文件的访问日期。

Mode示例:

mode = KEEP_DIRECTORIES|VERSIONS|TOUCH 
maxsize

移动到回收站文件的最大文件容量,默认为零。

例: maxsize = 0 exclude

设置不被移动到回收站的文件类型,比如一些临时文件等等。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:关于开源软件开发与软件安全的联系   下一篇:怎么样保护互联网上的Linux系统机器

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号