erneutes Setzen von Rechten automatisieren

01/09/2008 - 07:48 von Oliver Retz | Report spam
Hi NG,

ich dreh mich etwas im Kreis uns suche eine "coole" Lösung ;-)

Folgende Umgebung:
File-System auf Windows Server 2003 R2. Die Verzeichnisrechte werden bis zur
vierten Ebene fest vorgegeben und danach gelten keine unterschiedlichen
Rechte mehr.

Beispiel:
Verbund
Abteilung1
-Ordner-a
-Verzeichnis-xa1
-Verzeichnis-xan
-Ordner-b
-Ordner-c
-Ordner-d
-Verzeichnis-xd1
-Verzeichnis-xdn
Abteilung2
-Ordner-a
-Verzeichnis-xa1
-Verzeichnis-xan
-Ordner-b
-Ordner-c
-Ordner-d

Unter den Ordnern xa1 usw. können jetzt beliebig viele Verzeichnisse sein.
Auf dem Ordner selber sind zwei Gruppen berechtigt (lesen, lesen&schreiben).
Soweit so gut, das ganze funktioniert auch hervorragend. Das Anlegen der
Struktur bzw. die notwedigen AD-Objekte und die Zuweisgung der
Berechtigungen macht ein VBS-Skript. In Summe sprechen wir hier von einem
sehr umfangreichen Verzeichnis-System und Active-Directory mit einigen
tausend Ordnern und den dazugehörigen Objekten.

Jetzt kommt meine Anforderung und zugleich Frage:
Ich kann den Anwendern das verschieben nicht wegnehmen - also kann es
passieren, dass ein Ordner von Ordner-a\Verzeichnis-xa1 in
Ornder-d\Verzeichnis-xd4 verschoben wird.
Konkret: Ordner-a\Verzeichnis-xa1\beispiel wir verschoben nach
Ordner-d\Verzeichnis-xd4\beispiel.

Es "hàngen" jetzt aber immer noch die Rechte von xa1 dran und nicht die von
xd4 wie es sein sollte.

Das Verschieben kann jetzt aus versehen passieren, oder halt dann, wenn
tatàchlich ein Ordern seinen Bestimmungsort àndert und der Anwender nicht
kopiert und danach löscht.
Das beim Kopieren die Rechte vererbt werden ist mir kar, ebenso dass beim
Verschieben eigentlich nur der Zeiger geàndert wird und dadurch die Rechte
erhalten bleiben. Ebenso klar ist mir, dass das auch die entsprechenden
Rechte für den Anwender in einem solchen Szeanrio erforderlich sind - aber
genau das ist durchaus der Fall.

Wie kann ich jetzt automatisiert dafür sorgen, dass die Rechte "neu gesetzt"
werden? Gibts das was fertiges?
Ich habe über ein Skript nachgedacht, dass sicherlich möglich ist. Nachdem
ich ja auf Grund der festen Struktur und der Verzeichnisnamen genau weiß,
wie die AD-Objekte für jeden Ordner heißen müssen, und ich auch genau weiß,
welches Recht für die jeweilige Gruppe an der Stelle gesetzt sein muss, wàre
das möglich mit xcalcs neu zu setzen. Das Skript müsste dann nur durch
meinen Verzeichnis-Baum pflügen und setzen bzw. nacn unten durchschießen.

Die Frage ist, ob es was eleganteres, "cooleres" gibt ;-)
Ich hab mit dem Scriptlogic SecurityExplorer getestet, aber da habe ich das
Problem, dass ich a) nicht den Status meines Backups genau weiß. Zwischen
meinem Backup-Fenstern könnte ja bereits ein Fehler enthalten sein; UND b) -
das ist hinderlicher - ich kann beim Restore nicht sagen bis zu einer
gewissen Ebene und darunter "durchschießen".

Hat hier jemand Erfahrungen, Ansichten, Meinungen, Tipps, Lösungen?
Bin für jeglichen "sachdienlichen" *grins* Beitrag dankbar.

Oli
 

Lesen sie die antworten

#1 Denis Jedig
01/09/2008 - 11:07 | Warnen spam
On Mon, 1 Sep 2008 07:48:50 +0200 Oliver Retz wrote:

Ich kann den Anwendern das verschieben nicht wegnehmen - also kann es
passieren, dass ein Ordner von Ordner-a\Verzeichnis-xa1 in
Ornder-d\Verzeichnis-xd4 verschoben wird.
Konkret: Ordner-a\Verzeichnis-xa1\beispiel wir verschoben nach
Ordner-d\Verzeichnis-xd4\beispiel.



Du kannst dem, falls du das definitiv so nicht willst, mit
MoveSecurityAttributes[1] abhelfen.

Aber es ist natürlich so, dass bei Anwendung der ACLs des
Zielverzeichnisses durch versehentliches Verschieben plötzlich Benutzer auf
Daten zugreifen können, die vielleicht gar keinen Zugriff auf diese Daten
hàtten haben dürfen.

Ich habe über ein Skript nachgedacht, dass sicherlich möglich ist. Nachdem
ich ja auf Grund der festen Struktur und der Verzeichnisnamen genau weiß,
wie die AD-Objekte für jeden Ordner heißen müssen, und ich auch genau weiß,
welches Recht für die jeweilige Gruppe an der Stelle gesetzt sein muss, wàre
das möglich mit xcalcs neu zu setzen. Das Skript müsste dann nur durch
meinen Verzeichnis-Baum pflügen und setzen bzw. nacn unten durchschießen.



Du könntest versuchen, statt deine ACLs immer wieder überzubügeln, einfach
die Einschaltung der Vererbung durchsetzen. Das ist einfacher zu
implementieren, denn in dem Fall brauchst du für die Skriptimplementtation
nicht mehr die Kenntnis der konkreten ACLs, sondern enumerierst lediglich
deine "vierte" Verzeichnisebene und legst fest, dass die ACLs an allen
Unterobjekten zurückgesetzt und die Vererbung eingeschaltet werden soll.

Bin für jeglichen "sachdienlichen" *grins* Beitrag dankbar.



Du bist im Usenet. Auch wenn der erste Wortteil "Use" (aus dem Englischen:
"to use" für "nutzen, benutzen) einen potentiellen Nutzen suggeriert, wird
es durch das "net" (aus dem Bavarischen, bedeutet "nicht") negiert. Man
erhàlt also in aller Regel genau das, was man nicht haben will.


[1] http://support.microsoft.com/kb/310316
Denis Jedig
syneticon networks GbR http://syneticon.net/service/

Ähnliche fragen