파일 관리자가 빠른 검색 결과를 위해 마스터 파일 테이블을 사용하지 않는 이유는 무엇입니까? [닫은]

방금 UltraSearch를 발견했으며 파일 및 폴더 검색 속도로 날아갔습니다. 그것은 순간적 이다. 그리고 인덱싱 서비스를 사용하지 않습니다. NTFS 파티션에 이미 모든 파일 이름을 저장 하는 NTFS 마스터 파일 테이블 만 사용합니다 .

문제는 왜이 기능을하지이며, 방법은 파일 관리자 사이에서 더 인기 및 Windows 탐색기 검색 (승 + F)로 시작하는?



답변

보안 때문에!

그게 진짜 이유입니다. (그리고 유일한 진짜 이유는, 내 의견으로는 – 그렇지 않아 쉽게 결코 비록, 주요 파일 시스템을위한 독자를 만들기 위해 열심히, 메이킹 작가 것은 실제 도전이다.)

이와 같은 프로그램은 전체 (파일) 시스템의 보안 인프라를 우회하므로 관리자 (또는 “볼륨 관리”권한이있는 사람) 만 실제로 실행할 수 있습니다.

따라서 많은 시나리오에서 작동 하지 않을 것입니다. 그리고 Microsoft (또는 다른 대기업)는 이와 같은 제품을 만든 다음 보안 결과로 인해 사용자가 관리자로 실행하도록 권장하지 않을 것이라고 생각 합니다.

것입니다 보안 데이터이 배경 및 필터에 실행하는 시스템을 만들기 위해 이론적으로 가능하지만, 실제로 그것은 것 많은 생산을위한 정확하고없는 보안 구멍을 얻을 수있는 일이.

그건 그렇고 UltraSearch를 사용하지는 않았지만 몇 년 전에 매우 비슷한 프로그램을 작성하여 지난 달에 오픈 소스를 만들었 습니다! 관심이 있으시면 확인하십시오. 🙂


답변

파일 관리자는 발생할 수있는 모든 단일 파일 시스템을 지원할 수 있어야합니다. 따라서 API 를 통해 VFS 를 호출해야합니다 . API 호출에서 큰 배열을 반환하는 (정확한) 방법이 없으므로 MFT / FAT / superblock의 존재 여부에 관계없이 파일 열거가 직렬화됩니다.


답변

파일 인덱싱 서비스는 파일 이름뿐만 아니라 컨텐트 (대부분의 텍스트)와 파일의 메타 데이터를 검색하려는 사용자를위한 서비스입니다. 그렇기 때문에 모든 파일을 처리하는 데 시간이 오래 걸리고 이러한 서비스로 작성된 색인이 크고 상대적으로 느립니다. Windows에서 인덱싱 서비스를 비활성화 할 수 있지만 Windows 탐색기는 파일 이름 다음에 파일 내용을 계속 검색 할만큼 어리 석습니다. Ignacio Vazquez-Abrams는 파일 관리자가 저수준 파일 시스템을 활용할 수 없다고 말했습니다.


답변