Samba 共享权限:允许创建文件,但不允许编辑/删除

Samba 共享权限:允许创建文件,但不允许编辑/删除

我想要创建一个 Samba 共享(我的 NAS 在 Linux 上运行),其中用户可以执行以下操作:

  • 创建新文件和新文件夹

并且或不允许:

  • 删除或编辑文件或文件夹

由于 Linux 只有 rwx 权限,而没有区分“写入”和“重写”,我想知道这是否可能。

(虽然操作系统和上下文不同,但我想要类似的东西允许用户创建文件但不允许编辑和删除文件。此外,用户添加的文件夹也应遵循相同的规则:不得更改/删除其中的文件/文件夹)

答案1

有几个半答案这里这里,我认为这已经是最接近的结果了。

基本上,您需要将文件的所有者设置为非 Samba 用户,并将文件的组设置为 Samba 用户不是其成员的组(如果需要,您可以创建一个虚拟组)。

chown -R root:emptygroup * /path/to/dir/

然后将文件的粘滞位设置为 1:

chmod -R 1777 /path/to/dir/

限制删除标志或粘滞位

限制删除标志或粘滞位是一个位,其解释取决于文件类型。 对于目录,它可以阻止非特权用户删除或重命名目录中的文件,除非他们拥有该文件或目录; 这被称为目录的受限删除标志,通常在 /tmp 等可全球写入的目录中找到。

链接的帖子讨论了需要安排一个 cron 作业来设置新创建文件的权限,但在您的 smb.conf 文件中,您可以放入以下几行来解决这种情况:

inherit owner=yes
inherit permissions=yes

相关内容