![사용자에게 디렉터리에 대한 쓰기 권한을 부여하지 않고 파일을 삭제할 수 있는 기능을 부여합니다.](https://linux55.com/image/111132/%EC%82%AC%EC%9A%A9%EC%9E%90%EC%97%90%EA%B2%8C%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%97%90%20%EB%8C%80%ED%95%9C%20%EC%93%B0%EA%B8%B0%20%EA%B6%8C%ED%95%9C%EC%9D%84%20%EB%B6%80%EC%97%AC%ED%95%98%EC%A7%80%20%EC%95%8A%EA%B3%A0%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EA%B8%B0%EB%8A%A5%EC%9D%84%20%EB%B6%80%EC%97%AC%ED%95%A9%EB%8B%88%EB%8B%A4..png)
현재 홈 디렉터리에 "업로드" 디렉터리와 "다운로드" 디렉터리가 포함된 chroot 사용자가 있습니다.
디렉터리를 업로드할 수 있는 원래 권한은 어디에 있나요?
chown user:sftpadmin upload
chmod 370 upload
그리고 다운로드 디렉토리의 권한
chown user:sftpadmin download
chmod 570 dowload
sftpadmins 그룹의 목적은 이 그룹의 구성원인 서비스 계정이 해당 디렉터리에서 사용자를 위한 파일을 배치/검색할 수 있도록 하는 것입니다.
이제 사용자가 다운로드 디렉터리에서 파일 사용을 마친 후 파일을 삭제할 수 있도록 허용하는 요청이 있습니다. 그러나 내가 생각할 수 있는 유일한 옵션은 다운로드 디렉터리의 권한을 다음으로 설정하는 것입니다.
chmod 770 download
그러나 이렇게 하면 chroot 사용자에게 이 디렉터리에 어떤 파일이든 쓸 수 있는 권한이 부여되는데, 저는 이를 피하고 싶습니다.
디렉터리에 있는 파일을 읽고, 다운로드하고, 삭제할 수는 있지만 다운로드 디렉터리에 파일을 쓸 수는 없도록 설정할 수 있는 권한 조합이 있습니까?
그것은 다음과 같습니다:
- 사용자가 파일을 삭제(삭제)할 수 있도록 허용
- 사용자는 파일을 변경할 수 없습니다.
- 사용자는 디렉터리에 파일을 추가할 수 없습니다.
답변1
상황에 따라 다릅니다.
파일을 삭제하려면 포함 디렉터리에 대한 쓰기 권한을 추가하는 것과 동일한 권한이 필요하기 때문에 이는 표준 posix 권한을 사용하여 불가능합니다.
그러나 파일 시스템이 NFSv4 액세스 제어 목록(예: ZFS)을 지원하는 경우 "데이터 쓰기"(-> 파일 생성) 및 하위 키 삭제에 대한 제어 항목이 다르기 때문에 이것이 가능합니다. "데이터 쓰기 허용" 항목 대신 특정 사용자에 대해 디렉터리에서 "하위 키 삭제 허용" 항목을 설정하면 됩니다(또는 대신 "데이터 쓰기 거부" 설정).
바라보다https://linux.die.net/man/5/nfs4_acl상세 설명
답변2
기본적으로 그렇습니다. 다음 특전의 조합입니다.
- 파일 삭제를 허용합니다.
- 파일 변경은 허용되지 않습니다.
파일 삭제 및 추가는 디렉터리 권한으로 정의되지만 파일 수정은 파일 권한으로 정의됩니다.
예:
➜ example mkdir -pv sample ➜ example touch sample/file.txt ➜ example chmod 0700 sample; chmod 0400 sample/file.txt ➜ example echo 'sample' > sample/file.txt zsh: permission denied: sample/file.txt ➜ example rm -f sample/file.txt ➜ example