사용자 디렉토리를 다음과 같이 만들고 싶습니다.
- 사용자는 파일을 나열할 수 있습니다.
- 사용자가 파일을 읽을 수 있습니다.
- 사용자는 파일을 삭제할 수 있습니다
- 사용자가 파일을 추가할 수 없습니다.
- (이상적으로는 사용자가 파일을 수정할 수도 없습니다.
권한과 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
기본적으로 루트는 할당량을 초과할 수 있으므로 루트는 여기서 파일을 만들 수 있지만 다른 파일은 거부됩니다.
# 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
나머지는 그냥 일반적인 파일 권한입니다..