rudeboy
Goto Top

Unterschiedliche Ordnerberechtigungen in homogener Ordnerstruktur vergeben

Guten Morgen liebe administrator.de-ler,

bevor ich mir einen Haufen Handarbeit aufhalse frag ich mal lieber hier nach. ;)

Vorhanden ist eine Ordnerstruktur in folgendem Format:

Ordner1
Buchhaltung
Angebote
Ordner2
Buchhaltung
Angebote

zZ hat jeder alle Berechtigungen in jedem Ordner und Unterordner.
Ziel ist es zB AD-Gruppe Buchhaltung volle Berechtigung auf Ordner Buchhaltung und AD-Gruppe Verkauf volle Berechtigung auf Ordner Angebote zu gewähren. Allgemein soll jeder leseberechtigung überall haben.

Kann man zB per Skript rekursiv gleichen Unterordnern eine bestimmte Berechtigung zuweisen?


Gruß, Thomas

Content-Key: 158787

Url: https://administrator.de/contentid/158787

Printed on: April 25, 2024 at 12:04 o'clock

Member: TuXHunt3R
TuXHunt3R Jan 17, 2011 at 10:25:45 (UTC)
Goto Top
Tag auch

Dafür gibt es das Tool xcacls. Damit kann man Batchdateien machen, die die ACLs setzen. Hier ein Beispiel (nicht getestet):
xcacls D:\Ordner1 /t /c /g Domain/Domain Users:R /y
xcacls D:\Ordner1\Angebote /t /c /g Domain/Verkauf:C /y
xcacls D:\Ordner1\Buchhaltung /t /c /g Domain/Buchhaltung:C /y

xcacls D:\Ordner2 /t /c /g Domain/Domain Users:R /y
xcacls D:\Ordner2\Angebote /t /c /g Domain/Verkauf:C /y
xcacls D:\Ordner2\Buchhaltung /t /c /g Domain/Buchhaltung:C /y

usw. usf.

Die Namen der AD-Gruppen und Ordner musst du natürlich anpassen.

Hier ein Link dazu:
http://support.microsoft.com/kb/318754/de

Ich persönlich würde die Batchdatei schreiben, ordentlich testen (Wird auch die richtige Berechtigung auf den richtigen Ordnern gesetzt?), über Nacht laufen lassen und am nächsten Morgen ein halbes Stündchen früher ins Büro gehen, damit du noch kurz kontrollieren kannst, ob die Batchdatei ordentlich durchgelaufen ist.

Gruss TuXHunT3R
Member: rudeboy
rudeboy Jan 17, 2011 at 11:32:40 (UTC)
Goto Top
Das eigentliche Problem ist aber das ich nicht nur Ordner1 -5 hab was man händisch durchführen könnte sondern hunderte mit identischer Struktur.

Könnte das mit xacls auf den Hauptordner und /T realisierbar sein?
Member: Logan000
Logan000 Jan 17, 2011 at 13:30:54 (UTC)
Goto Top
Moin Moin

Zitat von @rudeboy:
Könnte das mit xacls auf den Hauptordner und /T realisierbar sein?
Wenn Du nochmal scharf auf Hunters Codebeispiel schaust wirst du sehen, das er den Parameter /t bereits angegeben hat, was deine Frage eigetlich beantworten sollte.
Ich denke so wie das Problem liegt bist du mit den Skript immer noch schneller durch als "zu Fuß".

Gruß L.
Member: pieh-ejdsch
pieh-ejdsch Jan 17, 2011 at 15:05:01 (UTC)
Goto Top
moin Thomas,
@l. /t geht aber nicht von alleine in die Unterordner worin Angebote oder Buchhaltung ist.

die Zugriffsrechte kannst Du auch mit CACLS (respektive ICACLS) neu setzen.

das ganze sollte sich mit einem Einzeiler von der CMD abgefeuert bewerkstelligen lassen.
Anstatt D:\ gibst Du den richtigen Pfad an
for /f "tokens=* delims=." %h in ("...@echo") do for %i in (D:\) do (for %a in ("%~iBuchhaltung=Buchhaltung" "%~iAngebote=Verkauf") do for /f "tokens=1,2 delims==" %b in ("%~a") do Dir /s /b /ad "%~b" | findstr /e /i "\%~nxb" && %~h cacls "%~b" /t /e /p %~c:f)& for /f "delims=" %b in ('Dir /b /ad "%~i"') do %~h cacls "%~i%~b" /t /e /p jeder:R  

zum Scharfmachen aus der ersten Forschleife NUR das @echo entfernen.

Gruß Phil
Member: rudeboy
rudeboy Jan 17, 2011 at 15:35:51 (UTC)
Goto Top
Dann muss für "ordner1" aber auch eine Art Wildcard möglich sein oder versteh den Syntax nicht.

Nochmal zur Verdeutlichung, ich habe diese Struktur:

Ordner1
Unterordner1
Unterordner2
.
.
.
Ordner99
Unterordner1
Unterordner2

Oder gibt´s nicht auch die Möglichkeit die Hauptordner einzulesen und dann jeweils die ACL setzen?
Member: pieh-ejdsch
pieh-ejdsch Jan 17, 2011 at 16:11:56 (UTC)
Goto Top
Oder gibt´s nicht auch die Möglichkeit die Hauptordner einzulesen und dann jeweils die ACL setzen?
machts doch!

den HauptOrdner gibst Du anstatt dem "D:\" an

wenn Deine Struktur zB. im Laufwerk e:\ liegt gibts Du anstatt "D:\" "e:\" an - Backslash nicht vergessen!
D:\
- Ordner1
- - Buchhaltung
- - Angebote
-...
- Ordner 99
- - Buchhaltung
- - Angebote
wenn Deine Struktur zB. im Ordner "D:\Meine Daten" liegt: gibst Du anstatt "D:\" "D:\Meine Daten\" ein. - Backslash nicht vergessen!

ich hab noch eine Schleife davor gesetzt, damit Du erst "Testen" kannst (es wird nur angezeigt was gemacht werden würde).
wenn Du nicht mehr Testen möchtest entfernst Du das "@echo" aus der 1. Forschleife die Punkte lässte Drin.

Gruß Phil