sudo 권한 없이 파일이 수정되는 것을 방지하는 방법

sudo 권한 없이 파일이 수정되는 것을 방지하는 방법

이전에 이 질문을 받은 적이 있어서 죄송합니다. 답변을 찾을 수 없습니다. 만약 내가한다면:

touch file.txt
chomd 444 file.txt

원칙적으로 모든 사람(ROOT 제외)은 파일을 읽을 수만 있습니다. 하지만 이렇게 하면:

rm file.txt

다음과 같이 표시되어 있어도 파일을 삭제할 수 있습니다.

rm: remove write-protected regular empty file 'file.txt'? y

보호받고 있다고 해도 말이죠. 실제로 이 파일을 보호할 수 있는 방법이 있나요? 나는 그것을 할 수 있는 사람을 본 적이 있지만 chattr +i file.txt이것은 당신이 그것을 할 수 있는 경우에만 작동합니다 sudo. 나는 관리자가 아닙니다(예: 99%의 사용자).

건배.

답변1

Unix 파일 시스템에서는 파일을 실제로 삭제하지 않고 "링크 해제"합니다. 파일 데이터는 "inode"에 있고 디렉토리에는 해당 inode에 대한 참조가 있습니다(이것이 "하드 링크"를 가질 수 있는 이유입니다. 여러 디렉터리의 동일한 inode에 대한 여러 참조). 마지막 참조가 사라지면 inode가 파괴되고 공간이 복원됩니다.

rm상위 디렉터리의 참조를 제거하고 파일이 아닌 해당 상위 디렉터리에 대한 쓰기 권한을 의미합니다. 따라서 파일 참조를 보호하려면 디렉터리에 대한 쓰기 권한을 제거해야 합니다.

관련 정보