# Zugriffsrechte von Dateien und Verzeichnissen über Batch setzen (CACLS und ICACLS)

Gültig für: Windows NT | Windows 2000 | Windows XP | Server 2003 | Windows Vista | Server 2008 | Windows 7 | Windows 8 | Windows 10

## CACLS.EXE

Mit diesem Programm können Sie die Zugriffskontroll-Listen (ACL - Access Control List) von Dateien anzeigen lassen und ändern.

cacls Dateiname [/t] [/e] [/c] [/g Benutzer:Berechtigung] [/r Benutzer [...]] [/p Benutzer:Berechtigung [...]] [/d Benutzer [...]]

Parameter:

Dateiname | Zeigt die ACLs der angegebenen Datei(en) an.
/t | Ändert die ACLs der angegebenen Dateien im aktuellen Verzeichnis und allen Unterverzeichnissen.
/e | Bearbeitet die ACL, anstatt Sie zu ersetzen.
/c | Führt das Ändern der ACLs fort, ohne Fehler zu beachten.
/g Benutzer:Berechtigung | Weist den angegebenen Benutzern Zugriffsberechtigungen zu. Mögliche Berechtigungen sind: r Lesen c Ändern (Schreiben) f Vollzugriff
/r Benutzer | Hebt die Zugriffsrechte für den angegebenen Benutzer auf. (nur gültig in Verbindung mit /e).
/p Benutzer:Berechtigung | Ersetzt die Zugriffsrechte des angegebenen Benutzers. Mögliche Berechtigungen sind: n Keine r Lesen c Ändern (Schreiben) f Vollzugriff
/d Benutzer | Lehnt angegebene Zugriffsrechte für Benutzer ab.

Es ist möglich, mehrere Dateien oder Benutzer in einem Befehl anzugeben.

Leider kann man mit Cacls keine erweiterten Rechte auf Dateien setzen. Dafür können Sie bei Microsoft ein Tool namens "XCACLS" herunterladen (Download). Mit diesem Tool (es ist ein VBS-Programm), können Sie dann auch die erweiterten Rechte auf Dateien/Verzeichnisse setzen.

## ICACLS.EXE

Ab Windows Server 2003 SP2 und Windows Vista gibt es ICACLS.EXE als Nachfolger von CACLS.EXE, welches in seinem Funktionsumfang stark erweitert wurde. Die ICALCS-Version vom Windows Server 2003 können Sie auch unter Windows XP benutzen, die Version von Windows Vista nicht, da hier auch noch weitere Funktionen hinzugekommen sind, die nicht für Windows XP zu gebrauchen sind. Ein Vorteil von ICACLS gegenüber CACLS ist, dass vorhandene Vererbungen berücksichtigt und neue Berechtigungen korrekt gesetzt und vererbt werden. Deshalb kann der Einsatz dieses Tools auch unter Windows XP vorteilhaft sein.

Unter Windows Vista wird von ICACLS auch die Rechtevergabe Mandatory IL (Integrity Level) unterstützt.

Siehe dazu auch Tipp: "Sicherheitsmechanismus "Integrity Level" (IL)".

Mit ICACLS werden die Integrity Levels angezeigt und können damit auch bearbeitet werden. Leider lassen sich mit ICACLS wieder einmal nicht alle Rechte setzen (weiter unten verweisen wir auf andere Tools, mit denen das möglich ist).

Über den Befehl ICACLS /? können Sie sich die möglichen Aufrufe anzeigen lassen, hier jetzt die wichtigsten Befehlsparameter:

In der Hilfe der Parameter hat sich ein Fehler eingeschlichen, siehe Tipp: "ICACLS Dokumentation Fehler"

Aufruf | Beschreibung
--- | ---
ICACLS <Verzeichnis/Datei> /save <Dateiname> <Parameter> | Sichert die ACL-Einstellungen vom angegebenen Verzeichnis in die angegebene Datei
ICACLS <Verzeichnis/Datei> /restore <Dateiname> <Parameter> | Setzt die ACL anhand der erstellen Sicherungsdatei. Datei muss das Verzeichnis auf dem diese Sicherungs angewendet werden soll richtig angegeben werden, da der Pfad in der Sicherungsdatei nicht gespeichert wird.
ICACLS <Verzeichnis/Datei> /reset </T> | Setzte die ACL wieder auf die Standardmäßig vererbten Berechtigungen zurück.
ICACLS <Verzeichnis/Datei> /setowner <Benutzer> <Parameter> | Setzt den Besitzer "Owner" für eine Datei/Verzeichnis
ICACLS <Verzeichnis/Datei> /setintegritylevel [(CI)(OI)]<Stufe> | Fügt das Integrity Level hinzu: Stufe: L -> Low (Niedrig) M -> Medium (Mittel) H -> High (Hoch) (CI) -> Setzt Containervererbung (Verzeichnisse) (OI) ->Setzt Objektvererbung (Dateien)

Folgende Parameter können optional angegeben werden:

Parameter | Beschreibung
--- | ---
/T | Legt fest, dass auch die Unterordner innerhalb des Verzeichnisses mit berücksichtigt werden sollen. Ansonsten wird der Befehl nur auf den angegebenen Ordner angewendet.
/C | Legt fest, dass die Verarbeitung auch beim Auftauchen eines Fehler weitergeführt werden soll. Standardmäßig wird die Verarbeitung dann abgebrochen.
/L | Legt fest, dass die Verarbeitung auch auf symbolische Links und deren Zielverzeichnis ausgeführt werden soll.
/Q | Es werden keinen Erfolgsmeldungen ausgegeben.

## Weitere Tools für das Anzeigen und Bearbeiten von Berechtigungen

Hilfreich ist u.a. hier das Tool "AccessChk" von Mark Russinovich. Mit diesem Tool können Sie sich auch einfach die Integrity Levels anzeigen lassen.

So können Sie sich mit dem Befehl "accesschk -d -e -s c:\" alle Verzeichnisse anzeigen lassen, die einen Integrity Level gesetzt haben.
Download: http://www.microsoft.com/technet/sysinternals/utilities/accesschk.mspx

Ein weiteres hilfreiches Tool ist "CHML" von Mark Minasi. Mit ICACLS kann man sich zwar alle Integrity Levels anzeigen lassen, aber nicht alle Typen setzen (wie z.B. "No Execute Up"). Wenn Sie diese Rechte auch setzen wollen, benötigen Sie dafür das Tool "CHML"
Download: http://www.minasi.com/vista/chml.htm

WinFAQ: Startseite | WinFAQ: HTMLMenü | WinFAQ: Java Version

Der Tipp enthält einen Fehler oder Sie haben noch eine Ergänzung dafür? Schreiben Sie uns über die Feedback-Seite an: Feedback-Formular

URL: http://www.winfaq.de/faq_html/Content/tip0500/tip0725.htm

WinFAQ ® Version 9.01 Copyright © 1996/2016 by Frank Ullrich