我已在 Samba 共享目录上应用了粘性位。现在客户端无法删除由 Samba 服务器的 root 创建的文件和目录,
问题是许多客户端访问 Samba 服务器共享的同一个目录,并且它们能够删除彼此的文件。我的意思是一个客户端创建的文件可以被其他客户端删除。
我怎样才能阻止客户端删除彼此的文件。
答案1
... 在 samba 共享目录上应用粘滞位 ... 客户端无法删除由 root 创建的文件和目录 ...
目录上的粘性位仅允许所有者删除该文件。
如果 root 帐户正在该目录中创建文件,则仅限根可以删除它们。
这正是粘滞位的设计目的。
...许多客户端访问同一个目录...能够删除彼此的文件...
您是否在 Samba 共享配置中设置了“强制用户”选项?
这将有效地提供全部文件通过共享创建同一所有者,无论实际创建它们的最终用户是谁,因此都会允许您描述的行为。
答案2
您需要设置目录和文件模式和/或访问控制列表 (ACL) 条目,以便相关组的成员有权写入(修改、删除)目录和/或文件。
至少需要 才能chmod g+w <directory>
使组成员能够从该目录中删除文件。另请参见在创建目录和文件之前umask
尝试执行的操作。使用 检查权限。umask 02
ls -al
对于 ACL(更好、更灵活的控制)检查Linux 访问控制列表— 调查getfacl
并setfacl
。