Linux에서 쓰기 권한을 제공할 때 사용자가 파일 이름을 바꾸는 것을 방지하는 방법 [닫기]

Linux에서 쓰기 권한을 제공할 때 사용자가 파일 이름을 바꾸는 것을 방지하는 방법 [닫기]

특별한 목적으로 Linux 서버의 루트가 아닌 사용자가 파일 이름을 변경하거나 이름을 바꾸는 것을 방지하고 싶습니다. 그러나 파일 내용을 수정하고 쓸 수는 있습니다. 명령줄에서 이를 수행하는 방법.

답변1

파일 이름을 바꾸려면 파일의 쓰기 권한은 중요하지 않습니다. 파일 이름을 바꾸면 파일이 아니라 디렉터리가 변경됩니다. 이렇게 하면 디렉터리 항목이 파일의 다른 이름을 가리키도록 변경됩니다.

따라서 여러분이 해야 할 일은 디렉터리의 권한을 변경하는 것뿐입니다. 예를 들어:

chown root: .
chmod 755 .

이렇게 하면 사용자가 파일 이름을 바꾸거나 파일을 생성하거나 삭제할 수 없습니다. 여전히 이 작업을 수행할 수 있도록 하려면 디렉터리를 쓰기 가능하게 만들고 해당 t비트도 설정할 수 있습니다. 이 비트가 설정되면 사용자(무제한 디렉터리 소유자 제외)는 자신이 소유한 파일을 삭제하거나 이름을 바꿀 수만 있습니다.

chown root:people-who-can-create-file-here .
chmod 1775 .
chown root:people-who-can-modify-the-files file1-that-must-not-be-rename ...
chmod 664 file1-that-must-not-be-rename ...

관련 정보