Automatisierte Vergabe von NTFS Berechtigungen

commandcraxx

Ensign
Registriert
Mai 2011
Beiträge
183
Hallo CB'ler,

ich habe eine wundervolle Aufgabe bekommen und will einfach mal einen Lösungsansatz mit euch diskutieren.

Ich habe eine Win2k8 Domäne in der es einen allgmeinen Datenshare gibt. Dieser Datenshare soll nach langer Zeit mit Berechtigungen versehen werden. Es soll ja nicht jeder alles sehen.

Ich habe bereits Berechtigungen dort vergeben. Allerdings muss ich die Berechtigungen für eine Gruppe jetzt noch einmal ändern. Da die meisten Berechtigungen der Gruppe sehr verschachtelt sind, würde ich den Prozess gern irgendwie automatisieren.

Ich hab mir das so vorgestellt, dass überall wo die Gruppe in den Berechtigungen steht die Änderung an den Berechtigungen vollzogen wird.

Ich hatte überlegt, dass man das evtl. mit setACL.exe und einem Batch Script lösen kann. Ich bin mir aber nicht sicher ob es nicht noch einen anderen effektiveren Ansatz gibt. Vor Allem auch einen Ansatz der ggf. die Vererbten Ordner berücksichtigt.

Habt ihr da eine Idee?

Vielen Dank im voraus.
 
Was bedeutet "Da die meisten Berechtigungen der Gruppe sehr verschachtelt sind"?

Du kannst doch die Berechtigungen auf den übergeordneten Ordnern setzen und dann auf die untergeordneten Ordner replizieren lassen / sie ersetzen lassen. Verstehe dein Problem nicht so ganz.
 
Naja ich habe auch Unterordner bei denen die Vererbung aufgehoben wurde, weil diese von bestimmten Personen nicht gesehen werden dürfen. Ein fiktives Beispiel dazu:

C:\Listen\Buchhaltung
C:\Listen\Umsätze
C:\Listen\Einkauf

Der Einkauf hat in dem übergeordneten Ordner Listen Das Recht den Inhalt des Ordners zu lesen. Darf dort keine Dateien oder Ordner erstellen. Der Einkauf hat ebenfalls keine Berechtigungen auf die in Listen befindlichen Ordner Buchhaltung und Umsätze zu zugreifen. Bei den beiden eben genannten Ordnern ist die Vererbung aufgehoben, um genau diesen Fall realisieren zu können. Das Problem daran ist, will man die Berechtigungen verändern, d.h. nur die Berechtigungen für Einkauf ändern, muss man her gehen und alle Ebenen und Ordner anfassen, in denen Einkauf vorkommt. Wenn die Vererbung aufgehoben ist, dann kann ich nicht einfach die Berechtigungen des übergeordneten Objektes anfassen, da ich sonst andere Berechtigungen verändere oder zerstöre.

Ich hoffe man kann sich jetzt in etwa vorstellen was ich mit verschachtelt meine.

Auch interessant ist es Berechtigungen für Gruppen zu entfernen, wenn die Gruppe an sich nicht mehr existiert. Wenn ich die Gruppe dann in der AD lösche, dann habe ich Sie dennoch in den Berechtigungen drin stehen, oder nicht? Wie realisiere ich dann dass ich nur genau diese Gruppe aus den Berechtigungen lösche ohne dabei die restlichen Berechtigungen zu "beschädigen"?
 
Wenn du solche geordneten Strukturen durchgehend hast, dann brauchst du doch nur für die Buha, Einkauf etc. die Berechtigungen auf die Ordner Buha, Einkauf etc. geben und nicht auf Listen. Wieso auch auf Listen, wenn sie nur auf die darunterliegenden Ordner zugreifen müssen?!

lternativ gestalte die Ordner um. Mach einen Ordner Buha und darunter Listen. Mach einen Ordner Einkauf und darunter Listen etc.. Dann tust du dich mit der Verwaltung auch leichter. Dann kannst du auch bspw. Netzlaufwerke Buha, Einkauf etc. anlegen und keiner kann die anderen sehen.

Oder eben du setzt die Berechtigungen erst ab der Ebene auf dem die Abteilung darauf zugreifen soll. In dem Fall dann ab ...\Buha. Dann hast du deine zehn, zwanzig übergeordnete Ordner und die kann man manuell ja einfach durchgehen. Das ist ja kein Akt.

