2013-10-20 2 views
2

파일은 데이터와 메타 데이터 (파일 이름, 파일 유형, 생성 날짜 및 수정 날짜 등)에 대한 정보로 구성된다는 것을 알고 있습니다.파일 시스템이 파일 메타 데이터를 저장하는 곳

내 질문에 정확하게 그 정보가 저장되어 있습니다. 파일, 디렉토리 또는 데이터베이스에 포함될 수 있지만 Windows, Linux 및 MAC-OS 파일 시스템에 대해서는이 정보를 찾을 수없는 것으로 알고 있습니다 ...

+0

_file 시스템 내부에 있습니다. 파일 시스템은 원시 데이터를 노출하지 않습니다. – SLaks

+0

이것은 아마도 수퍼 유저에 속한다고 생각합니다. 서면으로 주제에서 벗어난 것입니다. –

답변

2

Windows 및 Mac의 경우 대부분이 정보는 독점입니다.

충분히 NTFS 파일 시스템 드라이버 버전이 Linux 용으로 작성되었다고 말할 수 있습니다. 당신은 그걸 볼 수 있습니다. Richard의 'Flatcap'Russon (http://www.flatcap.org/ntfs/)이 작성한 대부분의 문서도 있습니다.

FAT 파일 시스템에 대한 문서는 플래시 드라이브 및 이와 유사한 작업을하는 개발자와 엔지니어에게 충분한 정보를 제공하기 위해 오래 전에 공개되었습니다. (http://msdn.microsoft.com/en-us/library/windows/hardware/gg463080.aspx)

에 의해 사용 된 Ext Filesystem의 문서는 웹상에서 쉽게 찾을 수 있습니다. (Ext2 : http://www.nongnu.org/ext2-doc/ext2.html)

나는 을 사용하지만 실제로는 기존 형식 (아마도 ext)에서 파생 된 독점적 인 가증 행위라고 생각합니다. 이것은 단지 제 의견입니다. 이것을 사실로 생각하지 마십시오.

이러한 형식은 모두 메타 데이터을 보유하는 일종의 구조를 가지고 있습니다. 이 파일은 실제 드라이브의 어딘가에있는 바이트 스트림입니다. 대부분의 파일 시스템은 적어도 파일의 위치 (일반적으로 파일의 각 조각에 대한 시작 클러스터)와 파일 크기를 저장하는 구조를 가져야합니다. 나머지 메타 데이터는 구현할 각 파일 시스템에 달려 있습니다.

예를 들어, FAT 파일 시스템 각 디렉토리에 대한 테이블이 있으며 각 디렉토리에는 포함 된 파일에 대한 메타 데이터가 저장됩니다. 그러나 파일 시스템에 포함 된 각 파일의 조각 위치를 보유하는 FAT 테이블도 있습니다.

NTFS 파일 시스템에는 테이블 자체를 포함하여 파일 시스템에 포함 된 각 파일에 대한 메타 데이터 레코드가 들어있는 마스터 파일 테이블이라는 큰 테이블이 있습니다. 각 레코드는 각 조각에 대한 실제 드라이브의 파일 위치를 포함한 모든 메타 데이터를 보유합니다. 그러나 디렉터리 구조는 디렉터리 파일 레코드의 데이터로 보관됩니다. 그러나 NTFS에는 USN 저널 또는 볼륨 비트 맵과 같은 파일에 대한 정보를 보유하는 훨씬 많은 구조가 있습니다.

파일 시스템에 포함 된 메타 데이터에 액세스하려면 원시 볼륨을 구문 분석하거나 운영 체제 API에 의해 노출 된 기능을 사용해야합니다. API는 일반적으로 메타 데이터에 대해 원하는 모든 정보를 제공하지 않습니다. 예를 들어, Windows API는 USN 저널을 반복하여 특정 파일에 대한 정보를 찾는 기능을 제공하지만 파일의 MFT 속성을 직접 가져올 수는 없습니다.

이 독점적 인 파일 시스템에 대한 대부분의 문서가 있더라도 자신의 지적 재산권이므로 어둠 속에서도 촬영할 수 있습니다. 우리가 지금 가지고있는 대부분의 문서가 리버스 엔지니어링에서 유래 되었습니까?

관련 문제