Rechtevergabe über icacls-Befehl ändern
Hallo,
ich habe eine Batchdatei, mit der ich die Rechte der Gruppe "TEST" ab Level 3 auf "Ändern" setze.
Das funktioniert sehr gut.
Der Code dafür sieht so aus:
Nun möchte ich jedoch gerne für die gleiche Gruppe "TEST" die Rechte für Level 1 + 2 auf "Lesen + Ausführen" ändern. Dort haben sie derzeit auch "Ändern"-Rechte.
Das bekomme ich irgendwie nicht hin...
Könnt Ihr da weiterhelfen?
Danke und Grüße,
BN
ich habe eine Batchdatei, mit der ich die Rechte der Gruppe "TEST" ab Level 3 auf "Ändern" setze.
Das funktioniert sehr gut.
Der Code dafür sieht so aus:
icacls "Z:\Start\Level_1\Level_2\Level_3" /grant:r TEST:(CI)(OI)(M)
Nun möchte ich jedoch gerne für die gleiche Gruppe "TEST" die Rechte für Level 1 + 2 auf "Lesen + Ausführen" ändern. Dort haben sie derzeit auch "Ändern"-Rechte.
Das bekomme ich irgendwie nicht hin...
Könnt Ihr da weiterhelfen?
Danke und Grüße,
BN
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 673455
Url: https://administrator.de/forum/icacls-rechte-aendern-windows-673455.html
Ausgedruckt am: 20.06.2025 um 12:06 Uhr
7 Kommentare
Neuester Kommentar
Moin,
Falls die ändern Rechte geerbt sind, Vererbung deaktivieren
falls die Rechte explizit vergeben waren, vorher zurücksetzen...
... oder vorher Löschen
Gruß Thomas
Falls die ändern Rechte geerbt sind, Vererbung deaktivieren
icacls "Z:\Start\Level_1" /inheritance:r /grant TEST:(OI)(CI)(RX)
falls die Rechte explizit vergeben waren, vorher zurücksetzen...
icacls "Z:\Start\Level_1" /reset
icacls "Z:\Start\Level_1" /grant TEST:(OI)(CI)(RX)
icacls "Z:\Start\Level_1" /remove:g TEST
icacls "Z:\Start\Level_1" /grant TEST:(OI)(CI)(RX)
Gruß Thomas
Hi
Am elegantesten löst du dein Problem in dem du List Rechte setzt bzw. Ebene 1 und 2 leserechte und Ebene schreibrechte aber ohne Vererbungsunterbrechung. Das fällt einem sonst auf die Füße.
Hier wäre ein Ansatz allerdings in Powershell lässt sich aber auch mit icacls so umsetzen
NTFS Berechtigungstool mit Active Directory Gruppen Erstellung
Mit freundlichen Grüßen
Nemesis
Am elegantesten löst du dein Problem in dem du List Rechte setzt bzw. Ebene 1 und 2 leserechte und Ebene schreibrechte aber ohne Vererbungsunterbrechung. Das fällt einem sonst auf die Füße.
Hier wäre ein Ansatz allerdings in Powershell lässt sich aber auch mit icacls so umsetzen
NTFS Berechtigungstool mit Active Directory Gruppen Erstellung
Mit freundlichen Grüßen
Nemesis
Ab Level 3 sollen die Berechtigungen für beide Gruppen ja so stehen bleiben, wie sie jetzt sind (also auf "Ändern"). Da müsste ich also dann wohl nichts ändern.
Wenn du die Berechtigungen für Level1 änderst, ändern sich damit auch die Berechtigungen für Level 3 - da diese ja derzeit vererbt werden. Wenn du in Level 1 jetzt die Vererbung deaktivierst, erbt auch Level 3 natürlich nicht mehr von Root.Du musst zuerst die vererbten Rechte in Level 3 durch explizite Berechtigungen ersetzen:
icacls "Z:\Start\Level_1\Level_2\Level_3" /inheritance:d
Und dann erst die Vererbung in Level 1 deaktivieren und durch andere explizite Rechte ersetzen:
icacls "Z:\Start\Level_1" /inheritance:r /grant TEST:(OI)(CI)(RX) GRUPPE2:(OI)(CI)(RX)
Alle Änderungen sollen natürlich auch für sämtliche Unterverzeichnisse der jeweiligen Ebene gelten. Ist das dann automatisch so?
natürlich, das "(OI)" bedeutet "object inherit", also alle Dateien erben die Rechte und das "(CI)" bedeutet "container inherit", also alle Unterordner erben die Rechte.
Richtig, du sagst ja in Level 1 "TEST: (OI)(CI)(RX)" also die Rechte werden an Unterordner und somit also Level 2 weitervererbt.
Natürlich immer vorrausgesetzt, dass die Vererbung in Level 2 nicht deaktiviert wurde.
Natürlich immer vorrausgesetzt, dass die Vererbung in Level 2 nicht deaktiviert wurde.