chrischnian
Goto Top

Rechte Vergabe für Verzeichnis x ändern

Ordner "C:\keinZugriff" soll gesucht werden und neue Berechtigungen gesetzt werden.

Hey Leute,

habe folgendes Problem. Laufwerk X hat viele Ordner mit gleichen Aufbau.

Siehe:

C:\AAxxxx\AABBxx\AABBCC\Ordnerx
C:\11xxxx\1122xx\112233\Ordnerx
C:\ZZxxxx\ZZYYxx\ZZYYXX\Ordnerx

nun soll der Ordnerx eine komplett neue Berechtigung bekommen. Dies von Hand zu machen wäre wahnsinn denn das wäre eine Aufgabe von 1 Woche. Wie würdet ihr so was machen?

Bin für viele Vorschläge offen.

Gruss

Chris

Content-Key: 149660

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

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

Member: bastla
bastla Aug 25, 2010 at 07:10:24 (UTC)
Goto Top
Hallo chrischnian!

Um den Detailgrad Deiner Fragestellung in der Antwort nicht zu übertreffen: Mit Batch unter Verwendung von "cacls" (oder was Dein nicht genanntes BS alternativ dazu bietet) ...

Grüße
bastla
Member: chrischnian
chrischnian Aug 25, 2010 at 07:14:22 (UTC)
Goto Top
Sorry das OS ist Windows 2008 R2

Unter Linux selbst hätte ich weniger Probleme aber leider habe ich hier nur einen Windows 2008 R2 zur Verfügung.
Member: bastla
bastla Aug 25, 2010 at 07:28:07 (UTC)
Goto Top
Hallo chrischnian!

Damit wissen wir zB aber noch immer nicht, ob es die "Ordnerx" nur in der 4. Ordnerebene gibt bzw ob die Ebene egal ist, oder ob tatsächlich die bestehenden Berechtigungen ersetzt oder nur bearbeitet werden sollen, ob dies auch für die enthaltenen Dateien / Unterordner erforderlich ist, ...

Im einfachsten Fall sähe das (direkt in der CMD-Shell eingegeben) etwa so aus:
for /f "delims=" %i in ('dir /s /b /ad "C:\Ordnerx"') do @echo icacls "%i" /grant:r Administratoren:F EineGruppe:R
Das "echo" bewirkt, dass die Befehle (zum Testen) nur angezeigt, aber nicht ausgeführt werden.

Um die Zeile als Batch zu verwenden, jeweils "%%i" anstelle von "%i" schreiben.

"icacls /?" listet die zur Verfügung stehenden Optionen auf.

Grüße
bastla
Member: chrischnian
chrischnian Aug 25, 2010 at 07:44:20 (UTC)
Goto Top
Achso ok also hier nochmal alles.

Die zu verändernden Ordner sind immer in der gleichen Ebene. Die darunter liegenden Ordner sollen nicht geändert werden da diese ja vom oberen geerbt bekommen.

X:\xxxxxx\xxxxxx TEXT Name\xxxxxx TEXT TEXT\Ordner

Angedacht war das zuerst alle Berechtigungen gekillt werden und danach diese neu gesetzt werden.

Bei uns ist das Laufwerk X komplett freigegeben damit die jeweilige Abteilung "K" darauf Zugriff hat. Es kommen aber zur Zeit immer mehr Zeitarbeiter diese sollen in gewisse Unterordner keinen Zugriff haben um nicht Daten kopieren zu können.

Ich dachte mir das ich auf X selbst für die Abteilung "K" Vollzugriff gebe und diese dann arbeiten kann.

Unterordner wie oben angegeben bekommen eine eigene ACL in der die Zeitarbeiter keinen Zugriff haben. Da ja Unterorder von Hauptordner ihre Rechte vererben sollte es nicht nötig sein jeden Ordner zu bearbeiten.

DIe Zeitarbeiter sind dann gleichzeitig in der Gruppe Zeitarbeiter und Abteilung "K" sollten somit auf das Laufwerk X Vollzugriff haben bis auf die Ordner die seperat für die Gruppe gesperrt sind.

Wie gesagt Server bzw OS ist ein 2008 R2

So nun sollte ich alles haben face-smile
Member: bastla
bastla Aug 25, 2010 at 08:14:25 (UTC)
Goto Top
Hallo chrischnian!

Die Einschränkung auf die 4. Ordnerebene sollte sich so realisieren lassen:
for /f "delims=" %i in ('dir /s /b /ad "X:\Ordnerx"') do @for /f "tokens=5 delims=\" %a in ("%i") do @if /i "%a"=="Ordnerx" @echo icacls "%i" /deny Zeitarbeiter:F
Damit sollte für die entsprechenden Ordner zusätzlich zu den bereits vorhandenen (geerbten) Berechtigungen der Gruppe "Zeitarbeiter" der Zugriff verweigert werden - den "icacls"-Befehl kannst Du auch einzeln testen, indem Du zB
icacls "X:\xxxxxx\xxxxxx TEXT Name\xxxxxx TEXT TEXT\Ordner" /deny Zeitarbeiter:F
eingibst.

Dass Du bei Verwendung einer "Verweigerung" besonders vorsichtig sein solltest, ist Dir vermutlich bekannt ...

Grüße
bastla