읽기 전용 권한으로 파일 강제 저장 중지

읽기 전용 권한으로 파일 강제 저장 중지

현재 에 스크립트 파일이 있고 sudoers보안상의 이유로 파일을 읽기 전용으로 만들고 싶습니다. 그래서 다음 chmod를 실행했습니다.

chmod 555 test.sh

이제 파일의 권한이

-r-xr-xr-x  

그러나 이 파일을 vi로 이동하면 이라고 되어 있지만 W10: Warning: Changing a readonly file여전히 "w!"를 사용하여 강제로 저장할 수 있습니다. 일반 사용자가 이 파일에 전혀 쓸 수 없도록 강제 저장을 비활성화하려면 어떻게 해야 합니까?

답변1

Linux 시스템에서 변경할 수 없는 파일 속성 설정샤텔.

sudo chattr +i file

"i" 속성이 있는 파일은 수정할 수 없습니다. 삭제하거나 이름을 바꿀 수 없고, 파일에 대한 링크를 만들 수 없으며, 파일의 메타데이터 대부분을 수정할 수 없으며, 파일을 쓰기 모드로 열 수 없습니다. 수퍼유저 또는 CAP_LINUX_IMMUTABLE 기능이 있는 프로세스만 이 속성을 설정하거나 지울 수 있습니다.

lsattr파일의 속성을 나열 하는 데 사용됩니다 .

lsattr -l myfile
myfile    Immutable

단점은 슈퍼유저(루트)라도 파일에 쓸 수 없다는 것입니다. 먼저 변경할 수 없는 속성을 제거해야 합니다.

sudo chattr -i file

macOS에서는chflags명령은 불변 플래그를 설정하고 재설정하는 데 사용됩니다. 설정:

chflags uchg file

설정을 해제하거나 지우려면 다음을 수행하세요.

chflags nouchg file

이러한 작업은 파일 소유자 또는 수퍼유저가 수행할 수 있습니다.

macOS의 경우 설정 시 변경할 수 없는 플래그를 -Ol표시하려면 플래그를 사용하세요 ls.uchg

관련 정보