Microsoft Windows liest Daten aus der falschen Datei oder dem falschen Ordner
Summary: Wenn ein Dateisystem Objekte mit gleicher Schreibweise, aber unterschiedlicher Groß-/Kleinschreibung am selben Speicherort enthält, kann Microsoft Windows Daten aus einer "falschen" Datei oder einem "falschen" Ordner lesen. ...
Symptoms
Clientseitig beobachtetes Verhalten:
- Empfang von Inhalten von "FILENAME" beim Öffnen von "filename" (Daten werden aus einer "falschen" Datei gelesen)
- Beim wiederholten Öffnen von "filename" werden Daten entweder aus "filename" oder "FILENAME" nach dem Zufallsprinzip bereitgestellt.
- Microsoft Office speichert eine Datei in einem "falschen Ordner" (falls es Ordner mit unterschiedlicher Groß- und Kleinschreibung gibt)
Der Client verfügt über Objekte mit denselben Schreibweisen, aber unterschiedlicher Groß-/Kleinschreibung am selben Dateisystemspeicherort, wie z. B.
..\DIR-NAME\ ..\Dir-name\ ..\dir-name\
..\FILENAME ..\Filename ..\filename
Der Microsoft-Datei-Explorer zeigt Objekte mit unterschiedlicher Groß-/Kleinschreibung korrekt als unterschiedliche Dateien/Ordner an.
Paketablaufverfolgungen, die beim Öffnen eines Speicherorts mit Objekten mit gleicher Schreibweise, aber unterschiedlicher Groß-/Kleinschreibung erstellt wurden, zeigen eine SMB-Antwort (Server Message Block) von PowerScale an, die beide Objekte ("FILENAME" und "filename") enthält. Alle anderen nachfolgenden Vorgänge werden für das Objekt mit präziser Schreibweise und Groß-/Kleinschreibung durchgeführt, die vom Client angegeben werden.
Cause
Bei Microsoft Windows wird nicht zwischen Groß- und Kleinschreibung unterschieden, moderne Dateisysteme, die von Windows verwendet werden, unterstützen jedoch die Groß-/Kleinschreibung.
Weitere Informationen finden Sie im folgenden Microsoft-Dokument:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
Benennen von Dateien, Pfaden und Namespaces
...
Namenskonventionen
...
Gehen Sie nicht davon aus, dass zwischen Groß- und Kleinschreibung unterschieden werden muss. Betrachten Sie beispielsweise die Namen OSCAR, Oscar und Oscar als identisch, auch wenn einige Dateisysteme (z. B. ein POSIX-kompatibles Dateisystem) sie möglicherweise als unterschiedlich betrachten. Beachten Sie, dass NTFS POSIX-Semantik für die Groß-/Kleinschreibung unterstützt, dies jedoch nicht das Standardverhalten ist.
Resolution
Vermeiden Sie, dass Microsoft Windows am selben Speicherort auf Objekte mit gleicher Schreibweise, aber unterschiedlicher Groß-/Kleinschreibung zugreift.
Additional Information
Windows würde die Erstellung von Dateien mit den Namen "somefile" und "SOMEFILE" am selben Speicherort nicht zulassen – Windows erzeugt den Fehler "bereits vorhanden".
Ein Dateisystem kann jedoch auf verschiedene Weise Objekte mit unterschiedlicher Groß-/Kleinschreibung aufweisen, z. B.:
- Erstellen von Objekten mit unterschiedlicher Groß- und Kleinschreibung aus jedem POSIX-kompatiblen Betriebssystem (z. B. Linux)
- Wiederherstellung mit Nicht-Windows-Backups (Snapshots, Tivoli usw.), die sowohl 'SOMEFILE' als auch 'somefile' enthalten, die zu unterschiedlichen Zeiten existierten.
Bei der Arbeit mit Microsoft Office umfasst der Dateispeichervorgang das Löschen der Originaldatei und das Speichern einer temporären Datei unter dem ursprünglichen Dateinamen. Dieser Prozess kann zu unerwarteten Ergebnissen führen, wenn Ordner oder Dateien mit gleicher Schreibweise, aber unterschiedlicher Groß-/Kleinschreibung vorhanden sind.