我想要用户目录出现以下情况:
- 用户可以列出文件
- 用户可以读取文件
- 用户可以删除文件
- 用户无法添加文件
- (理想情况下,用户也不能修改文件
我无法想出一种方法来使用权限和 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
其余的只是正常的文件权限..