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 Cacls-Befehl.

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 auf allen angegebenen Dateien im aktuellen Verzeichnis und seinen Unterverzeichnissen aus.
/c Führt den Vorgang trotz aller Dateifehler fort. Fehlermeldungen werden weiterhin angezeigt.
/l Führt den Vorgang auf einem symbolischen Link anstelle des Ziels aus.
/q Unterdrückt Erfolgsmeldungen.
[/speichern < ACLfile> [/t] [/c] [/l] [/l] [/q]] Speichert DACLs für alle übereinstimmenden Dateien in einer Zugriffssteuerungsliste (ACL)-Datei für die spätere Verwendung mit /restore.
[/setowner <benutzername> [/t] [/c] [/l] [/q]] Ändert den Besitzer aller übereinstimmenden Dateien an den angegebenen Benutzer.
[/findsid <sid> [/t] [/c] [/l] [/l] [/q]] Sucht alle übereinstimmenden Dateien, die eine DACL explizit erwähnen, die den angegebenen Sicherheitsbezeichner (SID) erwähnt.
[/überprüfen [/t] [/c] [/l] [/l] [/q]] Sucht alle Dateien mit ACLs, die nicht kanonisch sind oder Längen inkonsistent mit Zugriffssteuerungseingaben (ACE) zählen.
[/reset [/t] [/c] [/l] [/l] [/q]] Ersetzt ACLs durch standardmäßig geerbte ACLs für alle übereinstimmenden Dateien.
[/grant[:r] <sid>:<perm>[...]] Gewährt angegebenen Benutzerzugriffsrechten. Berechtigungen ersetzen zuvor explizite Berechtigungen.

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

[/deny <sid>:<perm>[...]] Verweigert explizit die angegebenen Benutzerzugriffsrechte. Eine explizite Ablehnung wird für die angegebenen Berechtigungen hinzugefügt und die gleichen Berechtigungen in allen expliziten Berechtigungen werden entfernt.
[/remove[:g | :d]] sid> [...] [/t] <[/c] [/l] [/q] Entfernt alle Vorkommen der angegebenen SID aus dem DACL. Dieser Befehl kann auch folgendes verwenden:
  • :g - Entfernt alle Vorkommen von gewährten Rechten für die angegebene SID.
  • :d – Entfernt alle Vorkommen der verweigerten Rechte an der angegebenen SID.
[/setintegritylevel [(CI)(OI)] < Level>:<Policy>[...]] Fügt explizit eine Integritäts-ACE zu allen übereinstimmenden Dateien hinzu. Die Ebene kann als:
  • l - Niedrig
  • m- Mittel
  • h - Hoch
Vererbungsoptionen für die Integritäts-ACE können der Ebene vorausgehen und nur auf Verzeichnisse angewendet werden.
[/Ersatz <sidoldsidnew>>< [...]] 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 auf Dateien im angegebenen Verzeichnis an <ACLfile> . Erfordert die Verwendung mit dem <directory> Parameter.
/Vererbungsebene: [e | d | r] Legt die Vererbungsebene fest, die folgendes sein kann:
  • e - Aktiviert die Vererbung
  • d - Deaktiviert vererbung und kopiert die ACEs
  • r - Deaktiviert Vererbung und entfernt nur geerbte ACEs

Hinweise

  • SIDs können entweder in numerischem oder Anzeigenamenformular vorhanden sein. Wenn Sie ein numerisches Formular verwenden, bringen Sie das Wildcardzeichen * am Anfang der SID an.

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

    • Explizite Verweigerungen

    • Explizite Zuschüsse

    • Geerbte Verweigerungen

    • Geerbte Zuschüsse

  • Die <perm> Option ist ein Berechtigungsformat, das in einem der folgenden Formulare angegeben werden kann:

    • Eine Sequenz einfacher Rechte (grundlegende Berechtigungen):

      • F - Vollzugriff

      • M- Ändern des Zugriffs

      • RX – Lese- und Ausführungszugriff

      • R - Schreibgeschützter Zugriff

      • W - Schreibgeschützter Zugriff

    • Eine durch Komma getrennte Liste in Klammern von bestimmten Rechten (erweiterte Berechtigungen):

      • D - Löschen

      • RC - Lesesteuerelement (Leseberechtigungen)

      • WDAC - Schreiben von DAC (Berechtigungen ändern)

      • WO - Schreibbesitzer (Besitzer übernehmen)

      • S - Synchronisieren

      • AS - Zugriffssystemsicherheit

      • MA - Maximal zulässig

      • GR - Generisches Lesezugriff

      • GW - Generischer Schreibzugriff

      • GE - Generische Ausführung

      • GA - Allgemeines

      • RD - Daten-/Listenverzeichnis lesen

      • WD - Schreiben von Daten/Add-Datei

      • AD - Anfügen von Daten/Add-Unterverzeichnis

      • REA – Erweiterte Attribute lesen

      • WEA – Schreiben erweiterter Attribute

      • X - Ausführen/Traverse

      • DC - Untergeordnetes Element löschen

      • RA - Attribute lesen

      • WA - Schreiben von Attributen

    • Vererbungsrechte können vor beiden <perm> Formularen vorausgehen:

      • (I) - Erben. ACE geerbt von dem übergeordneten Container.

      • (OI) – Objekt erben. Objekte in diesem Container erben dieses ACE. Gilt nur für Verzeichnisse.

      • (CI) - Container erben. Container in diesem übergeordneten Container erben dieses ACE. Gilt nur für Verzeichnisse.

      • (IO) – Nur erben. ACE erbt aus dem übergeordneten Container, gilt jedoch nicht für das Objekt selbst. Gilt nur für Verzeichnisse.

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

Beispiele

Wenn Sie die DACLs für alle Dateien im C:\Windows-Verzeichnis und deren Unterverzeichnisse in der ACLFile-Datei speichern möchten, geben Sie Folgendes ein:

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

Wenn Sie die DACLs für jede Datei in ACLFile wiederherstellen möchten, die im C:\Windows-Verzeichnis und seinen Unterverzeichnissen vorhanden ist, geben Sie Folgendes ein:

icacls c:\windows\ /restore aclfile

Um dem Benutzer "Benutzer1 Löschen" und "Schreiben von DAC"-Berechtigungen zu einer Datei namens "Test1" zu erteilen, geben Sie Folgendes ein:

icacls test1 /grant User1:(d,wdac)

Geben Sie dem von SID S-1-1-0 Delete and Write DAC-Berechtigungen für eine Datei mit dem Namen Test2 definierten Benutzer ein:

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

Weitere Verweise