我和一些朋友是我们当地大学的网络管理员。我们的职责包括管理在运行最新 Debian 的台式机上构建的小型 NAS。
用户群体(大约 300 人)相当多样化,从像我们这样的网络管理员级别的人员到几乎无法打开笔记本电脑的普通人。
目前我们通过两种方式实现共享:
- 通过 apache2 进行 Web 界面,只读
- samba 共享、读取和写入
我们从未真正担心 Linux 用户在本地机器上安装共享后会意外清除整个 NAS,因为 Linux 并不常见,而且我们信任 Linux 用户。
最近这个蒸汽虫出现在 slashdot 上,我们非常担心,特别是因为我们其中一个人在他的 arch 桌面上使用 steam。
Steam 很快就会修复,但问题仍然存在。我怀疑这种失误可能很常见,如果不是,我认为找到一种更好、更安全的文件夹共享方式是个好主意。
由于预算有限,备份不是一个选择,不授予 samba 用户写入权限也不好,因为文件会被移动、重命名和删除,而我们不是靠这样做谋生的,也没有时间这样做。
TL,DR:我们希望找到一种方法来共享一个授予用户读写权限的 Debian 文件系统,但以某种方式保护文件免遭意外删除,例如“rm -rf /”。用户群使用 Windows、*nix 和 Mac OS,因此某些特定于操作系统的解决方案不会有什么用处。我们目前使用 Samba,但我们愿意接受不同的解决方案。
答案1
有一个 VFS samba 对象实现了回收站:
The vfs_recycle intercepts file deletion requests and moves the affected files to a
temporary repository rather than deleting them immediately. This gives the same effect as
the Recycle Bin on Windows computers.
我添加的就像这样简单(在共享定义中):
vfs objects = recycle
但是,您确实应该考虑一些不那么遗留的东西,以便以低成本的方式保存目录树和文件的原始状态。我建议您开始使用 ZFS 及其快照。这真的很简单、强大、体面且灵活。