Beim Ausschneiden/Einfügen von Dateien zwischen Ordnern bleiben die ursprünglichen Ordnerberechtigungen nicht mehr erhalten.

Beim Ausschneiden/Einfügen von Dateien zwischen Ordnern bleiben die ursprünglichen Ordnerberechtigungen nicht mehr erhalten.

Bei NTFS-Laufwerken bestand bisher das Verhalten darin, dass beim Verschieben einer Datei die Berechtigungen der Originaldatei beibehalten wurden, sofern die Verschiebung in einen Ordner auf demselben Datenträger erfolgte.

Ich weiß das aus Erfahrung und es kann hier gesehen werden: https://support.microsoft.com/en-us/kb/310316

Aber ich habe heute versucht, dieses Verhalten einem Kollegen zu zeigen, und es hat einfach nicht funktioniert. Jedes Mal hatte die Datei einfach die Berechtigungen des ihr zugeordneten neuen Ordners.

Ich habe es auf drei verschiedenen Rechnern versucht, aber so funktioniert es nicht mehr. Wann wurde es geändert? Und nein, die zuvor erwähnte Registrierungseinstellung ist nicht festgelegt.

Irgendeine Idee, wann sich das geändert hat?

[Bearbeiten]

Nur ein Beispiel um es klarer zu machen

Angenommen, ich habe diese Ordner auf meinem Laufwerk C.

  • C:\Freigegeben
    • \Arbeiten
    • \Finale

Und ich habe vier Gruppen: – Praktikanten – Mitarbeiter – Manager – Mitarbeiter (die die vorherigen drei als Mitglieder haben).

Betrachten wir nun die Berechtigungen (vereinfacht).

  • C:\Freigegeben
    • Vererbt nicht
    • Ermöglicht Administratoren ausdrücklich die vollständige Kontrolle
    • Erlaubt explizit das Ändern für Manager
  • C:\Freigegeben\Arbeiten
    • Erbt von Shared
    • Ermöglicht explizit das Ändern für Mitarbeiter
  • C:\Shared\Final
    • Erbt von Shared
    • Ermöglicht explizit das Vorlesen für Mitarbeiter

Nehmen wir nun an, ich habe eine Datei namens Bullshit.doc im Arbeitsordner.

Wenn die Datei zuvor vom Ordner „In Bearbeitung“ in den Ordner „Endgültig“ verschoben (ausgeschnitten/eingefügt) wurde, behielt sie die ursprünglichen Berechtigungen bei, d. h. Manager und Mitarbeiter konnten die Datei ändern, Praktikanten hatten jedoch keine Berechtigungen.

Wenn ich jetzt versuche, Bullshit.doc zu verschieben, werden beim Verschieben einfach die Berechtigungen vom Ordner „Final“ übernommen, d. h. es wird einfach davon ausgegangen, dass Praktikanten keinen Zugriff haben sollten.

Meine Frage ist: Das hat sich geändert, oder nicht? Oder werde ich verrückt? Ich bin zu 99 % sicher, dass es genauso funktioniert hat, wie in der KB beschrieben.

Ich weiß, dass ich in der Vergangenheit ähnliche Probleme hatte, als Benutzer höherer Ebenen Dateien zwischen Ordnern verschoben (mit unterschiedlichen Berechtigungen) und sich dann beschwerten, dass die Praktikanten die Dateien nicht lesen konnten. Ich musste mehr als einmal erklären, dass Ausschneiden/Einfügen nicht funktionierte, dass sie kopieren/einfügen/löschen müssen. Es war definitiv unter Windows 2003, aber es könnte mindestens 2008 R2 sein.

[Edit 2] Jetzt mit Bildern!!!

Ok, also habe ich beschlossen, es nachzubilden. Mit den tatsächlichen Dateien und nicht mit einfachen Beispielen. Hier ist es ...

Dies ist also der Quellordner. Sehen Sie sich alle impliziten Berechtigungen und die eine explizite Berechtigung an. Irgendein Ordner

Lassen Sie uns dort jetzt eine Datei erstellen. Und überprüfen Sie die Berechtigungen.Nur ein zufälliges Dokument

Zeit, die Datei an das Ziel zu verschieben. Der ursprüngliche Ordner war nur ein temporärer Ordner. Lassen Sie uns die Berechtigungen des Zielordners überprüfen. Weit weniger komplizierte Berechtigungen

Nachdem wir den Ordner verschoben haben, überprüfen wir seine Berechtigungen … Was zum Teufel!!!

Hm … nicht das, was ich erwartet hätte. Selbst wenn es nur eine Datei wäre, sollten die Berechtigungen nach dem, was ich in der obigen KB gelesen habe, erhalten bleiben. Und so habe ich mich auch an das Verhalten erinnert.

Aber es scheint, als hätte sich etwas geändert. Und ich kann keine offizielle Quelle finden, die angibt, wann das passiert ist.

Das lässt mich an meinem Verstand zweifeln.

Antwort1

NTFSentwickelt sich immer noch und verändert sich. Ich glaube, dass die Änderungen im Umgang mit vererbten Berechtigungen erstmals in Vista auftraten und sich in Windows 7 weiterentwickelten. Die Registrierungseinstellung in Ihrem Link stammt aus XP, wird also meines Wissens in neueren Versionen ignoriert.

Um zu verstehen, was passiert, wenn man eine Datei kopiert/verschiebt, muss man zunächst den Unterschied zwischen impliziten und expliziten Berechtigungen verstehen.

