Setzen von NTFS Berechtigungen ...

MarcBesken

Lieutenant
Registriert
Sep. 2006
Beiträge
946
Hallo Jungs und Mädels,

ich bin leider nicht so PowerShell-erfahren und möchte gerne Folgendes erreichen...

In einem Share auf einem Windows File Server (sagen wir mal 2008R2 aufwärts) möchte ich direkt am Root-Share eine Berechtigung hinzufügen, die sich durch alle Unterverzeichnisse und Dateien durchvererbt und die bestehenden Rechte allesamt ersetzt und ich möchte, daß das Skript nicht abgebrochen wird oder nachfragt, wenn z.B. auf dem Ordner oder einer Datei keinerlei Berechtigungen existieren oder sogar noch nicht mal effektive Rechte.

Wer kann mir da auf die Sprünge helfen und hat ein passendes möglichst einfaches Skript parat?

Gruß
Marc
 
Als Erstes solltest Du daran denken, dass man nicht an irgendwelchen Rechten einer Freigabe(Share) rumbastelt, sondern die Rechte an dem Verzeichnis auf dem Server aendert.
Fuer Deine Scripterei beschaeftige Dich mit Takeown, Icacls und Attrib. Das sind bekannterweise Bordmittel von Windows und genau dafuer da was Du machen willst. Wenn Du die drei Tools verstanden hast, suchst Du Dir den Rest per DuckDuckGo zusammen.

BFF
 
Hallo BFF,

zunächst mal, bitte mach Dir keine Sorgen. Ich beschäftige mich bereits seit 25 Jahren mit FileServern beginnend mit Novell Netware v2.x bis v6.5 und Windows Servern seit NT v3.5 :cool_alt:

Leider ist die Windows NTFS-Rechteverwaltung um ein Vielfaches Komplexer, als die Trustee-Verwaltung unter Novell und auch noch Schlechter in der Handhabung, aber das ist ein anderes Thema.

Wir reden hier von einem Windows 2012R2 FileServer, den ich als Kopie unter einem anderen Namen aus einem Backup wiederhergestellt und offline aus der Domäne entfernt und umbenannt habe und nicht etwa von einem Produktiv-System. Somit also die perfekte Spielwiese. Dort habe ich festgestellt, daß es mittlerweile wieder nicht möglich ist, auf dem Root-Share eine Berechtigung zu setzen, ohne daß das System sich nicht mit einer Fehlermeldung zurückmeldet, daß dieses neue Recht auf dem Root-Share nicht überall durch repliziert werden kann und mit der Rechtesetzung unterbricht. Was für ein Horror, daß Windows hier durch alle Verzeichnisse und Dateien durchwandern muß im Gegensatz zu NetWare, wo einfach die Vererbung aktiviert wird, ohne sämtliche Verzeichnisse und Dateien durchzuackern.

Leider ist es unter Windows und bei Nutzung von NTFS häufig so, daß Anwender (Vermutung) es schaffen, trotz fehlendem Full Control, Verzeichnisse oder einzelne Dateien so auf dem FileServer in Ihren berechtigten Verzeichnissen abzulegen, daß selbst ein Administrator zunächst erstmal keine Security einsehen kann und sich erstmal selber Rechte verschaffen muß, in dem der Owner übernommen wird und Rechte für den Administrator vergeben werden müssen, obwohl auf dem jeweiligen Root-Share der lokale Adminstrator und System mit Full Control berechtigt sind und dies auch standardmäßig weiter vererbt wird. Ich habe sogar schon Verzeichnisse und einzelne Dateien in Verzeichnissen gesehen, die mit Deny für manche Rechte geflaggt waren, ein Horror hier mit der Vererbung rumzudoktern. Kann mir aber auch nicht vorstellen, daß ein Standard-Anwender hier explizit mit der NTFS-Berchtigung rumspielt, sondern dies eher durch Verschiebung von Dateien passiert, wo ja innerhalb einer Windows NTFS-Partition, die Rechte aus dem alten Verzeichnis mitwandern :grr:

Mit TAKEOWN hatte ich mich bereits beschäftigt und zumindest den Owner durch alle Verzeichnisse hinweg auf einen Administrator geändert und jeden Prompt standardmäßig mit Y beantwortet. Lief zunächst mal.

Im Vorfeld habe ich mich schon mit Get-Acl und Set-Acl über diverse Internet-Seiten mit Powershell versucht, aber zwecks fehlender Zeit bisher nur rudimentär. Ich befürchte, daß ich mich wohl trotzallem damit beschäftigen muß, da ich noch Nichts Pasendes habe.

Mir ging es hier bei dem zurückgesicherten 2012R2-Server um das Finden von Dateien, die zwischen einem Zeitpunkt X und Y neu hinzugekommen oder verändert worden sind, Bei mehr als 1TB Daten recht aufwendig und vor allem unmöglich, wenn selbst der lokale Adminstrator keine Berechtigung hat, weil die Security einzelner Verzeichnisse spinnt oder Vererbung abgeschaltet ist.

Deshalb wollte ich die Security mit einem Skript ab einem Root-Share komplett zurücksetzen und neu vergeben, so daß der eben erwähnte Suchvorgang ohne Unterbrechung durchläuft und die Ergebnisse nicht aufgrund fehlender Rechte verfälscht werden.

