Warum verwenden Dateimanager die Masterdateitabelle nicht für sofortige Suchergebnisse? [geschlossen]

27

Ich habe gerade UltraSearch entdeckt und war begeistert von der Geschwindigkeit der Datei- und Ordnersuche. Es ist augenblicklich . Und verwendet keinen Indexdienst. Es wird einfach die NTFS-Masterdateitabelle verwendet , in der bereits alle Dateinamen auf der NTFS-Partition gespeichert sind.

Die Frage ist, warum diese Funktion bei Dateimanagern und Windows Explorer Search (Win + F) nicht so beliebt ist.

Dan Dascalescu
quelle
2
Siehe auch Alles von VoidTools, das das Gleiche tut.
David d C e Freitas
1
Tolle Arbeit, Leute, die eine Frage mit über 20 positiven Stimmen als "nicht konstruktiv" abschließen!
Dan Dascalescu

Antworten:

29

Aus Sicherheitsgründen!

Das ist der wahre Grund. (Und der einzige wirkliche Grund, meiner Meinung nach, ist es nicht so schwer, einen Reader für wichtige Dateisysteme zu erstellen, obwohl dies keineswegs einfach ist. Einen Writer zu erstellen, ist die eigentliche Herausforderung.)

Ein solches Programm umgeht die gesamte Sicherheitsinfrastruktur des (Datei-) Systems, sodass nur ein Administrator (oder jemand anderes mit den Rechten zum Verwalten des Volumes) es ausführen kann.

Daher würde es in vielen Szenarien offensichtlich nicht funktionieren - und ich glaube nicht, dass Microsoft (oder ein anderes großes Unternehmen) jemals in Betracht ziehen würde, ein Produkt wie dieses zu entwickeln und die Benutzer aufgrund der Sicherheitsrisiken zu ermutigen, als Administratoren zu fungieren.

Es wäre theoretisch möglich sein, ein System zu machen , die im Hintergrund und filtert gesicherten Daten ausgeführt wird , aber in der Praxis würde es sein , viel Arbeit , um eine korrekte und ohne Sicherheitslücken für die Produktion zu bekommen.

Übrigens habe ich UltraSearch noch nicht verwendet, aber ich hatte selbst vor ein paar Jahren ein sehr ähnliches Programm geschrieben, das ich erst letzten Monat mit Open-Sourcing-Mitteln erstellt habe ! Probieren Sie es aus, wenn Sie interessiert sind. :)

Mehrdad
quelle
1
Dies scheint kein richtiger Grund zu sein. Das Betriebssystem kann wie ein DMBS eine Ansicht für die ungesicherte Suche bereitstellen. Eine API oder eine eingeschränkte Ansicht sollte öffentlichen Zugriff auf öffentliche Dateien gewähren. Und wenn die
Dateitabelle
@ LifeH2O: Das Problem ist, dass das Hinzufügen von Sicherheitsüberprüfungen einen massiven Leistungseinbruch bedeuten wird , der den Sinn des Tools völlig zunichte macht .
Mehrdad
1
Wie kann der Performance-Hit mehr sein als das Scannen von Verzeichnissen? Es muss nur die Sicherheit der inneren Verzeichnisse überprüft werden. Ich weiß nicht, wie viel mit Windows File Table getan werden kann.
LifeH2O
1
@ LifeH2O: Hast du darüber nachgedacht, wie kompliziert es ist, etwas zu "überprüfen"? Benutzer gehören mehreren Gruppen an. Gruppen und Benutzer können jeweils Berechtigungen für ein Verzeichnis in der Kette oder für die Datei selbst zulassen / verweigern / nicht zulassen, und Sie müssen die effektiven Berechtigungen für den aktuellen Benutzer für jede Datei mithilfe ihrer ACL ermitteln . Fügen Sie nun die Synchronisation hinzu, die für das Security Manager-Subsystem des Kernels erforderlich ist, und Sie werden massive Leistungseinbußen erhalten , wenn Sie nur alle Dateien "überprüfen".
Mehrdad
1
Sie müssen etwas Autoritäres angeben, das angibt, was Sie sagen, sonst können die Leute Spekulationen nicht von Informationen unterscheiden. Ich stimme anderen zu, das ist reine Spekulation.
user34660
6

Dateimanager müssen in der Lage sein, jedes einzelne Dateisystem zu unterstützen, auf das sie stoßen könnten. Als solches müssen sie das VFS über seine API aufrufen . Es gibt keine (vernünftige) Möglichkeit, ein großes Array von einem API-Aufruf zurückzugeben, was dazu führt, dass die Datei-Enumeration unabhängig vom Vorhandensein eines MFT / FAT / Superblocks seriell ist.

Ignacio Vazquez-Abrams
quelle
1
Wenn Sie ein Programmierer wären, würden Sie wissen, wie APIs große Datenmengen verwalten, wie Sie sagen. Und nein, ein Suchprogramm ist nicht erforderlich, um mehrere Dateisysteme zu unterstützen.
user34660
@ user34660: Sie haben zwei Möglichkeiten: 1) Verwenden Sie die Aufzählung. 2) Laufen Sie sehr langsam, wenn Sie mit sehr großen Datenmengen arbeiten. Und ein Suchwerkzeug, das nur ein einziges Dateisystem unterstützt, ist von sehr begrenztem Nutzen.
Ignacio Vazquez-Abrams
3

Der Dateiindexdienst ist für Benutzer gedacht, die nicht nur nach Dateinamen, sondern auch nach Inhalten (wahrscheinlich nach Text) und Metadaten von Dateien suchen möchten. Aus diesem Grund dauert es sehr lange, alle Dateien zu durchsuchen, und der aus solchen Diensten erstellte Index ist groß und relativ langsam. Sie können den Indizierungsdienst in Windows deaktivieren, aber Windows Explorer ist so dumm, den Dateiinhalt weiterhin nach Dateinamen zu durchsuchen. Wie Ignacio Vazquez-Abrams sagte, können die Dateimanager keine Vorteile aus dem Dateisystem auf niedriger Ebene ziehen.

Neo
quelle