Implizite Berechtigungenwerden vom übergeordneten Ordner geerbt und daher mit dem übergeordneten Ordner gespeichert. Sie werden nicht mit den untergeordneten Ordnern gespeichert und sind daher nicht verschiebbar/kopierbar. Mit anderen Worten, diese Berechtigungen gelten nur, wenn sich das untergeordnete Element in seinem übergeordneten Ordner befindet, da sie vom übergeordneten Ordner stammen.

Explizite Berechtigungenwerden manuell in den Ordner/die Datei eingetragen und gespeichert in Zugriffskontrolllisten(ACL) als NTFS-Attribute. Sie können als zum Element gehörig betrachtet werden und können in einigen Fällen mit diesem verschoben werden, wenn das Zieldateisystem ebenfalls NTFS ist.

Einige Konsequenzen dieser NTFS-Architektur sind:

  • Wenn ein Ordner/eine Dateikopiert, werden neue Zieleinträge in den NTFS-Tabellen des Zielordners erstellt. Dadurch verliert die kopierte Datei alle expliziten Berechtigungen und erbt nur noch die Rechte ihres neuen übergeordneten Ordners.
  • Wenn eine Datei/ein Ordnerinnerhalb des gleichen Volumens bewegt, wird sein NTFS-Eintrag mit allen enthaltenen Attributen und Berechtigungen verschoben. Daher behält es alle expliziten Berechtigungen, verliert jedoch seine alten geerbten Berechtigungen und erhält stattdessen die des neuen übergeordneten Ordners.
  • Wenn ein Ordner/eine Dateizwischen verschiedenen Bänden verschobenwird das Verschieben als Kopie behandelt und behält keine der ursprünglichen Berechtigungen bei. Der einzige Unterschied zum Kopieren besteht darin, dass die Quelle gelöscht wird, wenn der Kopiervorgang abgeschlossen ist.
  • Eine Datei/ein Ordner, die/der nur über geerbte Berechtigungen verfügt, hat keine Berechtigung zum Verschieben. Ein solches Element erbt seine Berechtigungen immer vom übergeordneten Ordner.
  • Ein Ordner/eine Datei kann so gekennzeichnet sein, dass er/sie keine Berechtigungen von seinem/ihrem übergeordneten Element erbt. In diesem Fall werden alle seine/ihre Berechtigungen als ACLs gespeichert, also als explizite Berechtigungen.

Dies widerspricht den meisten gängigen Dokumentationen, in denen normalerweise behauptet wird, dass Ordner/Dateien ihre ursprünglichen NTFS-Berechtigungen (sowohl implizit als auch explizit) behalten, wenn sie innerhalb desselben Volumes verschoben werden. Dies war vielleicht einmal in älteren Windows-Versionen der Fall, wurde jedoch von mir und dem Verfasser bestätigt und ist für implizite Berechtigungen in Windows 7 und Windows 10 nicht mehr der Fall.

Ein Beispiel für fehlerhaft dokumentierte Verschiebungsregeln finden Sie im Artikel So werden Datei- und Ordnerberechtigungen beim Verschieben oder Kopieren von Dateien unter Windows 2008 R2 und Windows 7 gehandhabt. Dieser Artikel war die Quelle meiner folgenden Diskussion mit dem Poster, in der wir gemeinsam die wahren Regeln entdeckten, die für das Kopieren und Verschieben in NTFS gelten.

Antwort2

Zu der hervorragenden und umfassenden Erklärung von harrymc muss noch ein weiteres wichtiges Detail hinzugefügt werden. Dieses Detail führt letztendlich zu einem geteilten Verhalten, bei dem sich eine Dateiverschiebung manchmal im Stil von 2003 und manchmal im Stil von 2008 verhält.

Bei der Aktualisierung der Art und Weise der NTFS-Verschiebungen innerhalb von Volumes in 2008/Vista und höher handelt es sich nicht um eine vollständige Überarbeitung, sondern nur um das Hinzufügen eines zweiten Schritts im Hintergrund.

Schritt 1)MFT wird aktualisiert; die Datei wird verschoben und behält die ursprünglichen Berechtigungen
(Genau wie in 2003/XP und früher. Die Änderungen auf diesen Betriebssystemen werden bei diesem Schritt beendet.)

Schritt 2)ACLs werden aktualisiert, um die geerbten Berechtigungen des ursprünglichen übergeordneten Ordners zu löschen und die geerbten Berechtigungen des neuen übergeordneten Ordners anzuwenden.
(Dies ist der zusätzliche Schritt, der in 2008/Vista hinzugefügt wurde, damit Dateien über die Berechtigungen des Zielordners verfügen.)

Wenn der Benutzer, der die Verschiebung durchführt, jedochÄndernRechte und hat nicht ausdrücklich dieBerechtigungen ändernrichtig, Schritt 2 schlägt fehl (aber es wird Ihnen nicht mitgeteilt) und Sie erhalten das alte Verhalten zurück, sodass es so aussieht, als wäre alles wieder im Jahr 2003.

Wenn in diesem Szenario jemand die Datei kopiert und dann das Original löscht (auf die gleiche Weise, wie das Dateisystem eine Verschiebung zwischen Datenträgern handhabt), funktioniert alles wie erwartet.

Es gibt keine elegante Lösung - entweder geben Sie den BenutzernBerechtigungen ändernRechte soSchritt 2kann erfolgreich sein, oder alle zwischen Ordnern mit unterschiedlichen Berechtigungen auf demselben Dateiserver-Volume verschobenen Dateien behalten ihre ursprünglichen Berechtigungen, bis sie zwangsweise erneut übertragen werden.

verwandte Informationen