Ⅰ. 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 : 내용 추가만 가능, 삭제·수정 불가 |
| u | 삭제 시 복구 가능 (일부 파일 시스템) |
| 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) 파일 시스템 종류에 따라 일부 속성 미지원 가능
'시스템(Linux)' 카테고리의 다른 글
| 리눅스 루트킷(Linux Rootkit) 에 대해 알아보겠습니다. (0) | 2025.12.19 |
|---|---|
| blkid 명령어에 대해 알아보겠습니다. (0) | 2025.12.18 |
| 리눅스에서 사용되는 SWAP 메모리 추가하는 방법에 대해 알아보겠습니다. (0) | 2025.11.24 |
| Syslog에 대해 알아보겠습니다. (0) | 2025.10.17 |
| 리눅스 시스템에서 파일을 안전하게 삭제하고 복구할 수 있는 도구인 trash-cli 에 대해 알아보겠습니다. (1) | 2025.08.20 |