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. |
<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 trotz Dateifehlern fort. Fehlermeldungen werden weiterhin angezeigt. |
/l | Führt den Vorgang für einen symbolischen Link anstelle seines Ziels aus. |
/q | Unterdrückt Erfolgsmeldungen. |
[/save <ACLfile> [/t] [/c] [/l] [/q]] | Speichert DACLs für alle übereinstimmenden Dateien in einer ACL (Access Control List)-Datei zur späteren Verwendung mit /restore. |
[/setowner <Benutzername> [/t] [/c] [/l] [/q]] | Ändert den Besitzer aller übereinstimmenden Dateien in den angegebenen Benutzer. |
[/findsid <sid> [/t] [/c] [/l] [/q]] | Sucht alle übereinstimmenden Dateien, die eine DACL enthalten, die die angegebene Sicherheits-ID (SID) explizit erwähnt. |
[/verify [/t] [/c] [/l] [/q]] | Sucht alle Dateien mit ACLs, die nicht kanonisch sind oder deren Länge inkonsistent mit ACE (Access Control Entry)-Werten sind. |
[/reset [/t] [/c] [/l] [/q]] | Ersetzt für alle übereinstimmenden Dateien ACLs durch standardmäßig geerbte ACLs. |
[/grant[:r] <sid>:<perm>[...]] | Gewährt die angegebenen Benutzerzugriffsrechte. Diese Berechtigungen ersetzen zuvor erteilte explizite Berechtigungen. Wenn das :r nicht hinzugefügt wird, bedeutet dies, dass die Berechtigungen zu allen zuvor ausdrücklich erteilten 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:
|
[/setintegritylevel [(CI)(OI)] <Ebene>:<Richtlinie>[...]] | Fügt allen übereinstimmenden Dateien explizit ein Integritäts-ACE hinzu. Die Ebene kann wie folgt angegeben werden:
|
[/substitute <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 aus <ACLfile> auf Dateien im angegebenen Verzeichnis an. Erfordert die Verwendung mit dem Parameter <directory> . |
/inheritancelevel: [e | d | r] | Legt die Vererbungsebene aus folgende Weise fest:
|
Hinweise
SIDs können entweder numerisch oder in Form eines Anzeigenamens vorliegen. Wenn Sie eine numerische Form verwenden, fügen Sie das Platzhalterzeichen * am Anfang der SID an.
Dieser Befehl behält die kanonische Reihenfolge der ACE-Einträge wie folgt bei:
Explizite Verweigerungen
Explizite Gewährungen
Geerbte Verweigerungen
Geerbte Gewährungen
Die Option
<perm>
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: Lesegeschützter Zugriff
Eine durch Trennzeichen getrennte Liste bestimmter Rechte in Klammern (erweiterte Berechtigungen):
D: Löschen
RC: Lesesteuerung (Leseberechtigungen)
WDAC – Schreib-DAC (Ändern von Berechtigungen)
WO: Besitzer von Schreibrechten (Übernehmen des Besitzes)
S: Synchronisieren
AS: Zugriffssystemsicherheit
MA: Maximal zugelassen
GR: Generisches Lesen
GW: Generisches Schreiben
GE: Generische Ausführung
GA: Generisch Alles
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: Löschen eines untergeordneten Elements
RA: Lesen von Attributen
WA: Schreiben von Attributen
Vererbungsrechte können vor beiden
<perm>
-Formen stehen:(I): Erben ACE vom übergeordneten Container geerbt.
(OI): Objektvererbung Objekte in diesem Container erben diesen ACE. Gilt nur für Verzeichnisse.
(CI): Containervererbung 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): Vererbung nicht weitergeben. ACE wird von Containern und Objekten vom ü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 die Berechtigungen „User1 löschen und DAC schreiben“ für eine Datei mit dem Namen „Test1“ zu gewähren:
icacls test1 /grant User1:(d,wdac)
Geben Sie Folgendes ein, um dem von SID S-1-1-0 definierten Benutzer die Berechtigungen „DAC löschen und schreiben“ für eine Datei namens „Test2“ zu erteilen:
icacls test2 /grant *S-1-1-0:(d,wdac)