리눅스 명령어 lsattr 사용법 및 4가지 옵션

리눅스 명령어 lsattr은 파일이나 디렉터리에 적용된 속성을 보여주는 명령어입니다. 일반적인 파일 목록을 확인하는 ls 명령어와는 다르게, lsattr는 파일 시스템에서 사용되는 특수 속성을 확인할 수 있어 시스템 관리자가 파일을 보호하거나 특정 기능을 제어할 때 유용하게 사용됩니다. 이 글에서는 lsattr 명령어의 사용법과 옵션에 대해 자세히 알아보고, 실무에서 어떻게 활용할 수 있는지 설명하겠습니다.

리눅스 명령어 lsattr이란?

lsattr는 리눅스 파일 시스템의 속성을 보여주는 명령어로, 주로 ext2, ext3, ext4와 같은 파일 시스템에서 사용됩니다. 파일이나 디렉터리의 읽기 전용 속성, 변경 금지 속성, 삭제 방지 속성 등을 확인할 수 있습니다. 이는 파일이 의도치 않게 수정되거나 삭제되는 것을 방지하는 데 중요한 역할을 합니다.

리눅스에서 파일이나 디렉터리의 속성은 매우 중요한데, 이 속성들이 파일의 보안 및 무결성을 유지하는 데 도움이 됩니다. 예를 들어, 중요한 시스템 파일에 대해 삭제 방지 속성을 설정해 두면 우발적인 삭제로부터 보호할 수 있습니다.

lsattr 명령어 사용법

lsattr 명령어의 기본적인 사용법은 매우 간단합니다. 명령어 뒤에 파일이나 디렉터리 경로를 지정하면 해당 파일이나 디렉터리의 속성을 확인할 수 있습니다.

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

아무 옵션 없이 lsattr만 입력하면 현재 디렉터리의 모든 파일에 대한 속성을 확인할 수 있습니다.

lsattr
ShellScript

이 명령어를 실행하면 현재 디렉터리에 있는 파일들의 속성이 아래 그림과 같이 리스트 형태로 출력됩니다. 각 파일에 적용된 속성은 파일 이름 앞에 나타나는 문자로 표시되며, 이 문자는 해당 파일의 특성을 나타냅니다.

그림 1. 리눅스 명령어 lsattr: 현재 디렉터리 내에 있는 파일과 디렉터리의 속성 출력
그림 1. 리눅스 명령어 lsattr: 현재 디렉터리 내에 있는 파일과 디렉터리의 속성 출력

위에서 보듯이, 파일의 이름 앞에 있는 각 문자는 파일에 설정된 속성을 나타냅니다. 이 속성들이 의미하는 바는 아래에서 설명하겠습니다.

lsattr 명령어 속성 설명

lsattr 명령어의 출력에서 볼 수 있는 속성 문자들은 파일이나 디렉터리에 설정된 여러 특수 속성을 나타냅니다. 주요 속성들의 의미는 다음과 같습니다.

  • a: 추가 모드(append-only) — 파일에 내용을 추가하는 것만 허용되고, 기존 내용을 수정할 수 없습니다.
  • i: 불변 모드(immutable) — 파일을 수정하거나 삭제할 수 없게 만듭니다. 매우 중요한 시스템 파일에 자주 사용됩니다.
  • d: 덤프 제외 — 파일이 백업(덤프) 시에 제외됩니다.
  • e: 확장 속성 — 파일이 확장된 속성을 가지고 있음을 나타냅니다.
  • s: 보안 삭제 — 파일이 삭제될 때 해당 파일의 모든 비트를 0으로 덮어씌운 후 삭제합니다. ext2, ext3, ext4에서는 적용되지 않는다고 합니다. 안전하게 파일을 삭제하고 싶다면, wipesrm으로 파일을 삭제하시기 바랍니다.
  • u: 복구 가능 — 파일이 삭제된 후에도 파일의 내용은 복구가 가능한 상태로 남습니다.

lsattr 명령어의 주요 옵션

