chattr로 파일 속성을 어떻게 관리하나요?
💡 요약 정리
- chattr 명령어는 리눅스에서 파일 또는 디렉토리에 특수 속성을 설정하는 데 사용됩니다.
- 속성 변경을 위해
+,-,=기호와 함께 특정 속성 문자를 조합하여 사용합니다. -R,-V,-f옵션으로 디렉토리 전체 적용, 결과 보기, 에러 무시 설정이 가능합니다.- 파일 에 부여된 속성은 lsattr 명령어로 확인할 수 있습니다.
1. chattr 명령어 사용 방법
chattr(change attribute)은 리눅스 파일시스템에서 파일의 숨은 속성을 변경하는 명령어입니다.
chattr [옵션] +-=속성 파일 or 디렉토리
chattr -RVf +-=ASacDdIijsTtu file or directory
주요 옵션
-R: 디렉토리의 속성을 변경할 때, 하위 디렉토리의 모든 파일에 적용됩니다.-V: chattr 버전과 함께 결과를 보여줍니다.
기호의 의미
+: 지정한 속성을 추가합니다.-: 지정한 속성을 삭제합니다.=: 기존 속성을 초기화하고 지정된 속성만 설정합니다.
속성 종류
A: 파일이 접근(access)될 때 atime(접근 시간)이 변경되지 않도록 제한합니다.a: 파일 내용이 append(추가)만 가능하도록 합니다.vi로는 수정되지 않으며,>>처럼 리디렉션으로만 추가할 수 있습니다.
i: immutable 속성으로, 가장 많이 사용되는 설정입니다.- 파일의 추가, 변경, 삭제 모두 불가능합니다.
- root 계정조차도 삭제와 변경이 불가능합니다.
2. chattr 명령어 사용 예
시스템 설정 보호 또는 특정 파일 변경 금지용으로 chattr을 사용한 예시는 다음과 같습니다.
[root@localhost ~]# chattr +i /etc/passwd
/etc/passwd파일에 변경 및 삭제 불가 속성 부여
[root@localhost ~]# lsattr /etc/passwd
----i-------- /etc/passwd
lsattr명령으로 설정된 속성 확인
[root@localhost ~]# chattr -i /etc/passwd
[root@localhost ~]# lsattr /etc/passwd
------------- /etc/passwd
- 변경 및 삭제 불가 속성 제거 후
lsattr로 확인
디렉토리 전체에 immutable 속성 적용
[root@localhost home]# chattr +i -R /home/jook
/home/jook디렉토리와 그 하위 디렉토리/파일 전체에 변경 및 삭제 불가 속성 부여
결과를 함께 확인하는 방식
[root@localhost ~]# chattr +i -V /home/jook
chattr 1.39 (29-May-2006)
Flags of /home/jook set as ----i--------
-V옵션을 사용해 속성 부여 결과를 확인하며 immutable 속성이 적용된 것을 확인할 수 있습니다.