icacls (win2k8) scripting examples
Nach cacls, xcacls.vbs, haben wir jetzt icacls, um Datei- und Ordnerberechtigungen zu setzen.
Hier sind einige praktische Beispiele.
Erstellen Sie eine Reihe von Verzeichnissen
md d:\appsmd d:\profilesmd d:\users
Teilen Sie die Verzeichnisse. Beachten Sie die Offline-Zwischenspeicherung; Benutzer dürfen die Offline-Zwischenspeicherung für ihre Heimatverzeichnisse aktivieren, andere Verzeichnisse sind für die Offline-Zwischenspeicherung deaktiviert.
net share apps=d:\apps /grant:everyone,FULL /CACHE:Nonenet share profiles=d:\profiles /grant:everyone,FULL /CACHE:Nonenet share users=d:\users /grant:everyone,FULL /CACHE:Manual
Lassen Sie uns nun die ntfs-Berechtigungen für die App-Freigabe skripten:
– „(OI)(CI):F“ bedeutet volle Kontrolle „Dieser Ordner, Unterordner und Dateien“
– „(OI)(CI):M“ bedeutet Modify „This Folder, Subfolders and files“
– „/inheritance:r“ bedeutet remove all inherited ACL’s from parent
(OI) This folder and files
(CI) This folder and subfolders.
(OI)(CI) Dieser Ordner, Unterordner und Dateien.
(OI)(CI)(IO) Nur Unterordner und Dateien.
(CI)(IO) Nur Unterordner.
(OI)(IO) Nur Dateien.
und die Berechtigungsmöglichkeiten
perm ist eine Berechtigungsmaske und kann in einer von zwei Formen angegeben werden:
eine Folge von einfachen Rechten:
N – kein Zugriff
F – Vollzugriff
M – Änderungszugriff
RX – Lese- und Ausführungszugriff
R – Nur-Lese-Zugriff
W – Nur-Schreib-Zugriff
D – Löschzugriff
eine durch Komma getrennte Liste in Klammern von spezifischen Rechten:
DE – Löschen
RC – Lesekontrolle
WDAC – Schreib-DAC
WO – Schreib-Eigentümer
S – Synchronisieren
AS – Zugriff auf Systemsicherheit
MA – maximal erlaubt
GR – allgemeines Lesen
GW – allgemeines Schreiben
GE – allgemeines Ausführen
GA – allgemeines Alles
RD – Daten lesen/Verzeichnis auflisten
WD – Daten schreiben/Datei hinzufügen
AD – Daten anhängen/Unterverzeichnis hinzufügen
REA – Erweiterte Attribute lesen
WEA – Erweiterte Attribute schreiben
X – Ausführen/Verfahren
DC – Kind löschen
RA – Attribute lesen
WA – Attribute schreiben
Hier die Beschreibung aller möglichen NTFS-Berechtigungen
Berechtigung | Beschreibung |
---|---|
Ordner durchlaufen/Datei ausführen |
Für Ordner: Ordner durchqueren erlaubt oder verweigert das Durchqueren von Ordnern, um zu anderen Dateien oder Ordnern zu gelangen, auch wenn der Benutzer keine Berechtigungen für die durchquerten Ordner hat. (Gilt nur für Ordner.) Ordner durchlaufen wird nur wirksam, wenn der Gruppe oder dem Benutzer im Gruppenrichtlinien-Snap-In nicht das Benutzerrecht „Durchlaufprüfung umgehen“ gewährt wird. (Standardmäßig erhält die Gruppe „Jeder“ das Benutzerrecht „Überprüfungsüberbrückung umgehen“.) Für Dateien: Execute File erlaubt oder verweigert die Ausführung von Programmdateien. (Gilt nur für Dateien). Wenn Sie die Berechtigung „Ordner durchsuchen“ für einen Ordner festlegen, wird die Berechtigung „Datei ausführen“ nicht automatisch für alle Dateien in diesem Ordner festgelegt. |
Ordner auflisten/Daten lesen |
Ordner auflisten erlaubt oder verweigert die Anzeige von Dateinamen und Unterordnernamen innerhalb des Ordners. List Folder wirkt sich nur auf den Inhalt des Ordners aus und hat keinen Einfluss darauf, ob der Ordner, für den Sie die Berechtigung festlegen, aufgelistet wird. (Gilt nur für Ordner.) Daten lesen erlaubt oder verweigert die Anzeige von Daten in Dateien. (Gilt nur für Dateien.) |
Attribute lesen |
Erlaubt oder verweigert die Anzeige der Attribute einer Datei oder eines Ordners, wie z. B. schreibgeschützt und versteckt. Attribute werden von NTFS definiert. |
Erweiterte Attribute lesen |
Erlaubt oder verweigert die Anzeige der erweiterten Attribute einer Datei oder eines Ordners. Erweiterte Attribute werden von Programmen definiert und können je nach Programm variieren. |
Dateien erstellen/Daten schreiben |
Dateien erstellen erlaubt oder verweigert das Erstellen von Dateien innerhalb des Ordners. (Gilt nur für Ordner). Daten schreiben erlaubt oder verweigert Änderungen an der Datei und das Überschreiben des vorhandenen Inhalts. (Gilt nur für Dateien.) |
Ordner erstellen/Daten anhängen |
Ordner erstellen erlaubt oder verweigert das Erstellen von Ordnern innerhalb des Ordners. (Gilt nur für Ordner.) Daten anhängen erlaubt oder verweigert Änderungen am Ende der Datei, aber nicht das Ändern, Löschen oder Überschreiben vorhandener Daten. (Gilt nur für Dateien.) |
Attribute schreiben |
Erlaubt oder verweigert das Ändern der Attribute einer Datei oder eines Ordners, z. B. schreibgeschützt oder versteckt. Attribute werden von NTFS definiert. Die Berechtigung Attribute schreiben beinhaltet nicht das Erstellen oder Löschen von Dateien oder Ordnern, sondern nur die Berechtigung, die Attribute einer Datei oder eines Ordners zu ändern. Um Erstellungs- oder Löschvorgänge zu erlauben (oder zu verweigern), siehe Dateien erstellen/Daten schreiben, Ordner erstellen/Daten anhängen, Unterordner und Dateien löschen und Löschen. |
Erweiterte Attribute schreiben |
Erlaubt oder verweigert die Änderung der erweiterten Attribute einer Datei oder eines Ordners. Erweiterte Attribute werden von Programmen definiert und können je nach Programm variieren. Die Berechtigung „Erweiterte Attribute schreiben“ beinhaltet nicht das Erstellen oder Löschen von Dateien oder Ordnern, sondern nur die Berechtigung, Änderungen an den Attributen einer Datei oder eines Ordners vorzunehmen. Um Erstellungs- oder Löschvorgänge zu erlauben (oder zu verweigern), siehe Dateien erstellen/Daten schreiben, Ordner erstellen/Daten anhängen, Unterordner und Dateien löschen und Löschen. |
Unterordner und Dateien löschen |
Erlaubt oder verweigert das Löschen von Unterordnern und Dateien, selbst wenn die Berechtigung Löschen für den Unterordner oder die Datei nicht erteilt wurde. (Gilt für Ordner.) |
Löschen |
Erlaubt oder verweigert das Löschen der Datei oder des Ordners. Wenn Sie nicht über die Berechtigung „Löschen“ für eine Datei oder einen Ordner verfügen, können Sie sie dennoch löschen, wenn Sie die Berechtigung „Unterordner und Dateien löschen“ für den übergeordneten Ordner erhalten haben. |
Leseberechtigungen |
Erlaubt oder verweigert Leseberechtigungen für die Datei oder den Ordner, wie z. B. Vollzugriff, Lesen und Schreiben. |
Berechtigungen ändern |
Erlaubt oder verweigert das Ändern von Berechtigungen der Datei oder des Ordners, z. B. Vollzugriff, Lesen und Schreiben. |
Eigentümerschaft übernehmen |
Erlaubt oder verweigert die Übernahme der Eigentümerschaft der Datei oder des Ordners. Der Eigentümer einer Datei oder eines Ordners kann immer die Berechtigungen für die Datei oder den Ordner ändern, unabhängig von vorhandenen Berechtigungen, die die Datei oder den Ordner schützen. |
Synchronisieren |
Erlaubt oder verweigert verschiedenen Threads, auf das Handle für die Datei oder den Ordner zu warten und sich mit einem anderen Thread zu synchronisieren, der es signalisieren kann. Diese Berechtigung gilt nur für Multithread- und Multiprozess-Programme. |
Example:
icacls "d:\apps" /grant "domain admins":(OI)(CI)F /inheritance:ricacls "d:\apps" /grant "everyone":(OI)(CI)M /inheritance:r
Auf der Profilfreigabe sollten nur die „Domänenadministratoren“ alle „Ordner, Unterordner und Dateien“ betreten dürfen (daher das (OI)(CI):F), alle anderen sollten „nur diesen Ordner“ bereitstellen können.
Ohne die Kombination von (CI) und/oder (OI) heißt es also „nur dieser Ordner“
icacls "d:\profiles" /grant "domain admins":(OI)(CI)F /inheritance:ricacls "d:\profiles" /grant "everyone":R /inheritance:r
Beim Anlegen eines neuen Benutzers sollte der Domain Admin manuell einen Profilordner für den Benutzer anlegen und den Benutzer mit entsprechenden Rechten hinzufügen.
Das Gleiche gilt für die Benutzerfreigabe, die die Heimatverzeichnisse aller Benutzer enthält
icacls "d:\users" /grant "domain admins":(OI)(CI)F /inheritance:ricacls "d:\users" /grant "everyone":R /inheritance:r
Nun lassen Sie Ihrer Fantasie freien Lauf 🙂