dir 权限:删除包含的文件,但不能创建或写入文件

dir 权限:删除包含的文件,但不能创建或写入文件

我想要用户目录出现以下情况:

  • 用户可以列出文件
  • 用户可以读取文件
  • 用户可以删除文件
  • 用户无法添加文件
  • (理想情况下,用户也不能修改文件

我无法想出一种方法来使用权限和 xattrs 来做到这一点。有什么想法吗?使用的文件系统类型是 NFS v3 和 GPFS。操作系统是RHEL 7 Linux。

答案1

我们可以使用文件集配额来解决这个问题。使目录成为文件集:

cd /gpfs/gpfs0/subdirectoryY/
mmcrfileset gpfs0 testfileset
mmlinkfileset gpfs0 testfileset

创建所需的所有文件,然后将文件集的文件数配额设置为 1:

# mmsetquota gpfs0:testfileset --files 1:1 

默认情况下root可能会超出配额,因此root可以在这里创建文件,但其他的会被拒绝:

# touch testfileset/file1 testfileset/file2 testfileset/file3

# chown nobody testfileset
# sudo -u nobody touch testfileset/file4 testfileset/file5 testfileset/file6
touch: cannot touch 'testfileset/file4': Disk quota exceeded
touch: cannot touch 'testfileset/file5': Disk quota exceeded
touch: cannot touch 'testfileset/file6': Disk quota exceeded

其余的只是正常的文件权限..

相关内容