Freigeben über


icacls

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

Hinweis

Mit diesem Befehl wird der veraltete befehl "cacls"ersetzt.

Syntax

icacls name [/save aclfile] [/setowner user] [/findsid Sid] [/verify] [/reset] [/T] [/C] [/L] [/Q]
icacls name [/grant[:r] Sid:perm[...]] [/deny Sid:perm [...]] [/remove[:g|:d]] Sid[...]]] [/setintegritylevel Level:policy[...]] [/T] [/C] [/L] [/Q]
icacls directory [/substitute SidOld SidNew [...]] [/restore aclfile] [/C] [/L] [/Q]

Die Parameter

Parameter BESCHREIBUNG
<name> Gibt die Datei an, für die DACLs angezeigt oder geändert werden sollen.
<directory> 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 fort, auch wenn Dateifehler auftreten. Fehlermeldungen werden weiterhin angezeigt.
/l Führt den Vorgang für eine symbolische Verknüpfung anstelle des Ziels aus.
/q Unterdrückt Erfolgsmeldungen.
/retten <ACLfile> Speichert DACLs für alle übereinstimmenden Dateien in einer ACL-Datei (Access Control List) zur späteren Verwendung mit /restore.
/setowner <user> Ändert den Besitzer aller übereinstimmenden Dateien an den angegebenen Benutzer.
/findsid <sid> Sucht alle übereinstimmenden Dateien, die eine DACL enthalten, die den angegebenen Sicherheitsbezeichner (SECURITY Identifier, SID) explizit erwähnen.
/überprüfen Sucht alle Dateien mit ACLs, die nicht kanonisch sind oder längenkonsistent mit Zugriffssteuerungseintragsanzahlen (Access Control Entry, ACE) sind.
/zurücksetzen Ersetzt ACLs durch standardmäßig geerbte ACLs für alle übereinstimmenden Dateien.
/grant[:r] <sid>:<perm> Gewährt angegebenen Benutzerzugriffsrechten. Berechtigungen ersetzen zuvor explizit erteilte Berechtigungen. Das Hinzufügen von :r bedeutet, dass Berechtigungen allen zuvor erteilten expliziten Berechtigungen hinzugefügt werden.
/verweigern <sid>:<perm> Die angegebenen Benutzerzugriffsrechte werden explizit verweigert. Eine explizite Ablehnungs-ACE wird für die angegebenen Berechtigungen hinzugefügt, und die gleichen Berechtigungen in jeder expliziten Erteilung werden entfernt.
/remove: g | d <sid> Entfernt alle Vorkommen der angegebenen SID aus der DACL. Dieser Befehl kann auch folgendes verwenden:

  • g – Entfernt alle Vorkommen von gewährten Rechten an der angegebenen SID
  • d – Entfernt alle Vorkommen von verweigerten Rechten an der angegebenen SID
  • /setintegritylevel <perm><level> Fügt allen übereinstimmenden Dateien explizit eine Integritäts-ACE hinzu. Die Ebene kann wie angegeben werden:

  • l - Niedrig
  • m - Mittel
  • h - Hoch

  • Vererbungsoptionen für die Integritäts-ACE können vor der Ebene stehen und werden nur auf Verzeichnisse angewendet.
    /Ersatz <sidold><sidnew> Ersetzt eine vorhandene SID (sidold) durch eine neue SID (sidnew). Erfordert die Verwendung mit dem parameter <directory>.
    /restore <ACLfile> /c | /l | /q Wendet gespeicherte DACLs von <ACLfile> auf Dateien im angegebenen Verzeichnis an. Erfordert die Verwendung mit dem parameter <directory>.
    /vererbungsstufe: 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.
  • Bemerkungen

    • SIDs können in numerischer oder Anzeigenameform vorhanden sein. Wenn Sie ein numerisches Formular verwenden, kleben Sie das Wildcardzeichen * am Anfang der SID an.

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

      • Explizite Ablehnungen

      • Explizite Zuschüsse

      • Geerbte Ablehnungen

      • Geerbte Zuschüsse

    • Die <perm> Option ist eine Berechtigungsmaske, die für Grundrechte, erweiterte Rechte oder Vererbungsrechte angegeben werden kann:

      • Eine Sequenz einfacher Rechte (Grundlegende Berechtigungen), ohne Klammern verwenden zu müssen:

        • N - Kein Zugriff
        • F – Vollzugriff
        • M – Zugriff ändern
        • RX- – Lese- und Ausführungszugriff
        • R- – Schreibgeschützter Zugriff
        • W – Schreibgeschützter Zugriff
        • D – Zugriff löschen
      • Eine durch Trennzeichen getrennte Liste bestimmter Rechte (erweiterte Berechtigungen), die Klammern verwenden müssen:

        • DE - Löschen
        • RC- - Lesesteuerelement (Leseberechtigungen)
        • WDAC- - Schreiben von DAC (Berechtigungen ändern)
        • WO - Schreibbesitzer (Besitzer übernehmen)
        • S – Synchronisieren
        • AS – Zugriffssystemsicherheit
        • MA - Maximal zulässig
        • GR - Generischer Lesezugriff
        • GW - Generischer Schreibzugriff
        • GE – Generische Ausführung
        • GA- – Allgemein
        • RD- – Daten-/Listenverzeichnis lesen
        • WD - Daten schreiben/Datei hinzufügen
        • AD- – Unterverzeichnis anfügen/hinzufügen
        • REA- - Erweiterte Attribute lesen
        • WEA- - Erweiterte Attribute schreiben
        • X- - Ausführen/Durchlaufen
        • DC- – untergeordnetes Element löschen
        • RA- – Attribute lesen
        • WA- - Attribute schreiben
      • Eine Abfolge von Vererbungsrechten, die Klammern verwenden müssen:

        • (I) - Erben. ACE wurde vom übergeordneten Container geerbt.
        • (OI) - Objekt erben. Objekte in diesem Container erben diese ACE. Gilt nur für Verzeichnisse.
        • (CI) - Container erben. Container in diesem übergeordneten Container erben diese ACE. Gilt nur für Verzeichnisse.
        • (IO) – Nur erben. ACE wurde vom übergeordneten Container geerbt, gilt jedoch nicht für das Objekt selbst. Gilt nur für Verzeichnisse.
        • (NP) – Vererbung nicht weitergeben. ACE, geerbt von Containern und Objekten vom übergeordneten Container, wird jedoch nicht an geschachtelte Container weitergegeben. Gilt nur für Verzeichnisse.

    Beispiele

    Um die DACLs für alle Dateien im C:\Windows-Verzeichnis und deren Unterverzeichnisse in der ACLFile-Datei zu speichern, 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 Verzeichnis "C:\Windows" und deren Unterverzeichnisse vorhanden ist, geben Sie Folgendes ein:

    icacls c:\windows\ /restore aclfile
    

    Geben Sie Folgendes ein, um dem Benutzer "User1 Delete" und "Write DAC" Berechtigungen für eine Datei mit dem Namen "Test1" zu erteilen:

    icacls test1 /grant User1:(d,wdac)
    

    Geben Sie Folgendes ein, um dem von sid S-1-1-0 definierten Benutzer DAC-Berechtigungen für eine Datei mit dem Namen TestFile zu erteilen:

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

    Um eine hohe Integritätsebene auf ein Verzeichnis anzuwenden und sicherzustellen, dass sowohl die Dateien als auch Unterverzeichnisse diese Ebene erben, geben Sie Folgendes ein:

    icacls "myDirectory" /setintegritylevel (CI)(OI)H