icacls

Zeigt oder ändert DACLs (Discretionary Access Control Lists) für bestimmte Dateien an, und wendet gespeicherte DACLs auf Dateien in angegebenen Verzeichnissen an.

Hinweis

Dieser Befehl ersetzt den veralteten befehl cacls.

Syntax

icacls <filename> [/grant[:r] <sid>:<perm>[...]] [/deny <sid>:<perm>[...]] [/remove[:g|:d]] <sid>[...]] [/t] [/c] [/l] [/q] [/setintegritylevel <Level>:<policy>[...]]
icacls <directory> [/substitute <sidold> <sidnew> [...]] [/restore <aclfile> [/c] [/l] [/q]]

Parameter

Parameter BESCHREIBUNG
<filename> Gibt die Datei an, für die DACLs angezeigt oder geändert werden sollen.
<Verzeichnis> Gibt das Verzeichnis an, für das DACLs angezeigt oder geändert werden sollen.
/t Führt den Vorgang für alle angegebenen Dateien im aktuellen Verzeichnis und seinen Unterverzeichnissen aus.
/c Setzt den Vorgang trotz Dateifehlern fort. Fehlermeldungen werden weiterhin angezeigt.
/l Führt den Vorgang für einen symbolischen Link anstelle des Ziels aus.
/q Unterdrückt Erfolgsmeldungen.
[/speichern < ACLfile> [/t] [/c] [/l] [/q]] Speichert DACLs für alle übereinstimmenden Dateien in einer ACL-Datei (Access Control List) zur späteren Verwendung mit /restore.
[/setowner <benutzername> [/t] [/c] [/l] [/q]] Ändert den Besitzer aller übereinstimmenden Dateien an den angegebenen Benutzer.
[/findsid <sid> [/t] [/c] [/l] [/q]] Sucht alle übereinstimmenden Dateien, die eine DACL enthalten, die den angegebenen Sicherheitsbezeichner (SID) explizit erwähnt.
[/verify [/t] [/c] [/l] [/q]] Sucht alle Dateien mit ACLs, die nicht kanonisch sind oder längenkonsistent mit ACE-Werten (Access Control Entry) sind.
[/reset [/t] [/c] [/l] [/q]] Ersetzt ACLs durch standardmäßig geerbte ACLs für alle übereinstimmenden Dateien.
[/grant[:r] <sid>:<perm>[...]] Gewährt den angegebenen Benutzerzugriffsrechten. Berechtigungen ersetzen zuvor erteilte explizite Berechtigungen.

Das Nicht hinzufügen von :r bedeutet, dass Berechtigungen zu allen zuvor erteilten expliziten Berechtigungen hinzugefügt werden.

[/deny <sid>:<perm>[...]] Verweigert explizit die angegebenen Benutzerzugriffsrechte. Für die angegebenen Berechtigungen wird ein expliziter Ablehnungs-ACE hinzugefügt, und die gleichen Berechtigungen in jeder expliziten Gewährung werden entfernt.
[/remove[:g | :d]] <sid>[...] [/t] [/c] [/l] [/q] Entfernt alle Vorkommen der angegebenen SID aus der DACL. Dieser Befehl kann auch Folgendes verwenden:
  • :g : Entfernt alle Vorkommen von gewährten Rechten für die angegebene SID.
  • :d : Entfernt alle Vorkommen von verweigerten Rechten für die angegebene SID.
[/setintegritylevel [(CI)(OI)] < Ebene>:<Richtlinie>[...]] Fügt allen übereinstimmenden Dateien explizit ein Integritäts-ACE hinzu. Die Ebene kann wie folgt angegeben werden:
  • l – Niedrig
  • m- Mittel
  • h – Hoch
Vererbungsoptionen für die Integritäts-ACE können der Ebene vorangehen und werden nur auf Verzeichnisse angewendet.
[/substitute <sidold><sidnew> [...]] Ersetzt eine vorhandene SID (sidold) durch eine neue SID (sidnew). Erfordert die Verwendung mit dem <directory> -Parameter.
/restore <ACLfile> [/c] [/l] [/q] Wendet gespeicherte DACLs von <ACLfile> auf Dateien im angegebenen Verzeichnis an. Erfordert die Verwendung mit dem <directory> -Parameter.
/inheritancelevel: [e | d | r] Legt die Vererbungsebene fest, die folgendes sein kann:
  • e : Ermöglicht die Vererbung
  • d : Deaktiviert die Vererbung und kopiert die ACEs
  • r : Deaktiviert die Vererbung und entfernt nur geerbte ACEs.

