我们为数据库中的每个客户记录创建一个目录或文件夹,以便可以将文档保存到该文件夹中,以便通过客户记录(换句话说,文档管理系统)进行访问。
问题是用户总是不小心将文件夹拖放到其他地方。
我无法阻止写入访问,因为用户应该继续能够在该文件夹中创建文件。我只需要阻止文件夹被移动。
答案1
如果您设置粘性位在文件夹上,任何用户都可以创建文件,但只有文件的所有者可以删除/重命名/移动它。
SELinux
将文件夹放在服务器上,这样它们只能复制或添加而不能移动。假设每个文件夹有一台客户端计算机。用户无法移动 smb 共享的根目录。
使用 Web 界面(或 WebDav)来管理客户端与文件/文件夹的交互。
答案2
放置一个粘性位在父目录上,仅将其呈现为附加:
$ sudo chmod +t parent_directory/
现在,继续将子目录的所有权更改为root
.这使得子目录不可移动。集团所有权无关紧要。
$ sudo chown root: parent_directory/child_directory
但请注意,这无法防止child_directory
被不拥有 的用户删除child_directory
。