리오집사의 기억저장소

확장 파일시스템의 파일 속성 변경(lsattr, chattr)

리눅스에서 어떤 파일을 root 권한으로 삭제해보려고 해도 "Operation not permitted"라는 메세지가 뜨면서 삭제되지 않는 경우가 있다.

리눅스 파일시스템의 모든 파일과 디렉토리는 기본적으로 사용자, 그룹, 기타 사용자에 대한 읽기, 쓰기, 실행 권한을 가지고 있는데, 이 외에도 ext2와 ext3 파일시스템에 있는 파일과 디렉토리는 퍼미션 외에도 특정 파일시스템 유형과 관련된 사용자가 선택할 수 있는 특별한 속성들도 가지고 있다.

이들 속성을 설정하고 제거할 수 있는 명령어가 chatter 이며, 이들 파일과 디렉토리에 설정되어 있는 속성을 확인하는 명령어가 lasttr 이다.

즉, 퍼미션(permission)은 ls 명령어로 확인할 수 있는 것으로 파일의 읽기, 쓰기, 실행에 관한 표시를 하고, 속성(attribution)은 lsattr로 확인할 수 있는 것으로 파일의 변경과 접근, 실행 등의 권한을 설정해둔 것이다.

chattr의 사용

사용 형식 : chattr [-RV] [-v 설정버전] [+-=설정모드] 대상파일들

[옵션]

  • -R : 현재 디렉토리 이하 모든 디렉토리와 파일의 속성을 변환한다.

  • -V : 자세한 출력모드 제공

  • -v : version. 지정된 파일의 버전 정보를 설정할 수 있다.

[설정모드]

  • + : 지정한 속성을 추가한다.

  • - : 지정한 속성을 제거한다.

  • = : 원래 파일이 가지고 있던 그 속성만을 유지한다.

[설정모드의 속성]

  • a 속성 : 해당 파일을 추가만 할 수 있다. roo만이 속성 변경이 가능하며, 파일보안을 위해 주로 사용하는 속성이다. (파일삭제는 불가능하지만 파일에 내용을 추가하는 것은 가능. 리눅스의 로그파일에 설정해두면 유용하다.)

  • c 속성 : 이 속성이 설정된 파일은 커널에 의해 디스크 상에 자동적으로 압축된 상태로 저장한다. 파일을 읽을 경우에는 압축을 해제한 상태로 되돌려주고, 스기시에는 디스크에 저장하기 전에 파일을 압축한다.

  • d 속성 : dump 명령 수행시 백업이 되지 않도록 설정된다. (dump명령에 의하여 백업되지 않도록 보호. 이러한 특징을 적용해 크기가 큰 ISO 이미지 파일 등을 백업에서 제외시킬 수 있다.)

  • i 속성 : 제일 자주 사용하는 속성. 이 속성이 설정되면 해당 파일의 변경, 삭제, 이름변경, 파일 추가 및 링크파일 생성이 허락되지 않는다. 오직 root만이 이 속성을 해제할 수 있다. 변경 추가가 거의 없는 부팅관련 파일들에 설정하면, 부팅이 되지 않는 문제로 인한 시스템 장애를 줄일 수 있다.

  • u 속성 : 이 속성을 가진 파일이 삭제되면, 그 내용이 저장이 되서 삭제되기 전의 데이터로 복구가 가능해진다.

lsattr의 사용

사용 형식 : lsattr [ -Radv ] 대상파일

[옵션]

  • -R : 디렉토리와 그 이하 모든 내용에 대해 재귀적으로 속성값 출력.

  • -a : '.'로 시작하는 파일을 포함한 디렉토리 내의 모든 파일 출력.

  • -d : 디렉토리를 보여줄 때 안에든 파일을 보여주는 것이 아닌, 폴더를 일반 파일처럼 출력.

  • -v : 파일의 버전 출력

[사용 예]
$ lsattr /etc/host* ( etc 디렉토리안에 host로 시작하는 파일들의 속성 출력 )

$ lsattr -aR /tmp/ | less ( 모든 /tmp 속성을 재귀적으로 나열 )


반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band