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

作者:佚名

编辑:李莲

2007-08-22 00:01

评论

分享

相信大家都有过这样的经历:网络上的一个文件不小心被你在网上邻居的共享中删除了,而大家都知道网上邻居的文件一删除就等于彻底删除,既不会出现在服务器上的回收站也不会出现在本机的回收站中。想找回这个文件?很抱歉,只能用你的文件来换取一个教训。那么有没有什么解决方案来实现网上邻居的回收站?帮我们避免这样的误操作呢?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文件如下:

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

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

例:

exclude = *.tmp|*.temp|*.obj|~$*|*.$$$

excludedir

排除删除时不被移动到回收站的目录.

例:

excludedir = /tmp|/temp|/trash

noversions

不创建相同文件名称文件的副本

例:

noversions = *.doc|*.xls|*.ppt

创建或者修改后保存退出即可。

步骤4.修改smb.conf以应用Recycle Module

在Smb.conf中添加以下2行:

vfs object = /usr/lib/Samba/vsf/recycle.so 前面所复制模组的路径

vfs options = /etc/Samba/recycle.conf  recycle.conf的路径

例:

[ec-base]

comment = ec-base website

path = /www/www.ec-base.com

read only = No

create mask = 0750

vfs object = /usr/lib/Samba/vsf/recycle.so

vfs options = /etc/Samba/recycle.conf

步骤5. 为了让我们上面的设置生效,请重新启动服务器的Samba服务:

[becks@ec-base www.ec-base.com]service smb restart

OK,只是简单的几个步骤,便可在SAMBA v2上实现了SAMBA Samba-Recycle功能。

SAMBA 3的Samba-Recycle设置方法

Look完SAMBA 2的Samba-Recycle设置方法,现在让我们再来看看SAMBA 3如何实现Samba-Recycle,在Samba 3中我们只需要修改Smb.conf便可以实现此功能:/etc/Samba/smb.conf

[ec-base]

comment = ec-base website

path = /www/www.ec-base.com

read only = No

create mask = 0750

vfs object = /usr/lib/Samba/vsf/recycle.so

vfs options = /etc/Samba/recycle.conf

browseable = yes

valid users = becks,@ec-base

vfs object = recycle                      #加载recycle模组

recycle: keeptree = yes                  #保留被删除文件的目录层次

recycle: repository = ../Recycle/%u  # recycle: repository 只能指定相对路径,也就是相对此共享文件的路径。无法使用绝对路径,后面的 %U 为用户账号。

recycle: exclude = .tmp|.temp|.o|.obj #设置不被移动到回收站的文件类型

recycle: versions = yes                  #若有相同文件名称时,用编号进行标识

设置完后重启SMB服务,这时候用户在Samba(网上邻居)上删除的文件就会自动移至“recycle: repository”所指定的相对路径里了。而被移动到“recycle: repository”目录后的文件,其权限为600,也就是所只有文件所有者才有权修改和查看。需要注意的是“recycle: repository”目录的权限,需要让用户有权限写入文件,不然就会产生错误,而该文件也会被直接删除。

由于回收站的设置当然你也要付出磁盘空间的代价,记得像清理自己PC的回收站般定期清理Samba-Recycle bin,出现错误信息时候,用户可以通过查看Samba的log来确认错误所在。一个非常实用的Linux下的网络回首站就建立好了,在以后的工作中相信它会发挥非常大的功效的!

0

