시스템(Linux)

chattr (change attribute) & lsattr (list attribute)명령어에 대해 알아보겠습니다.

forward error correction Circle 2025. 12. 15. 08:22
반응형

Ⅰ. chattr (change attribute) & lsattr (list attribute) 개요

 리눅스 파일 시스템에서는 일반적인 권한(permission) 외에도 파일의 동작 방식을 제어하는 확장 속성(attribute) 이 존재합니다.
chattr와 lsattr는 이러한 파일 속성을 설정하거나 확인하기 위한 관리 명령어로, 특히 보안 강화, 시스템 파일 보호, 운영 안정성 확보 목적으로 활용됩니다.

ⅰ. chattr (Change Attribute)
파일 또는 디렉터리의 속성을 변경하는 명령어
ⅱ. lsattr (List Attribute)
파일 또는 디렉터리에 설정된 속성을 조회하는 명령어


이들 명령어는 주로 ext2, ext3, ext4 파일 시스템에서 사용됩니다.

Ⅱ. chattr (change attribute) 명령어

 ⅰ. chattr 명령어란?
 파일이나 디렉터리에 대해 읽기/쓰기/삭제 여부, 수정 가능성 등을 제어하는 파일 속성(attribute) 을 설정하는 명령어입니다.
일반 권한(chmod)보다 더 강력한 제어 수단으로, root 권한이 필요한 경우가 대부분입니다.

 ⅱ. chattr 명령어 기본 구조

chattr [옵션] [속성] [파일 또는 디렉터리]


속성 지정 방식
+ : 속성 추가
- : 속성 제거
= : 지정한 속성만 설정 (기존 속성 초기화)

 

 ⅲ. chattr 명령어 주요 옵션

옵션 설명
-R 디렉터리 하위 파일까지 재귀적으로 적용
-V 처리 과정 상세 출력
-f 오류 메시지 출력 억제 


  ⅳ. chattr 명령어 주요 속성 설명

속성 의미
i immutable : 파일 수정·삭제·이름변경 불가
a append only : 내용 추가만 가능, 삭제·수정 불가
삭제 시 복구 가능 (일부 파일 시스템)
A 접근 시간(atime) 갱신 방지
S 즉시 디스크 동기화
d dump 백업 대상 제외


실무에서 가장 많이 사용하는 속성은 i와 a 입니다.

  ⅴ. chattr 명령어 사용 예시
    1) 파일 수정 및 삭제 완전 차단

chattr +i /etc/passwd


  2) append-only 설정 (로그 파일 보호)

chattr +a /var/log/messages


  3) 속성 제거

chattr -i /etc/passwd


  4) 디렉터리 전체 적용

삭제(파일 및 데릭토리), 이름 변경(파일 및 데릭토리), 링크 생성(파일에 대한 하드링크), 데이터 변경(파일을 쓰거나, 수정), 메타데이터(파일의 속성이나 권한) 변경 불가

chattr -R +i /important_dir

 

Ⅲ. lsattr (list attribute) 명령어

 ⅰ. lsattr 명령어란?
lsattr는 파일이나 디렉터리에 설정된 확장 속성(attribute) 을 확인하는 명령어입니다. ls -l로 확인할 수 없는 속성 정보까지 조회할 수 있습니다.
 

 ⅱ. lsattr 명령어 기본 구조

lsattr [옵션] [파일 또는 디렉터리]

 

 ⅲ. lsattr 명령어 주요 옵션

옵션 설명
-a 숨김 파일 포함
-R 디렉터리 재귀 조회
-d 디렉터리 자체만 조회
-V 버전 정보 출력


 ⅳ. lsattr 명령어 출력 형식 예시

lsattr /etc/passwd

----i-------- /etc/passwd

각 문자는 속성을 의미하며, i가 표시되면 immutable 속성이 설정된 상태입니다.

 

Ⅳ. chattr & lsattr (change attribute & list attribute) 활용 방안

 ⅰ. 시스템 보안 강화

1) /etc/passwd, /etc/shadow, /etc/group 등 중요 시스템 파일에 +i 적용
2) 관리자 실수나 공격으로 인한 파일 변조 방지

chattr +i /etc/shadow


 ⅱ. 로그 파일 보호

1) 로그 위·변조 방지를 위해 append-only 속성 적용
2) 보안 감사 및 포렌식 분석 시 신뢰성 확보

chattr +a /var/log/secure


 ⅲ. 운영 안정성 확보

1) 설정 파일의 우발적 수정 차단
2) 서비스 운영 중 설정 변경 사고 예방


 ⅳ. 사고 대응 및 점검

1) lsattr를 활용해 시스템 중요 파일의 속성 상태 점검
2) 보안 점검 항목으로 활용 가능

lsattr /etc/*

Ⅴ. chattr & lsattr 주의 사항

1) i 속성이 설정된 파일은 root 권한으로도 삭제 및 수정이 불가
2) 패키지 업데이트, 설정 변경 전 반드시 속성 해제 필요
3) 파일 시스템 종류에 따라 일부 속성 미지원 가능

반응형