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 ...

관련 정보