파일시스템의 파일 속성을 변경하여 관리자도 실수로 파일을 손상시키지 않도록 보호한다.
파일시스템에서의 파일 속성을 변경하는 명령어이다. 보호되어야만 하는 파일들을 실수로 지우거나 덧쓰는 경우가 없도록 하도록 하기 위한 방편이다.
+ 속성은 파일에 속성을 추가하고, - 속성은 파일에서 속성을 제거한다. = 속성은 파일이 오로지 주어진 속성만 갖도록 한다.
chattr +i 옵션으로 /etc/passwd에 i 속성을 부여해보자. 이는 파일을 지울수도 이름을 변경할 수도 내용을 추가할수도, 링크를 생성할 수도 없다.
lsattr 명령으로 변경된 속성들을 확인할 수 있다.
+i 속성이 부여된 /etc/passwd 파일을 삭제해 보자. 속성을 제거하기 전까지는 이를 삭제할 수는 없다. 마찬가지로 파일 내용 변경도 불가능하다. vi 에디터로 파일을 열어도 읽기전용으로 수정이 불가능하게 되는 것이다.
그럼, 이 -i 속성을 /etc/passwd 파일에서 제거해 보자.
이후에는 이 파일을 수정하거나 제거할 수 있다.
[관련 명령어]
lsattr 리눅스 파일시스템의 파일 속성을 보는 명령어
사용법 : chattr [옵션] 속성파일... -R : 디렉토리와 그 이하 모든 속성을 변환시킨다. -V : 변화된 속성에 대하여 자세히 출력한다. -v : 버전을 볼 수 있다. a : 파일을 추가모드로만 열 수 있다. c : 커널에 의해 디스크 상에 압축 상태로 저장된다. d : dump 명령 수행 시 백업되지 않는다. I : 파일을 수정할 수 없다. 오직 수퍼유저만이 다시 이 속성을 변경 가능하다. s : 파일이 지워질 때 일단 블럭들이 모두 0이 된 다음 디스크에 기록된다. S : 파일이 수정될 때 그 변화가 디스크 상에 동기화된다. u : 파일이 지워지면 내용이 저장된다.
파일시스템에서의 파일 속성을 변경하는 명령어이다. 보호되어야만 하는 파일들을 실수로 지우거나 덧쓰는 경우가 없도록 하도록 하기 위한 방편이다.
+ 속성은 파일에 속성을 추가하고, - 속성은 파일에서 속성을 제거한다. = 속성은 파일이 오로지 주어진 속성만 갖도록 한다.
chattr +i 옵션으로 /etc/passwd에 i 속성을 부여해보자. 이는 파일을 지울수도 이름을 변경할 수도 내용을 추가할수도, 링크를 생성할 수도 없다.
# chattr +i /etc/passwd
lsattr 명령으로 변경된 속성들을 확인할 수 있다.
# lsattr /etc/passwd ---i---------- /etc/passwd
+i 속성이 부여된 /etc/passwd 파일을 삭제해 보자. 속성을 제거하기 전까지는 이를 삭제할 수는 없다. 마찬가지로 파일 내용 변경도 불가능하다. vi 에디터로 파일을 열어도 읽기전용으로 수정이 불가능하게 되는 것이다.
# rm -rf /etc/passwd rm: cannot unlink /etc/passwd': Operation not permitted
그럼, 이 -i 속성을 /etc/passwd 파일에서 제거해 보자.
# chattr -i /etc/passwd # lsattr /etc/passwd -------------- /etc/passwd
이후에는 이 파일을 수정하거나 제거할 수 있다.
[관련 명령어]
lsattr 리눅스 파일시스템의 파일 속성을 보는 명령어