Gruß
Marc
 
Viel geschrieben hast Du. ;-)

Vergiss mal das Wort Share, wenn Du lokale Verzeichnisse meinst und daran rumbasteln willst. Ein(e) Share/Freigabe ist komplett losgeloest von Verzeichnissen, wenn es um Verzeichnisrechte auf irgendwelchen Platten geht.

Was Du da schreibst, was Nutzer tun koennen und auch tun, ist die Folge wenn man die Nutzer das tun laesst, sprich die Rechte der Verzeichnisstruktur nicht granular geregelt sind. Ok, hilft Dir jetzt nicht, weil Du hast ja mit den Resultaten zu kaempfen.

Wenn Du ein Verzeichnis komplett wieder in "Deinen" Besitz bringen willst, ist der richtige Weg Takeown und Icacls. Recht gut beschrieben hier.
https://hope-this-helps.de/serendip...esitz-Berechtigung-setzen-in-der-cmd-460.html
https://www.windowspro.de/wolfgang-...shell-besitzer-von-dateien-unter-ntfs-aendern
Wenn Du es "grafisch" brauchst, nimm das. Es ist eine GUI fuer Takeown und Icacls.
http://lallouslab.net/2013/08/26/resetting-ntfs-files-permission-in-windows-graphical-utility/

BFF
 
Wenig geschrieben hast Du ;)

Ich kann das Wort Share nicht weglassen, weil es bei sämtlichen FileServern bei uns die Basis für die Rechtestruktur ist, denn nur an einem Share kann Access Based Enumeration (kurz ABE) aktiviert werden. Damit eine Plausibilitätsprüfung noch vor Zugriff auf das Verzeichnis möglich ist (ähnlich, wie es bei Novell NetWare war), damit der Anwender nur die Verzeichnisse sieht, auf die er auch tatsächlich zugreifen kann. Das ganze funktioniert über verschachtelte DomainLocal-Groups (würde aber zu aufwendig jetzt, dies Genauer zu erklären).

Wie auch immer! Das Root-Verzeichnis auf dem die ganze Rechte-Struktur basiert, ist gleichzeitig der Haupt-Share. Dort liegen keine direkten Rechte für Anwender vor, sondern erstmal nur Browse-Rechte über DomainLocal-Groups, erst in den Unterverzeichnissen kommen die eigentlichen ActiveDirectory-Gruppen (meist GlobalGroups) zum Tragen, die Mitglieder enthalten. Das ist sehr granular aufgebaut, verhindert aber auch gleichzeitig, daß man mehr als einen Share pro NTFS-Partition benutzen muß, was der Übersichtlichkeit dient. Anwender haben dann über ActiveDirectory-Gruppen R- oder RW-Rechte und durch Direktzuweisung auf Ihr Heimat-Verzeichnis immer RW-Rechte, allerdings niemals FullControl, so daß Sie weder die Rechte-Struktur, noch die Vererbung brechen können sollten.

Das Problem ist auch nicht unsere Rechtestruktur, die nicht nur über ABE ein Plausibilitätsprüfung vor Zugriff erlaubt, sondern auch sehr strukturiert und granular aufgebaut ist, sondern Anwender, die Daten aus bestimmten Gruppen-Verzeichnissen der gleichen NTFS-Partition in ein anderes Gruppen-Verzeichnis verschieben und dabei dann die Rechte-Struktur des alten Gruppen-Verzeichnisses mitnehmen mit dem Effekt, daß in einem anderen Gruppen-Verzeichnis plötzlich nur Diejenigen Rechte auf die verschobenen Daten haben, die Mitglied des Verzeichnisses sind, aus dem die Daten ursprünglich verschoben wurden. Das ist eine NTFS-Krücke und gab es so unter Novell NetWare nicht.

Anwender schaffen es selbst in Ihrem Home-Verzeichnis (welches über eine Laufwerksbuchstaben root-gemapt wird), auf Welches sie nie FullControl-Rechte bekommen, einzelne Daten hineinzuspielen (auch in Unterverzeichnissen, die eigentlich die Rechte des Home-Verzeichnisses erben müßten), die plötzlich für Administratoren ohne zusätzliche Bearbeitung nicht einsehbar sind.

Die Folge => keine Security sichtbar. Administratoren müssen sich als Owner berechtigen, sich Zugriffsrechte wieder explizit erteilen, da die Vererbung nicht greift, Daten aus der NTFS-Partition raußkopieren und wieder reinkopieren und erst dann passt die Security und die Vererbung wieder. Wie das Anwender schaffen, ist mir bisher nicht ganz klar.

Fakt ist, daß ich solche Security-Probleme nur unter Windows NTFS kenne. Auf unseren ehemaligen Novell NetWare FileServern hat es solche Probleme nie gegeben. Anwender hatten damals dort niemals Access Control Rechte und konnten somit weder die Rechtestruktur, noch die Vererbung verändern.

Ich werde mir die von Dir genannten Tools mal bei Gelegenheit Genauer anschauen.

Gruß
Marc
 
Zurück
Oben