Linux chattr 사용하는 방법 (파일 삭제 및 수정 방지 설정하기)

Linux 서버를 운영하다 보면 중요한 설정 파일이나 로그 파일이 실수로 삭제되거나 변경되는 것을 방지해야 하는 경우가 있습니다. 특히 운영 서버에서는 시스템 설정 파일이나 서비스 구성 파일이 변경되면 장애로 이어질 수 있기 때문에 파일 보호 기능이 매우 중요합니다.

이럴 때 사용하는 명령어가 chattr(Change Attribute) 입니다. chattr는 Linux 파일 시스템의 속성(Attribute)을 변경하는 명령어로, 파일 삭제 방지, 수정 방지, 추가(Append)만 허용 등의 기능을 제공합니다. 시스템 관리자라면 반드시 알아두어야 하는 파일 보호 도구입니다.

이번 글에서는 Linux에서 chattr 명령어를 사용하는 방법과 주요 속성을 자세히 알아보겠습니다.

chattr 명령어란?

chattr는 파일과 디렉터리의 특수 속성을 변경하는 명령어입니다.

일반적인 파일 권한(chmod)과는 별개로 파일 시스템 수준의 속성을 설정합니다.

파일 삭제 방지나 수정 방지 기능을 제공하여 중요한 데이터를 보호할 수 있습니다.

기본 사용법은 다음과 같습니다.

sudo chattr 옵션 파일명

예를 들어 test.txt 파일에 속성을 설정하려면 다음과 같이 실행합니다.

sudo chattr +i test.txt

현재 파일 속성 확인하기

파일의 특수 속성을 확인하려면 lsattr 명령어를 사용합니다.

lsattr test.txt

현재 적용된 속성이 출력됩니다.

수정 및 삭제 방지 설정하기

가장 많이 사용하는 옵션은 +i(Immutable) 입니다.

sudo chattr +i test.txt

설정 후에는 다음 작업이 모두 차단됩니다.

  • 파일 수정
  • 파일 삭제
  • 파일 이름 변경
  • Hard Link 생성

루트 사용자도 속성을 해제하기 전에는 변경할 수 없습니다.

수정 방지 확인하기

속성이 적용되었는지 확인하려면 파일을 수정해 봅니다.

echo "Linux" >> test.txt

다음과 같은 오류가 발생할 수 있습니다.

Operation not permitted

Immutable 속성이 정상적으로 적용된 것입니다.

삭제 방지 확인하기

파일 삭제도 시도해 봅니다.

rm test.txt

삭제가 거부됩니다.

중요한 시스템 파일을 보호할 때 자주 사용하는 기능입니다.

Immutable 속성 해제하기

파일을 다시 수정하려면 먼저 속성을 해제해야 합니다.

sudo chattr -i test.txt

이후에는 일반 파일처럼 수정하거나 삭제할 수 있습니다.

Append Only 설정하기

로그 파일처럼 내용 추가만 허용하려면 +a 옵션을 사용합니다.

sudo chattr +a logfile.log

이 속성이 적용되면 기존 내용은 수정하거나 삭제할 수 없습니다.

새로운 내용만 파일 끝에 추가할 수 있습니다.

로그 파일 보호에 많이 사용됩니다.

디렉터리에 적용하기

디렉터리에도 속성을 설정할 수 있습니다.

sudo chattr +i /data

디렉터리 내부에서 파일 생성이나 삭제가 제한될 수 있습니다.

운영 환경에서는 적용 범위를 충분히 확인한 후 사용하는 것이 좋습니다.

chattr와 chmod의 차이

chmod는 파일 권한(Read, Write, Execute)을 변경하는 명령어입니다.

chattr는 파일 시스템 속성을 변경하는 명령어입니다.

파일을 완전히 보호하려면 chmod보다 chattr가 더 강력한 기능을 제공합니다.

chattr 사용 시 주의할 점

Immutable 속성이 적용된 파일은 관리자도 쉽게 수정할 수 없습니다.

시스템 설정 파일에 적용할 경우 유지보수 전에 반드시 -i 옵션으로 해제해야 합니다.

또한 일부 파일 시스템에서는 모든 속성을 지원하지 않을 수 있으므로 ext4 또는 XFS 환경에서 지원 여부를 확인하는 것이 좋습니다.

자주 묻는 질문

파일 삭제를 방지하려면 어떻게 하나요?

다음 명령어를 사용합니다.

sudo chattr +i test.txt

적용된 속성은 어떻게 확인하나요?

다음 명령어를 사용합니다.

lsattr test.txt

보호를 해제하려면 어떻게 하나요?

다음 명령어를 사용합니다.

sudo chattr -i test.txt

마무리

chattr는 Linux에서 파일과 디렉터리를 강력하게 보호할 수 있는 대표적인 관리 명령어입니다. Immutable 속성과 Append Only 속성을 활용하면 중요한 설정 파일과 로그 파일을 실수로 수정하거나 삭제하는 것을 효과적으로 방지할 수 있습니다. chattr, lsattr, chmod, stat 명령어를 함께 활용하면 Linux 파일 시스템을 더욱 안전하고 체계적으로 관리할 수 있습니다.

댓글 남기기