728x90

chattr(change attribute)는 리눅스에서 파일 또는 디렉터리에 특수속성을 설정하거나 해제하는데 사용하는 명령어입니다.

이 속성은 일반적인 권한 시스템보다 더 세밀하게 파일의 동작을 제어할 수 있게 해주며, 주로 ext2, ext3, ext4 파일 시스템에서 사용됩니다.

 

 

기본 사용법

chattr [옵션] [+/-/=속성] 파일명

 

예시:

chattr +i important.txt

 

 

chattr 주요 속성 목록

속성 의미
a Append Only(추가만 허용) - 기존 내용 수정 불가
i Immutable(변경 불가) - 삭제, 이름변경, 내용 변경 모두 금지 
d Dump 무시 - 백업 시 dump 명령이 무시됨
u Undeletable(복구 가능 삭제) - 삭제 후 복구 가능(일부 시스템에서만 지원)
s Secure deletion - 삭제 시 디스크 블록을 0으로 덮어씀
e Extends - ext4에서 extent 기반 저장 구조 사용 표시
c  Comppressed - 파일 자동 압축 저장
j Journaled - ext3에서 데이터 journaling 적용

 

+/-/= 사용법

  • + : 속성 추가
  • - : 속성 제거
  • = : 해당 속성만 설정하고 나머지는 제거

예시

chattr +a mylogfile		# 추가만 허용
chattr -i config.yaml	# 변경 불가 속성 해제
chattr =a file.txt		# append 속성만 설정하고 나머지는 모두 제거

 

현재 속성 확인 - lsattr

lsattr [옵션] 파일명

 

예시:

lsattr important.txt

 

출력 예시

----i--------e-- important.txt

 

 

+i 속성의 효과

chattr +i file.txt

 

i 속성이 설정된 경우

  • 파일 삭제 불가
  • 내용 수정 불가
  • 이름 변경 불가
  • 심지어 root도 직접 변경 불가

속성 제거

chattr -i file.txt

 

주의사항

  • chattr은 일반 사용자에게 제한됨. 보통 root 권한 필요
  • ext4 파일 시스템에서 동작. XFS, Btrfs 등에서는 일부 속성이 비지원
  • 백업 및 복구 도구에서 이 속성이 영향을 줄 수 있음

 

실전 예제

1. 로그 파일을 append-only로 만들기

chattr +a /var/log/secure

 

2. 중요 설정 파일을 보호

chattr +i /etc/passwd

 

 

3. 복원 준비를 위해 삭제 복구 속성 추가

(해당 기능은 일부 시스템만 지원)

chattr +u important_backup.tar.gz

 

728x90

+ Recent posts