Dateisystemberechtigungen beim Kopieren und Verschieben

By Marc

Wer des Öfteren Projekte im Windows Fileserver Umfeld macht, stolperte sicher schon das ein oder andere Mal über dieses Thema: Es werden die detailliertesten Berechtigungskonzepte ausgearbeitet und implementiert, die User sortieren ihre Daten in die neu erstellte Dateiablage und plötzlich erscheinen seltsame Berechtigungen in den Unterordnern – obwohl doch die Anwender überhaupt keine Berechtigung zum Ändern der ACLs haben …

Grund hierfür ist meist die Art und Weise, wie Microsoft mit den Berechtigungen umgeht, wenn diese mit dem Explorer (!) kopiert oder verschoben werden. Im KB 310316 wird das Verhalten des Explorer bei der Behandlung von Dateioperationen genau beschrieben:

By default, an object inherits permissions from its parent object, either at the time of creation or when it is copied or moved to its parent folder. The only exception to this rule occurs when you move an object to a different folder on the same volume. In this case, the original permissions are retained.

Wenn also Dateien auf dem gleichen Volume verschoben werden, übernimmt Microsoft die Berechtigungen der Quelle und ignoriert die des Zielordners. Dieses Verhalten ist im o.g. KB Artikel für Windows XP beschrieben (und auch die Lösung dafür), gilt aber auch für alle nachfolgenden Betriebssysteme. Allerdings scheint das Verhalten nicht ganz vorhersehbar, denn ich hatte Projekte, in denen ich mit Windows Server 2012 R2 und Windows 7 Clients das Phänomen zuverlässig nachstellen konnte, bei einem anderen Kunden trat es nur sporadisch auf.

Laut KB 310316 kann das Verhalten mit Registry Keys (auf den Clients!) wie folgt verändert werden:

Mit dieser Änderung werden die ACLs der Quelle immer mit in das Ziel übertragen:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
Value name: ForceCopyAclwithFile
Data type: DWORD
Value data: 1

Und hiermit werden immer die ACLs des Zielordners genutzt:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
Value name: MoveSecurityAttributes
Data type: DWORD
Value data: 0

Das klappt soweit auch ganz gut, wenn man noch Windows XP einsetzt … alle anderen Versionen ignorieren die Registry Keys leider. Aber auch dafür gibt es eine Lösung: KB 2617058. Es gibt einen Hotfix, der dem Betriebssystem die Beachtung des Registry Keys wieder beibringt.

Ich würde allerdings empfehlen, zuerst einmal das Szenario zu überprüfen, ob das Phänomen in Eurer Umgebung überhaupt auftritt und ob es den geplanten Berechtigungen widerspricht – ich bin kein Fan vom “Patchen auf Verdacht”.

Loading