Hinweise

  • SIDs können entweder in numerischer oder anzeigerischer Namensform vorliegen. Wenn Sie ein numerisches Formular verwenden, fügen Sie das Feldhalterzeichen * am Anfang der SID an.

  • Dieser Befehl behält die kanonische Reihenfolge der ACE-Einträge wie folgt bei:

    • Explizite Denialen

    • Explizite Zuweisungen

    • Geerbte Denialen

    • Geerbte Zuweisungen

  • Die <perm> Option ist eine Berechtigungsmaske, die in einer der folgenden Formen angegeben werden kann:

    • Eine Sequenz einfacher Rechte (Grundberechtigungen):

      • F – Vollzugriff

      • M: Ändern des Zugriffs

      • RX : Lese- und Ausführungszugriff

      • R – Schreibgeschützter Zugriff

      • W – Schreibgeschützter Zugriff

    • Eine durch Trennzeichen getrennte Liste in Klammern bestimmter Rechte (erweiterte Berechtigungen):

      • D – Löschen

      • RC – Lesesteuerelement (Leseberechtigungen)

      • WDAC – Schreiben von DAC (Ändern von Berechtigungen)

      • WO – Schreibbesitzer (Übernehmen des Besitzes)

      • S – Synchronisieren

      • AS – Zugriffssystemsicherheit

      • MA – Maximal zulässig

      • GR – Generischer Lesezugriff

      • GW – Generischer Schreibvorgang

      • GE – Generische Ausführung

      • Allgemeine Verfügbarkeit – Generischer All-Typ

      • RD : Lesen des Daten-/Listenverzeichnisses

      • WD : Schreiben von Daten/Hinzufügen einer Datei

      • AD : Anfügen von Daten/Hinzufügen eines Unterverzeichnisses

      • REA – Lesen erweiterter Attribute

      • WEA : Schreiben erweiterter Attribute

      • X : Ausführen/Durchlaufen

      • DC : Untergeordnetes Element löschen

      • RA – Leseattribute

      • WA : Schreibattribute

    • Erbrechte können vor beiden <perm> Formen stehen:

      • (I) – Erben. ACE wurde vom übergeordneten Container geerbt.

      • (OI): Objekterben. Objekte in diesem Container erben diesen ACE. Gilt nur für Verzeichnisse.

      • (CI) – Containererben. Container in diesem übergeordneten Container erben diesen ACE. Gilt nur für Verzeichnisse.

      • (E/A) – Nur erben. ACE wurde vom übergeordneten Container geerbt, gilt aber nicht für das Objekt selbst. Gilt nur für Verzeichnisse.

      • (NP): Vererben Sie nicht. ACE wird von Containern und Objekten aus dem übergeordneten Container geerbt, aber nicht an geschachtelte Container weitergegeben. Gilt nur für Verzeichnisse.

Beispiele

Geben Sie Folgendes ein, um die DACLs für alle Dateien im Verzeichnis C:\Windows und die zugehörigen Unterverzeichnisse in der ACLFile-Datei zu speichern:

icacls c:\windows\* /save aclfile /t

Geben Sie Folgendes ein, um die DACLs für jede Datei in ACLFile wiederherzustellen, die im Verzeichnis C:\Windows und den zugehörigen Unterverzeichnissen vorhanden ist:

icacls c:\windows\ /restore aclfile

Geben Sie Folgendes ein, um dem Benutzer Benutzer1 die Berechtigungen DAC löschen und schreiben für eine Datei mit dem Namen Test1 zu erteilen:

icacls test1 /grant User1:(d,wdac)

Geben Sie Folgendes ein, um dem benutzerdefiniert von SID S-1-1-0 DAC-Berechtigungen zum Löschen und Schreiben von DAC für eine Datei mit dem Namen Test2 zu erteilen:

icacls test2 /grant *S-1-1-0:(d,wdac)