Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel bietet eine Lösung für ein Problem, bei dem geerbte Berechtigungen beim Verschieben von Ordnern nicht automatisch aktualisiert werden.
Ursprüngliche KB-Nummer: 320246
Symptome
Eine Zugriffssteuerungsliste (Access Control List, ACL) kann Berechtigungen anzeigen, die als von dem übergeordneten Element geerbt wurden, aber das übergeordnete Element selbst hat diese Berechtigungen möglicherweise nicht in seiner ACL konfiguriert. Dieses Symptom kann auftreten, auch wenn die Vererbung noch aktiviert ist. Jede nachfolgende Änderung an der ACL des übergeordneten Ordners bewirkt, dass die ACL des untergeordneten Elements die geerbten Berechtigungen erhält. Außerdem bewirkt jeder Versuch, die ACL des untergeordneten Elements zu ändern, dass die Vererbung angewendet wird (es sei denn, die Änderung kennzeichnet die ACL als vor vererbung geschützt). Dieses Verhalten kann überraschend sein, wenn der Vererbungszustand noch nicht angegeben wurde, bevor Sie mit der Bearbeitung der ACL beginnen.
Notiz
Dieses Verhalten kann nicht durch das Verschieben eines Ordners verursacht werden, wenn Sie einen Windows Vista-basierten Computer ausführen. Der Verschiebungsvorgang funktioniert jetzt, da der Ordner oder die Datei ACL des Zielordners oder der Zieldatei erben kann. Der Ordner oder die Datei verfügt auch über Berechtigungen, die als vom übergeordneten Element geerbt wurden. Dies ist eine Änderung des Designs von Windows XP zu Windows Vista und Windows Server 2008.
Ursache
Dieses Verhalten kann durch das Verschieben eines Ordners verursacht werden. Wenn Sie einen Ordner verschieben, wird die ACL nicht geändert, und die geerbten Berechtigungen werden nicht aktualisiert. Beachten Sie, dass verschieben im Kontext dieses Artikels immer bedeutet, innerhalb desselben Volumes zu wechseln.
Wenn Sie eine Datei oder einen Ordner verschieben, wird die ACL ebenfalls verschoben und nicht auf irgendeine Weise geändert. Auch wenn die Vererbung für diesen Ordner aktiviert ist, werden die geerbten Berechtigungen nicht automatisch aktualisiert. Die ACL wird aktualisiert, wenn Sie die Berechtigungen das nächste Mal ändern, und dadurch wird das übergeordnete Element gezwungen, seine Berechtigungen zu verteilen.
Dieses Verhalten kann auch durch Folgendes verursacht werden:
Das Festlegen der Berechtigungen eines übergeordneten Ordners mithilfe von CACLS wird nicht an die Unterordner weitergegeben. Die Option "/T" bedeutet nicht, die Rechte mithilfe der Vererbung zu verbreiten, sondern alle ACLs zu überschreiben.
Festlegen der Berechtigungen eines übergeordneten Ordners mithilfe einer API, die die Vererbung nicht automatisch verteilt (z. B. Adssecurity.dll).
Wiederherstellen von einer Sicherung an einem anderen Speicherort.
Lösung
Um unerwartete Berechtigungsänderungen zu vermeiden, legen Sie die ACL der Datei/des Ordners auf "geschützt " fest, bevor Sie die Einstellungen beibehalten möchten. Aktualisieren Sie andernfalls die ACL der verschobenen Datei/des Ordners mithilfe des Explorer-ACL-Editors manuell. Deaktivieren Sie die Vererbung, und aktivieren Sie die Vererbung erneut, um zu erzwingen, dass die ACL mit den richtigen geerbten Berechtigungen aktualisiert wird. Sie können auch ein VBScript verwenden, um diesen Prozess zu automatisieren.
Status
Es handelt sich hierbei um ein beabsichtigtes Verhalten. Dieses Verhalten tritt aufgrund der Entwurfsänderung in Windows Vista nicht auf.
Schritte zum Reproduzieren des Verhaltens
- Erstellen Sie einen Test1-Ordner mit "everyone:read" und "users:change permissions".
- Erstellen Sie einen Test1\Subordner, und aktivieren Sie die Vererbung von übergeordnetem Element (Standardeinstellung). Dieser Ordner sollte "everyone:read" und "users:change" als geerbte Berechtigungen anzeigen.
- Erstellen Sie einen weiteren Ordnertest2 mit nur Administratoren:Vollzugriffsberechtigungen.
- Verschieben Sie den Unterordner in "test2".
- Zeigen Sie die Berechtigungen für "test2\sub" an, um "everyone:read" und "users:change" als geerbte Berechtigungen anzuzeigen, obwohl die Übergeordnete Berechtigung "administrators:full control" lautet.
- Fügen Sie eine weitere Gruppe/einen anderen Benutzer (z. B. Gast) zur ACL der Untererteilung hinzu, z. B. Lesezugriff mit dem Explorer-ACL-Editor. Nachdem Sie auf "Übernehmen" geklickt haben, werden "everyone:read" und "users:change", und nur "administrators:full control" wird als geerbte Berechtigungen neben dem soeben hinzugefügten angezeigt.