루트 사용자도 삭제할 수 없는 파일을 만드는 방법은 무엇입니까?
답변1
간단한 대답: 그럴 수 없습니다. 루트는 모든 것을 할 수 있습니다.
chattr을 사용하여 "i" 속성을 설정할 수 있습니다(적어도 ext{2,3,4}에 있는 경우). 이렇게 하면 파일을 변경할 수 없게 되지만 루트는 속성을 설정 해제하고 파일을 삭제할 수 있습니다.
더 복잡하고 추악한 해결 방법: 루트를 변경할 수 없게 하려는 디렉터리를 원격 서버에 놓고 NFS 또는 SMB를 통해 마운트합니다. 서버가 쓰기 액세스를 제공하지 않으면 로컬 루트 계정이 잠깁니다. 물론 로컬 루트 계정은 파일을 로컬로 복사하고, 원격 콘텐츠를 마운트 해제하고, 복사본을 제자리에 두고 변경할 수 있습니다.
루트가 파일을 삭제하는 것을 막을 수는 없습니다. 파일을 그대로 유지하기 위해 루트를 신뢰할 수 없다면 기술적 문제가 아닌 사회적 문제가 있는 것입니다.
답변2
CD-ROM에 넣어보세요! ;)
(댓글을 달아야 하는데 할 수가 없네요...)
답변3
파일을 읽기 전용 파일 시스템에 저장하세요. 이는 루트가 더 이상 루트가 아닌 원격 FS, CD-ROM 또는 쓰기 방지가 가능한 SD 카드와 같은 이동식 장치일 수 있습니다.
답변4
이를 사용하여 chattr +i
파일을 변경할 수 없게 만들 수 있습니다.
물론, 루트 액세스 권한이 있는 능숙한 사용자는 여전히 chattr -i
불변 속성 제거를 사용한 다음 파일을 삭제할 수 있지만 여기에 나열된 액세스를 차단하려는 다른 시도를 취소할 수도 있습니다.
제 생각에는샤텔이를 수행하는 올바른 Unix 방식입니다.