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-ID: 158787

Url: https://administrator.de/forum/unterschiedliche-ordnerberechtigungen-in-homogener-ordnerstruktur-vergeben-158787.html

Ausgedruckt am: 02.04.2025 um 13:04 Uhr

TuXHunt3R
TuXHunt3R 17.01.2011 um 11:25:45 Uhr
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
rudeboy
rudeboy 17.01.2011 um 12:32:40 Uhr
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?
Logan000
Logan000 17.01.2011 um 14:30:54 Uhr
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.
pieh-ejdsch
pieh-ejdsch 17.01.2011 um 16:05:01 Uhr
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
rudeboy
rudeboy 17.01.2011 um 16:35:51 Uhr
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?
pieh-ejdsch
pieh-ejdsch 17.01.2011 um 17:11:56 Uhr
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