能不能禁止群晖上文件所有者删除自己建的文件?先看这篇再折腾权限
场景
设计公司的文件服务器迁到群晖后,老板提了个需求:图纸文件夹里,员工自己上传的文件不许他自己删——防误删,也防离职前一键清空。管理员在权限编辑器里翻了一圈,想把「删除」对创建者禁掉,结果发现怎么设都不严实。这篇就把这件事的结论和原理讲透:在群晖上,无法真正禁止文件/文件夹所有者删除他们自己创建的文件。
为什么做不到:先看删除权限从哪来
在 ACL 权限模型里,一个用户能删除文件或文件夹,只需要满足两条之一:
- 对要删除的文件/文件夹本身拥有「删除」权限;
- 对其父文件夹拥有「删除子文件夹和文件」权限。
看起来,只要把这两项都明确拒绝(显式 Deny),删除通道就堵死了。但问题出在「所有者」这个身份上。
所有者的三项固有权限
即便你为文件/文件夹所有者明确拒绝了上述权限,根据系统设计,他们仍然被授予:
- 读取权限;
- 更改权限;
- 取得所有权。
关键在第二条:所有者能够读取并更改文件/文件夹的权限设置,所以他随时可以进入权限编辑器,给自己重新授予「删除」权限,把刚才的拒绝推翻。堵得住一时的权限位,堵不住所有者改权限的手。这就是「无法禁止所有者删除自己创建的文件」的根本原因——不是功能缺失,而是权限模型的设计使然。
顺带说明:Windows 计算机上的文件/文件夹所有者同样能读取和更改自己所建对象的权限,群晖 NAS 与 Windows 在这一点上行为一致。想在两边的文件服务器上做这种限制,结果都一样。
那真正的防线是什么
既然权限挡不住删除,防误删、防恶意删要换思路,靠的是「删了也能找回来」:
- 给共享文件夹启用回收站,删除先进回收站,误删可自行还原;
- 用快照按计划留存共享文件夹的时间点状态,批量误删或恶意清空后可以整卷回滚到任意时间点;
- 再叠加定期备份,把副本放到另一台设备上,应对更极端的情况。
验证方式也简单:测试账号删一个文件,分别从回收站和快照两条路还原,确认策略真的闭环。
一个坑
最忌讳的是为了「防删除」在权限里堆大面的显式拒绝——拒绝权限优先级高于允许,配置不当会把正常业务操作(重命名、移动、覆盖保存)一起挡掉,而且排查起来非常难缠。权限该管的是「谁能看、谁能改」,「删了能不能救」交给回收站、快照和备份。
小结
「禁止所有者删除自己的文件」在群晖上做不到,这是与 Windows 一致的权限设计;正确的做法是回收站加快照加备份的组合防线。企业文件服务的权限体系与防误删方案设计,贵州的中小企业可以联系诚鑫致达科技协助落地。