Warum kann ich Dateien in einen schreibgeschützten Ordner schreiben?

39

Ich habe dies sowohl unter Windows 7 als auch unter Windows XP versucht. Starten Sie den Windows Explorer und erstellen Sie einen neuen Ordner an einem temporären Speicherort namens (say) NonWriteable. Klicken Sie mit der rechten Maustaste auf den Ordner, und legen Sie die Eigenschaften des Ordners auf fest Read-only.

Der Ordner ist schreibgeschützt

Öffnen Sie nun den Ordner und erstellen Sie eine neue TXT-Datei. Das ist erlaubt. Warum? Wie stellen Sie einen Ordner so ein, dass nichts darin geändert werden kann?

Hinweis: Wenn ich mit der rechten Maustaste auf die TXT-Datei klicke und diese auf setze, Read-onlyverhindert das System korrekterweise Aktualisierungen der Datei.

AlainD
quelle
3
Aktivieren Sie die erweiterten Optionen und verweigern Sie aktiv Schreibberechtigungen. Welche Art von Konto verwenden Sie? Ein Administratorkonto sollte immer in der Lage sein, Dinge zu ändern.
Seth
@Seth Ein Administratorkonto sollte immer in der Lage sein, Dinge zu ändern? Was ist, wenn versucht wird, auf einen Ordner auf einem anderen Computer zuzugreifen?
Interlinked
2
Windows hat diese Einstellung anscheinend nie für Verzeichnisse verwendet. Wenn es sich auf einem freigegebenen Laufwerk befindet, kann Linux Dateien nur dann erstellen, löschen oder umbenennen, wenn der Schreibschutz deaktiviert ist.
AFH
2
@Seth: Guter Anruf. Nachdem ich die erweiterten Berechtigungen auf der SecurityRegisterkarte geändert habe, um den Zugriff zu verweigern, Create Files / Write Datakann ich jetzt keine neuen Dateien erstellen. Dies scheint ein Windows-Bug / eine Windows-Einschränkung zu sein. Wenn ich die GetFileAttributesAPI für den Ordner programmgesteuert aufrufe, wird das FILE_ATTRIBUTE_DIRECTORYAttribut festgelegt ... aber nicht FILE_ATTRIBUTE_READONLY.
AlainD
2
Beachten Sie, dass ab Windows 7 das Dialogfeld geändert wurde Read-only (Only applies to files in this folder), um klarer zu machen, was diese Option tatsächlich bewirkt. In dieser Antwort befindet sich ein Screenshot des neuen Dialogfelds .
ComicSansMS

Antworten:

56

Im Gegensatz zum schreibgeschützten Attribut für eine Datei wird das schreibgeschützte Attribut für einen Ordner normalerweise von Windows, Windows-Komponenten und -Zubehör sowie anderen Programmen ignoriert. Beispielsweise können Sie einen Ordner mit dem Attribut Schreibgeschützt mithilfe des Windows-Explorers löschen, umbenennen und ändern.

Die Attribute "Schreibgeschützt" und "System" werden nur von Windows Explorer verwendet, um zu bestimmen, ob der Ordner ein besonderer Ordner ist, z. B. ein Systemordner, dessen Ansicht von Windows angepasst wird (z. B. "Eigene Dateien", "Favoriten", "Schriftarten", "Heruntergeladene Programmdateien"). oder einen Ordner, den Sie über die Registerkarte Anpassen im Dialogfeld Eigenschaften des Ordners angepasst haben. Infolgedessen können Sie in Windows Explorer die schreibgeschützten oder Systemattribute von Ordnern nicht anzeigen oder ändern. Wenn für einen Ordner das Attribut "Schreibgeschützt" festgelegt ist, fordert der Explorer die Desktop.ini dieses Ordners an, um festzustellen, ob spezielle Ordnereinstellungen festgelegt werden müssen.

Quelle: https://support.microsoft.com/de-de/help/326549/you-cannot-view-or-change-the-read-only-or-the-system-attributes-of-fo

Dies ist ein alter Artikel, der jedoch für alle Windows-Versionen gilt.

Um das Erstellen von Dateien in einem Ordner zu verhindern, ändern Sie die Berechtigungen über die SecurityRegisterkarte in den Ordnereigenschaften. Klicken Sie auf die AdvancedSchaltfläche und fügen Sie eine Regel hinzu, auf die der Zugriff verweigert werden soll Create Files / Write Data.

David Marshall
quelle
1
@AlainD Ja. Es ist ein alter Artikel, der jedoch weiterhin für neuere Windows-Versionen gilt. Ich werde später zurückkommen und die Antwort erweitern.
David Marshall
1
Das Attribut "Schreibgeschützt" eines Ordners hat also absolut nichts damit zu tun, dass er überhaupt schreibgeschützt ist? Ist es nicht mehr als ein riesiger UX-Fehler?
Pedro A
6
@Hamsteriffic Es ist ein Erbe aus einem FAT-Dateisystem. FAT unterstützte bisher nur wenige Dateiattribute, darunter RO. NTFS verfügt über einen ausgeklügelten ACL-Mechanismus für die Zugriffssteuerung, sodass FAT-Attribute bei Verwendung von NTFS keine Rolle spielen. Der fragliche Dialog wurde jedoch vor vielen Jahren entwickelt, als FAT noch weit verbreitet war und sich seitdem nie geändert hat.
Oakad
4
@ Hamsteriffic Also, um Oakads Kommentar zusammenzufassen: Ja.
Alexander Kosubek
2
@jrh Er schrieb einen im Jahr 2003 blogs.msdn.microsoft.com/oldnewthing/20030930-00/?p=42353
David Marshall