给samba的文件服务器启用回收站功能

Windows的回收站功能可以在一定程度上防止误删文件,相比之下linux(非图形界面)rm掉文件之后就直接删除了。

现在使用linux系统在局域网内搭建了文件共享服务器以便协同办公使用。但是总是会有人不小心误删文件。


后来得知samba也可以配置回收站功能,现总结记录,给需要的朋友看,也备自己日后查看。


首先,配置samba的回收站功能,需要每个samba账号对应一个配置,比如你开了三个samba账号:share1,share2、share3,如果你都需要开启,那么你需要在每个用户下面都配置一下


配置方法

第一步:

vi /etc/samba/smb.conf

第二步:找到你的samba账号配置,请参照如下配置


[share1]

comment=share1
path=/homeshare1
writable=yes
browseable=yes
#resycle configration

vfs object = recycle  #载入Samba用于回收站功能的模块recycle.so
recycle:repository=.deleted/%U  #回收站的相对路径,这里的意思是你删除的文件会被放入你共享的文件夹下的deleted文件夹中,%U是个变量,表示用户名,比如user1删除的文件会被放入 共享目录/deleted/user1中,samba中只能用相对路径来设置回收站路径。

#注意".deleted/%U",U是大写,deleted前面有个小数点“.”,有了这个点,回收站在共享的时候会被认为是隐藏文件,所以别漏掉哈。

#需要注意的是,如果你直接干掉了deleted文件夹,呵呵哒,你就相当于清空了回收站,而且是所有可访问该共享目录的用户,别问我是怎么知道的,我试了。

recycle:keeptree=Yes #删除文件时,是否保存原有文件夹层级结构(Yes表示是)
recycle:versions=Yes #删除文件时,遇到同名文件是否启用版本号功能,将文件标记为“Copy #x of”的形式
recycle:maxsize=0 #跟windows一样,回收站的最大空间是多少,单位是字节,0表示不限制。我设置的是0
recycle:exclude=*.tmp|*.bak #删除文件时,这些类型的文件将不会被放入回收站
recycle:noversions=*.doc #如果遇到同名文件,这个类型的文件会被直接覆盖掉

#号后面的是注释,配置文件的时候只输入#前面的就可以了,注释不会执行


第三步:重启samba

centos 5.x/6.x:service smb restart

centos 7 systemctl restart smb.service


完工!


samba回收站只是防止误删的一种措施,当然做好数据被反和谨慎操作还是很重要的。当然,如果你公司员工真的故意可以删除文件,或者真的没头没脑的把你的回收站目录给删了,那也就嗝屁了。


当然,这只是预防措施,有总比没有好。


写给对linux望而却步的朋友:学习linux是一种心态,顺其自然就好,每天积累一点点,其实linux也没啥难的,你会发现你最终会爱上它的。


你可能感兴趣的:(服务器配置)