linux 垃圾桶快捷键,Linux的基本:为网上邻居配个垃圾桶相关推荐

  1. linux中文快捷键,Linux系统快捷键最全合集

    Linux系统操作中,相信很多人都没有使用快捷键的习惯,觉得鼠标点方便些,其实在某些操作中,使用快捷键能节省不少时间,下面小编就给大家详细介绍下Linux系统快捷键,一起来看看吧. 在命令行下的的快捷 ...

  2. linux 自启动 快捷键,linux自定义快捷键、文件打开方式、文件快捷方式、启动器及开机启动...

    http://blog.csdn.net/pipisorry/article/details/39584173 linux自定义快捷键 lz的: shutter-s shutter -s gnome- ...

  3. linux 自启动 快捷键,Linux 自定义快捷键

    Linux 自定义快捷键 (2012-06-14 02:25:11) 标签: 快捷键 linux 杂谈 Linux的一个特色就是其命令多而且功能强大, 频繁输入命令不仅麻烦而且工作量较大,虽然可以使用 ...

  4. linux idea 快捷键,Linux 下 IDEA 的 Ctrl+Alt+S

    前言 这是个困扰我一年多的问题,今天终于解决了-- 起因 一年前将主系统换成 Arch Linux 后,其他一切正常就是 IDEA 的打开设置的快捷键 ctrl+alt+s 失效,让我很是头疼.虽然不 ...

  5. linux less 快捷键,Linux less命令详解(9个实用案例演示)

    1. 前言 本文主要讲解linux less命令,详细解释该命令的作用与演示相关用法. Do more with less. 学习在Linux中使用less的命令来查看大文件和跟踪日志文件.在本教程中 ...

  6. linux txt快捷键,Linux快捷键.txt

    最简单的Linux命令 创建文件 touch filetouch是一个命令 进入一个目录 cd /etc/cd是一个命令 查看当前目录pwdpwd是一个命令 输出一条语句echo "hell ...

  7. 华为电脑linux版快捷键,linux快捷键

    弹性云服务器 ECS 弹性云服务器(Elastic Cloud Server)是一种可随时自助获取.可弹性伸缩的云服务器,帮助用户打造可靠.安全.灵活.高效的应用环境,确保服务持久稳定运行,提升运维效 ...

  8. linux share目录 多个机器访问,如何在linux下网上邻居访问另一台机windows共享的目录?(急)...

    已经装好 samba-client 不知怎么用,请帮忙! | 随着Linux的普及,如何共享Linux下的文件成为用户关心的问题.其实,几乎所有的Linux发行套件都提供了一个很好的工具Samba-- ...

  9. Linux 命令快捷键

    Linux 命令快捷键 tab 自动补齐(有不知道的吗) Ctrl+u 删除(剪切)此处至开始所有内容 Ctrl+k 删除从光标所在位置到行末 快速命令行 – 快捷方式 • history 搜索历史执 ...

最新文章

  1. R语言使用DALEX包的model_performance函数对caret包生成的多个算法模型进行残差分布分析并使用箱图进行残差分布的可视化
  2. java tcp 三次握手_用Java代码分析TCP的三次握手四次挥手过程
  3. 一看就懂的动态规划入门教程
  4. python基础十一之迭代器和生成器
  5. (优秀文章保存)Quartz优秀文章保存
  6. android studio 中怎么写aspectj代码,Android Studio 使用 AspectJ 实践AOP
  7. word vba 打开弹出msgbox,每隔10秒刷新一次域值。
  8. Python标准库中的uuid
  9. 漫画:如何优化 “字符串匹配算法”?
  10. Python 语言程序设计(5-3) 代码复用与函数递归
  11. linux内核源码分析--内核启动之,Linux内核源码分析之setup_arch (二)
  12. Unity制作游戏自定义按键
  13. 计算机毕设(附源码)JAVA-SSM基于远程协作的汽车故障诊断系统
  14. 2016理数全国卷 T21
  15. python基础--截图提取图中文字存入Excel表
  16. 计算机教案在幻灯片中插入影片,在幻灯片中插入影片和声音教学设计
  17. 射频开关-RF Switch拆机
  18. Python 金融数据分析_8_Python基础(2)
  19. 到底是什么让IT人如此苦逼???
  20. 【MinIO理论】MinIO Erasure Code Quickstart Guide

热门文章

  1. 内核启动流程分析(二)配置详解
  2. verilog基础—规范化参数定义parameter
  3. android中关于手机屏幕的相关操作(获取屏幕的宽高等操作)
  4. js函数调用html对象参数传递参数吗,js里函数参数传递对象传的是指针吗
  5. 【MASHIII调制器】MASHIII调制器的Simulink建模与仿真
  6. IT兄弟连 JavaWeb教程 EL表达式获取对象的属性以及数组的元素
  7. oracle之 11g RAC R2 体系结构---Grid
  8. Jquery DataTable服务端分页的最佳实现
  9. 【Android】3.12 兴趣点( POI)搜索功能
  10. Meteor的临时的存储:Session