首页主机资讯CentOS回收站如何共享

CentOS回收站如何共享

时间2025-11-26 14:08:04发布访客分类主机资讯浏览300
导读:Samba回收站共享的实现 在 CentOS 上并不存在系统级的“回收站”概念,但可以通过 Samba 的 VFS recycle 模块为每个共享启用回收站,使通过 SMB 删除的文件按用户或共享集中暂存,便于误删恢复与统一清理。该机制是在...

Samba回收站共享的实现

CentOS 上并不存在系统级的“回收站”概念,但可以通过 Samba 的 VFS recycle 模块为每个共享启用回收站,使通过 SMB 删除的文件按用户或共享集中暂存,便于误删恢复与统一清理。该机制是在共享层实现,客户端(如 Windows)删除文件时会被 Samba 转入回收站目录,而非直接 rm 到磁盘。

前提准备

  • 安装 Samba 组件(示例以 CentOS 7 为例):sudo yum install -y samba samba-client samba-common
  • 创建共享根目录并设定权限(示例:/data/share),确保运行 Samba 的用户(常见为 smbuser 或共享目录属主)对该目录具备读写权限。
  • 如需面向 Windows 客户端访问,建议统一工作组(如 WORKGROUP)并准备可登录的 Samba 账户。

配置步骤

  1. 编辑 Samba 主配置 /etc/samba/smb.conf,在 [global] 下确保有用户级认证与安全设置,然后在共享段启用 VFS recycle。示例:

[global] workgroup = WORKGROUP security = user passdb backend = tdbsam …

[shared] path = /data/share browseable = yes read only = no valid users = alice,bob create mask = 0775 directory mask = 0775 vfs objects = recycle recycle:repository = .deleted/%U recycle:keeptree = Yes recycle:versions = Yes recycle:maxsize = 0 recycle:exclude = .tmp|.bak recycle:noversions = *.doc

说明:

  • recycle:repository 指定回收站根目录,使用 %U 可按登录用户分目录存放(如 .deleted/alice、.deleted/bob),避免互相覆盖。
  • keeptree 保留删除时的目录结构;versions 同名文件保留版本;maxsize=0 表示不限制回收站容量(可按需设置上限);exclude/noversions 用于过滤或指定不保留版本的文件类型。
  1. 创建回收站根目录并修正属主属组(与共享目录保持一致,示例属主/组为 smbuser:smbgroup):
  • mkdir -p /data/share/.deleted
  • chown -R smbuser:smbgroup /data/share/.deleted
  • chmod 0770 /data/share/.deleted
  1. 创建 Samba 用户并设置密码:
  • smbpasswd -a alice
  • smbpasswd -a bob
  1. 启动/重启 Samba 服务并放行防火墙:
  • systemctl enable --now smb nmb
  • firewall-cmd --permanent --add-service=samba & & firewall-cmd --reload

客户端访问与验证

  • Windows:在资源管理器地址栏输入 \服务器IP\shared,使用 alice/bob 登录后执行删除操作;随后在共享根目录可见隐藏文件夹 .deleted,其下按用户子目录(如 .deleted/alice)存放被删除文件,结构与权限保持原样,便于还原。
  • Linux:可通过 smbclient //服务器IP/shared -U alice 登录验证删除后 .deleted 是否生成并包含对应文件。

运维与注意事项

  • 权限与 SELinux:回收站目录的属主/属组应与共享目录一致;若遇到写入或可见性问题,检查 SELinux 是否限制(必要时设为 permissive 或配置相应布尔值/策略)。
  • 容量与清理:当 recycle:maxsize 不限制或为较大值时,建议定期清理旧文件,例如在 /etc/crontab 加入:30 8 * * * root find /data/share/.deleted/ -mtime +30 -exec rm -rf { } ; (按 30 天保留示例)。
  • 共享粒度:建议每个共享单独配置回收站目录,便于权限与配额管理,避免不同业务或用户之间的回收内容互相影响。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS回收站如何共享
本文地址: https://pptw.com/jishu/756678.html
centos xrender如何配置才合理 CentOS回收站能还原吗

游客 回复需填写必要信息