禁用 samba 共享的 .recycle 功能

禁用 samba 共享的 .recycle 功能

当我的公司文件服务器被占满时,我非常害怕。

找到源头后,我发现有一个 .recycle 文件夹,里面保存着所有被删除的文件(这个文件夹也是隐藏的)

有什么办法可以禁用该功能吗?

或者定期运行删除所有垃圾的命令?

编辑

我的 smb.conf 示例

 [homes]
            comment = Home
            path = /home/%S/smbhome
            browseable = no
            writable = yes
            read only = no

 -->*          veto files = /.recycle/
 -->           vfs objects = recycle
 -->                   recycle:keeptree=True
 -->                   recycle:versions=True
 -->                   recycle:touch=True
            hide dot files = yes

            force directory mode = 0770
            force create mode = 0660
            force group = grp-it

            valid users = @grp-it, %S
            invalid users =

我应该注释掉这些行吗?

那么 VETO 文件呢?(标有 *)

答案1

你已经得到了桑巴舞回收插件已配置。当通过 Samba 共享删除文件时,这会将文件复制到 .recycle 目录。

该插件使用vfs objects中的 share 配置选项smb.conf。要禁用它,请找到vfs objects配置选项并recycle从值中删除(如果它仅引用),请完全删除该选项recycle)。您还需要删除所有以 为前缀的选项recycle:

我们使用如下的每日 cron 作业来删除 .recycle 中超过 10 天的文件并清理空目录:

#!/bin/sh

for d in /home/*/.recycle 
do
  if [ -d "$d" ]
  then
    tmpreaper --mtime-dir --symlinks 10d "$d"
    find "$d" -depth -mindepth 1 -type d -print0 | xargs --null --no-run-if-empty rmdir --ignore-fail-on-non-empty
  fi
done

此脚本使用收割者包裹。

veto files该选项阻止用户.recycle通过文件共享查看或访问目录。

如果要禁用 Recycle 插件,请删除或注释掉除 行之外的所有突出显示的行veto files。要允许用户查看和访问名为 的目录.recycle,请也删除或注释掉veto files行。

相关内容