저는 Debian 7 서버를 실행 중이고 다음과 같은 시나리오가 있습니다(예제 이름).
사용자:
- 폴:폴
- 존 폴
디렉토리: /home/paul/디렉토리
- 파일 W(소유자 paul, 그룹 paul, 권한: 0770)
- 파일 X(소유자 paul, 그룹 paul, 권한: 0700)
- 파일 Y(소유자 paul, 그룹 paul, 권한: 0700)
- 파일 Z(소유자 john, 그룹 paul, 권한: 0770)
사용자 john은 "파일 Z"를 삭제할 수 있어야 하지만 "파일 X" 또는 "파일 Y"는 삭제할 수 없습니다. 또한 "파일 W"를 편집하고 삭제할 수 있는 권한도 있어야 합니다.
간략한 설명: 그는 자신의 파일만 삭제할 수 있어야 하며 해당 권한이 있는 모든 파일을 편집할 수 있어야 합니다.
지정된 파일에서 디렉터리의 삭제 비트를 사용하는 솔루션을 찾고 있습니다. "chattr" 옵션은 루트 권한으로 아무 작업도 수행할 수 없으므로 옵션이 아닙니다.
누구든지 아이디어가 있나요?
답변1
POSIX 보안 모델에서 파일을 삭제하려면 해당 파일에 대한 쓰기 권한만 있으면 됩니다. 상위 디렉토리. 따라서 "john" 계정 +w
에 /home/john/Directory에 대한 권한이 있으면 항상 내부의 파일을 삭제할 수 있습니다.
그러나 한 가지 예외는 "고정"/"제한된 삭제" 모드입니다. 설정할 때+t
디렉터리에서는 파일 삭제가 제한됩니다.오직파일 소유자 또는 디렉토리 소유자에게. (예를 들어, /tmp
이런 식으로 작동합니다.) 따라서 만약chmod +t
그리고chown root
디렉터리에서 예상한 결과를 얻어야 합니다.