lsattr 명령어는 여러 옵션과 함께 사용할 수 있으며, 이를 통해 출력 형식을 제어하거나 특정 파일 속성만 표시할 수 있습니다. 주요 옵션은 다음과 같습니다.

  • -a: 숨김 파일 포함 — 기본적으로 숨김 파일(이름이 .로 시작하는 파일)은 제외되는데, 이 옵션을 사용하면 숨김 파일까지 표시됩니다.
  • -d: 디렉터리 속성 표시 — 디렉터리의 속성만을 보여줍니다. 기본적으로는 디렉터리 안의 파일 속성까지 표시됩니다.
  • -R: 재귀적으로 하위 디렉터리까지 속성 표시 — 지정한 디렉터리의 하위 디렉터리들까지 속성을 모두 표시합니다.
  • -v: 버전 번호 표시 — 파일의 버전 정보를 확인할 수 있습니다.
lsattr -a
ShellScript

이 명령어는 숨겨진 파일을 포함해 현재 디렉터리 내 모든 파일의 속성을 보여줍니다.

그림 2. 리눅스 명령어 lsattr: -a 옵션으로 숨김 파일을 포함한 모든 파일의 속성 열람
그림 2. 리눅스 명령어 lsattr: -a 옵션으로 숨김 파일을 포함한 모든 파일의 속성 열람
lsattr -R /var/log
ShellScript

이 명령어는 /var/log 디렉터리 및 그 하위 디렉터리에 있는 파일들의 속성을 재귀적으로 확인합니다.

그림 3. 리눅스 명령어 lsattr: -R 옵션으로 하위 디렉터리의 파일도 재귀적으로 속성 확인
그림 3. 리눅스 명령어 lsattr: -R 옵션으로 하위 디렉터리의 파일도 재귀적으로 속성 확인

주의사항

lsattr 명령어는 파일이나 디렉터리의 속성을 읽는 데만 사용되므로 파일 속성을 변경할 수는 없습니다. 파일 속성을 변경하려면 chattr 명령어를 사용해야 합니다. 예를 들어, 파일을 삭제할 수 없도록 설정하려면 chattr +i 명령어를 사용하여 불변 속성을 추가할 수 있습니다.

또한, lsattr 명령어는 루트 권한이 필요하지 않으나, chattr로 속성을 변경할 때는 루트 권한이 필요할 수 있습니다. 따라서 파일 속성 변경 시에는 항상 주의 깊게 작업해야 하며, 시스템 파일의 속성을 함부로 수정하면 예기치 않은 문제가 발생할 수 있습니다.

lsattr 명령어 활용 방법

리눅스 명령어 lsattr는 주로 시스템 관리에서 보호 파일을 확인하기 위한 목적으로 사용됩니다. 예를 들어, 중요한 설정 파일이나 로그 파일에 i 속성을 추가하여 불변 모드로 설정된 파일인지 lsattr을 통해서 확인할 수 있습니다.

또한, 백업할 필요가 없는 임시 파일이나 로그 파일에 d 속성을 추가해 백업 과정에서 제외할 수 있습니다. 이를 통해 불필요한 파일을 백업하지 않음으로써 저장 공간을 절약할 수 있습니다.

정리

리눅스 명령어 lsattr은 파일 시스템의 속성을 확인하는 중요한 도구입니다. 파일을 수정하거나 삭제할 수 없도록 설정하는 불변 속성(i)이나, 파일이 삭제될 때 완전히 덮어쓰는 보안 삭제 속성(s) 등은 파일의 무결성을 보호하는 데 중요한 역할을 합니다. 단, 특정 파일 시스템에서는 작동하지 않을 수 있으므로 매뉴얼을 확인 후 사용할 것을 권합니다.

명령어 자체는 단순하지만, 이를 적절히 활용하면 실수나 악의적인 파일 삭제로부터 중요한 데이터를 보호할 수 있습니다. 따라서 리눅스 시스템 관리자는 이 명령어와 속성들을 잘 숙지하고, 필요에 따라 파일 속성을 설정함으로써 시스템을 더욱 안전하게 운영할 수 있습니다.

참고자료

관련 포스트

Leave a Comment