본문 바로가기

[+] Forensic

File System - UFS (8)

이번 글에서는 inode와 확장 속성에 대해서 알아보도록 하겠다.

inode의 데이터 구조체는 UFS1과 UFS2가 다르기 때문에 따로 나누어 알아보도록 하겠다.

[UFS1 inode]
inode는 앞 글에서도 여러번 언급하였듯이 각 파일과 디렉토리의 메타데이터를 저장한다. 실린더 그룹 별 inode 수는 슈퍼블록에서 정의되며 각 실린더 그룹에는 inode 테이블이 존재한다. inode 테이블의 위치 또한 슈퍼블록에서 정의하여 준다.
UFS1 에서의 inode 테이블의 시작 위치는 기준주소에 따라 모두 다른 상대적 오프셋을 가지지만  UFS2의 inode 테이블은 모두 동일한 오프셋을 가진다. 아래는 UFS1 inode 테이블의 오프셋 구조이다.

[그림 1 - UFS1 inode 오프셋]

 * 참고 : 모드 필드는 Ext 파일시스템의 모드 필드와 동일하다.


[UFS2 inode]
UFS2 inode는 UFS1 inode 보다 128byte 크고 몇개의 32bit 필드들이 64bit 필드로 변경되었다. UFS2에서도 inode 테이블이 존재하며 inode 테이블의 위치는 슈퍼블록에서 정의된다. 또한 각 실린더 그룹에서 inode 테이블의 위치는 고정적이다.

[그림 2 - UFS2 inode 오프셋] 


[확장 속성]
확장 속성은 UFS2에서 추가된 것인데 파일과 디렉토리에 사용자나 시스템 이름과 어떠한 값이 쌍으로 할당 된 것을 확장 속성을 가졌다라고 말한다. 확장 속성은 일반 블록에 저장되며 해당 블록 주소는 inode에서 정의한다. 아래는 확장 속성 데이터 구조체의 오프셋이다.

[그림 3 - 확장 속성 오프셋]

 - NameSpace : 값과 쌍으로 할당 되는 이름의 플래그 값이 들어가는 필드이다. 플래그 목록과 값은 아래와 같다.
     1) 1 : 사용자
     2) 2 : 시스템 





'[+] Forensic' 카테고리의 다른 글

File System - Ext4 (1)  (0) 2012.03.09
File System - UFS (9)  (0) 2012.03.08
File System - UFS (7)  (0) 2012.03.07
File System - UFS (6)  (0) 2012.03.03