SW/리눅스

Linux : Chattr 명령어, 사용 방법, 예제 (파일 속성)

얇은생각 2023. 1. 4. 07:30
반응형

Linux에서 파일 속성은 파일의 동작을 설명하는 메타데이터 속성입니다. 예를 들어, 속성은 파일의 압축 여부를 나타내거나 파일을 삭제할 수 있는지 여부를 지정할 수 있습니다.

불변성과 같은 일부 속성은 설정하거나 지울 수 있는 반면, 암호화와 같은 속성은 읽기 전용이며 보기만 할 수 있습니다. 특정 특성에 대한 지원은 사용 중인 파일 시스템에 따라 다릅니다.

이 자료에서는 Linux 파일 시스템에서 chattr 명령을 사용하여 파일 속성을 변경하는 방법을 설명합니다.

 

 

Linux : Chattr 명령어, 사용 방법, 예제 (파일 속성)

 

 

charttr Syntax

chattr 명령은 다음과 같은 일반적인 형식을 취합니다.

chattr [OPTIONS] [OPERATOR][ATTRIBUTES] FILE...

 

 

[OPERATOR] 부품의 값은 다음 기호 중 하나일 수 있습니다.

+ - plus 연산자는 chattr에게 지정된 속성을 기존 속성에 추가하도록 지시합니다.

- - 마이너스 연산자는 chattr에게 지정된 속성을 기존 속성에서 제거하도록 지시합니다.

= - 등호 연산자는 chattr에게 지정된 속성을 유일한 속성으로 설정하도록 지시합니다.

 

 

연산자 뒤에는 파일 특성에 추가하거나 제거할 하나 이상의 [Attributes] 플래그가 표시됩니다. 다음은 몇 가지 일반적인 특성 및 관련 플래그 목록입니다.

a - 이 속성을 설정하면 파일을 쓰기 위해 추가 모드에서만 열 수 있습니다.

A - 이 특성 세트가 있는 파일이 열려 있으면 해당 시간 레코드는 변경되지 않습니다. 시간(액세스 시간)은 일부 명령 또는 응용 프로그램에 의해 파일에 마지막으로 액세스/열린 시간입니다.

e - 이 속성은 파일이 디스크의 블록을 매핑하기 위해 익스텐트를 사용 중임을 나타냅니다. chattr을 사용하여 e 특성을 수정할 수 없습니다.

i - 이 속성은 파일이 불변임을 나타내며, 이는 파일을 삭제하거나 이름을 바꿀 수 없음을 의미합니다.

 

 

모든 파일 속성 및 플래그의 전체 목록을 보려면 터미널에 man chattr을 입력하십시오.

기본적으로 cp 또는 rsync와 같은 명령을 사용하여 파일을 복사할 때 파일 속성은 보존되지 않습니다.

 

 

 

chattr Example

chattr의 일반적인 사용 중 하나는 파일 또는 디렉터리에 불변 플래그를 설정하여 사용자가 파일을 삭제하거나 이름을 바꾸지 못하도록 하는 것입니다.

lsattr 명령을 사용하여 파일 속성을 볼 수 있습니다.

lsattr todo.txt

# --------------e----- todo.txt

 

 

아래 출력은 e 플래그만 설정되었음을 나타냅니다.

파일을 변경할 수 없도록 하려면 + 연산자가 있는 i 플래그를 기존 속성에 추가합니다.

sudo chattr +i todo.txt

 

 

루트만이 불변 플래그를 변경할 수 있기 때문에 sudo를 사용하고 있습니다.

특성이 추가되었는지 확인합니다.

lsattr todo.txt

# ----i---------e----- todo.txt

 

 

변경 사항을 되돌리고 불변 플래그를 제거하려면 - 연산자를 사용합니다.

sudo chattr +i todo.txt

 

 

chattr을 사용하면 여러 특성을 한 번에 추가하거나 제거할 수 있습니다. 예를 들어 파일을 불변 상태로 만들고 커널에 마지막으로 액세스한 시간을 추적하지 않도록 하려면 다음을 사용합니다.

sudo chattr +iA todo.txt

 

 

마지막으로 사용할 수 있는 연산자는 = 연산자입니다. 예를 들어 e 특성을 유일한 특성으로 설정하려면 다음을 실행합니다.

sudo chattr "=e" todo.txt

 

 

 

+ 문자의 셸 해석을 피하기 위해 연산자와 플래그는 따옴표로 둘러싸여 있습니다.

chattr은 리눅스 파일 시스템에서 파일 속성을 변경하기 위한 명령줄 도구입니다.

반응형