[파일 시스템] 파일 시스템의 유형 - NTFS

Fruit·2023년 4월 8일

📖 Hello Certificate!

목록 보기
17/24
post-thumbnail

🌸 NTFS

  • FAT 파일 시스템을 대체하기 위한 파일 시스템이다.
  • FAT 16, FAT 32로 변환할 수 없다
  • 다중 데이터 스트림을 지원한다.
  • 암호화 기능과 저널링 기능을 포함한다.
  • 파일 레코드 헤더에서는 파일 ID, 레코드의 저장 위치, 레코드의 실제 길이, 레코드의 할당 크기, 파일의 시작 위치, 다음번 속성 ID, 플래그 등을 저장한다.
  • 시스템 고장과 디스크 손상을 복구하는 능력이 있어 손상이 발생하면 NTFS는 디스크 볼륨을 재구성하여 일관성 있는 상태로 복구한다.


✔️ MFT

🔸 MFT Entry

  • 파일과 디렉터리를 표현하기 위해 MTF Entry 자료구조를 제공한다.
  • 파일이 삭제되었을 때 in-use flag를 0으로 변경한다.

🔸 속성

클러스터 런

  • 많은 데이터가 연속적으로 저장되는 경웅에 효율적으로 표현할 수 있다.
  • 각 런은 시작 클러스터 번호와 클러스터 개수로 표현된다.
  • Sparse 속성인 경우 런에 시작 클러스터 본호는 표시하지 않고 크기만 표현한다.

$STANDARD_INFORMATION

  • 파일의 생성/접근/수정 시간, 소유자 등의 일반적인 정보를 저장된다.

$FILE_NAME

  • 파일명, 파일 플래그 (Archive, Hidden 등), MAC (Modified, Accessed, Created) Time 정보를 기록한다.
  • 파일이 속한 디렉터리 위치, 파일 변경 횟수, 파일의 할당 크기, 파일의 실제 크기, 파일명 길이, 파일명 공간, 유니코드 기반 파일명 등

$DATA

  • 파일의 데이터, 데이터를 찾는 인덱스에 대한 속성, 비상주 속성에 대한 설명, 속성의 이름, 압축 단위 크기, 속성의 할당 크기, 속성의 실제 크기, 데이터 시작 위치, 첫 데이터 스트림의 크기 등

$BITMAP

  • $MFT와 인덱스의 할당 정보를 관리한다.

메타 파일설명
$SECURITY_DESCRIPTOR접근제어, 보안 정보
$INDEX_ROOT인덱스 Tree Root 노드 정보
$OBJECT_ID파일 및 디렉터리의 16 Bytes 크기를 가진 고유값을 저장



🔸 메타데이터 파일

$MFT

  • 파일의 디스크 저장 위치 정보를 담고 있다.
  • 모든 파일과 디렉터리의 엔트리를 갖는 MFT를 포함한다.

$MFTMirr

  • MFT 파일의 백업본을 저장한다.
    (부트 섹터나 $MFT 파일이 손상되면 해당 파일 시스템의 제대로 인식할 수 없기 때문)

$LogFile

  • 메타데이터 트랜잭션을 기록하는 저널이다.
  • 해당 파일을 분석함으로써 파일 시스템의 모든 트랜잭션을 확인할 수 있다.

$Bitmap

  • NTFS에서 파일이 삭제되었을 때
    할당된 Cluster를 Unallocated로 변경한다.
    해당 MFT Entry에 대한 $Bitmap 속성을 0으로 변경한다.
  • 볼륨의 클러스터 할당 관리 정보를 저장한다.


✔️ 특징

🔸 보안

  • 사용자 권한은 공유 보안과 같이 Everyone 그룹에 대해 모든 권한을 허용한다.
  • 파일과 폴더에 개별적인 보안을 설정할 수 있어 강력한 보안정책 설정이 가능하다.
  • 사용자마다 서로 다른 NTFS 보안을 설정할 수 있다.
  • 보안을 적용할 수 있는 대상은 로컬 서버의 NTFS 볼륨 드라이버, 폴더, 파일이다.
  • 보안의 상속은 하위 폴더 및 파일에 상속되도록 기본설정 되어 잇으며, 허용 목록보다 거부 목록을 우선한다.

🔸 압축

  • 파일 시스템 수준의 압축 기능을 제공한다.

🔸 sparse

  • 데이터가 대부분 0인 파일을 저장할 때 실제 디스크를 할당하지 않고 그 크기만 저장하는 기능이다.
profile
🌼인생 참 🌻꽃🌻 같다🌼

0개의 댓글