Wenn du die Gruppe aus der AD löscht und anschließend in die Sicherheitsberechtigungen schaust, solltest du eine lange Zahlenkombination als User sehen, welcher das dementsprechende Recht der gelöschten Gruppe hat. Wenn du die Rechte anschließend editierst, kannst du den User entfernen (unter erweitert) und anschließend kommt die Abfrage die Rechte zu kopieren. Dann bleiben die Rechte erhalten und nur die gelöschte Gruppe wird entfernt.

Teste das doch einfach mal mit einer Test-Gruppe unter einem neuen Ordner.
 
Zuletzt bearbeitet:
tic.tac schrieb:
Wenn du solche geordneten Strukturen durchgehend hast, dann brauchst du doch nur für die Buha, Einkauf etc. die Berechtigungen auf die Ordner Buha, Einkauf etc. geben und nicht auf Listen. Wieso auch auf Listen, wenn sie nur auf die darunterliegenden Ordner zugreifen müssen?!

Die Idee ist gut, aber wenn ich nicht wenigstens Lesend auf Listen setze, wird der Ordner erst gar nicht angezeigt. Oder mach ich da was falsch?

tic.tac schrieb:
lternativ gestalte die Ordner um. Mach einen Ordner Buha und darunter Listen. Mach einen Ordner Einkauf und darunter Listen etc.. Dann tust du dich mit der Verwaltung auch leichter. Dann kannst du auch bspw. Netzlaufwerke Buha, Einkauf etc. anlegen und keiner kann die anderen sehen.

Des Weiteren die Struktur so zu verändern, so dass Buchhaltung \ Listen und Einkauf \ Listen entstehen, wird schwer umsetzbar sein. Dazu muss der komplette Verzeichnisbaum auseinander genommen werden und vor Allem anderen muss auch klar getrennt werden. Die klare Trennung existiert akutell noch nicht in dem Verzeichnis. D.h. du hast viele Grau Zonen in den Ordnern, wo bei einigen Ordnern eigentlich mehrere Berechtigungsnehmer drauf müssten, aber für einzelne Dateien in diesen Ordnern dann aber wieder doch nicht. Ich hoffe du verstehst wo ich hin will.

tic.tac schrieb:
Wenn du die Gruppe aus der AD löscht und anschließend in die Sicherheitsberechtigungen schaust, solltest du eine lange Zahlenkombination als User sehen, welcher das dementsprechende Recht der gelöschten Gruppe hat. Wenn du die Rechte anschließend editierst, kannst du den User entfernen (unter erweitert) und anschließend kommt die Abfrage die Rechte zu kopieren. Dann bleiben die Rechte erhalten und nur die gelöschte Gruppe wird entfernt.

Wenn ich die Gruppen mit der Hand entfernen müsste, muss ich ja dann wirklich jeden Ordner anfassen und die Gruppe löschen, was ist mit Ordnern, die nicht durch Vererbung gegeben sind? Da würde eine automatisierte Variante, die automatisch alle Ordnerstrukturen durchläuft besser sein.
 
Zuletzt bearbeitet:
Ich versteh dich voll und ganz. War ja nur ein Denkanstoß, dass man vllt die Ordnerstruktur in Zukunft anders machen könnte damit man ne leichtere Verwaltung hat.

Was du machen könntest, wäre ein Script mit Hilfe von icacls zu schreiben.

Beispiel:

C:\user\test\folder\test.txt -> Eingabeaufforderung hier starten

icacls test /remove domain\testgruppeoderbenutzer /t

/t sorgt dafür, dass alles untergeordnete in dem angegebenen Pfad (C:\user\test) mit durchgearbeitet werden. Inkl. der darunterliegenden Dateien

Anschließend mit icacls test /grant domain\testgruppeoderbenutzer:f (für Vollzugriff) /t die Rechte übernehmen

Die Parameter bekommst du natürlich mit icacls /?

Teste das doch mal bei Testordnern und berichte ob es deinen Vorstellungen entspricht
 
Danke für den Tipp, das probiere ich morgen gleich mal aus.
 
Zurück
Oben