如何创建用户不能删除的目录(但可以删除其中的文件)?

tok*_*tok 6 filesystem permissions samba directory

是否可以创建一个普通用户无法删除的目录,但他们可以创建和删除该目录内的文件和子目录?即为

/share/permanent/
Run Code Online (Sandbox Code Playgroud)

用户可以在目录中创建文件和目录/share/share/permanent但不能删除/share/permanent目录(也不能删除目录/share)。

/share应该是一个 samba 共享,所以smb.conf如果在文件系统上不可能,可以设置权限吗?

小智 1

在您的场景中,目录为 /share/permanent/

    mkdir -p /share/permanent
    chmod 755 /share
    chmod 777 /share/permanent
    sudo chown -R root:root /share
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为现在删除 /share/permanent 将被视为写入共享,而该共享只能由 root 写入。/share/permanent/ 任何人都可以写入和读取。

如果你想让人们只能删除他们拥有的文件,你可以使用 chmod 设置 +t 标志。