파일시스템의 파일 속성을 변경하여 관리자도 실수로 파일을 손상시키지 않도록 보호한다.

사용법 : 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 리눅스 파일시스템의 파일 속성을 보는 명령어
2005/06/21 21:10 2005/06/21 21:10

트랙백 주소 :: 이 글에는 트랙백을 보낼 수 없습니다