본문 바로가기
Studying

[리눅스] 파일 속성 변경 명령어 (chattr,lsattr)

by 후회없는일상 2021. 9. 15.

chattr

요약 파일시스템의 파일 속성을 변경하여 파일 손상을 방지한다.

 

 

chattr [옵션] [±속성] 파일 ···

-R : 현재 디렉터리 이하의 모든 디렉터리와 파일의 속성을 변환한다.
-V : 변환된 속성의 자세한 정보를 출력한다.
-v : 버전 정보를 출력한다.

속성
a : 파일을 추가 모드로만 열 수 있다.
c : 커널에 의해 디스크 상에 압축 상태로 저장한다.
d : dump 명령 수행 시 백업하지 않는다.
i : 파일의 수정을 방지한다. 오직 수퍼 유저만이 다시 이 속성을 변경할 수 있다.
s : 파일이 지워질 때 일단 블록들이 모두 0이 된 다음 디스크에 기록한다.
S : 파일이 수정될 때 그 변화가 디스크 상에 동기화한다.
u : 파일이 지워지면 내용을 저장한다.

 

설명 및 예제

파일시스템의 파일 속성을 변경하는 명령어이다. 보호해야 하는 파일을 실수로 지우거나 덧쓰지 않게 한다. + 속성은 파일에 속성을 추가하고, - 속성은 파일에서 속성을 제거한다. =속성은 파일이 오로지 주어진 속성만 갖도록 한다.

chattr +i 명령으로 /root/passwd_backup 파일에 수정 방지 속성을 부여해 보자. 이 속성을 추가하면 파일을 지우거나 이름을 변경하지 못하며, 내용의 추가나 링크를 생성할 수도 없다.

lsattr 명령으로 파일 속성을 확인할 수 있다.

/root/passwd_backup 파일을 삭제해 보자. 속성을 제거하기 전까지는 삭제할 수는 없다. 마찬가지로 파일 내용 변경도 불가능하다. VI 에디터로 파일을 열어도, 읽기 전용으로 열린다.

TIP

① 이 명령어는 reiserFS 파일시스템에서는 제대로 동작하지 않을 수 있다. ext2, ext3 파일시스템에서는 문제없이 실행된다.

② 경험이 적은 관리자는 크래커가 설치한 백도어에 이 속성이 걸려 있을 경우 삭제하지 못해 난처해하기도 한다. 수상한 파일을 관리자의 권한으로도 삭제하거나 수정할 수 없다면 반드시 lsattr을 사용하여 확인해 보자.

그럼 chattr-i로 수정 방지 속성을 제거해 보자.

 

댓글