NTFS-Berechtigungen, die über die Befehlszeile hinzugefügt werden, erstellen einen geschützten Stammordner

763
mike

Ich habe zwei Arten von Gruppen - schreibgeschützt und schreibgeschützt - mit Anzahl pro Ordner:

GROUP1_RO GROUP1_RW GROUP2_RO GROUP2_RW (...) 

Ich möchte einen solchen Verzeichnisbaum erstellen:

SHARE |-MAIN_FOLDER1 | |-SUBFOLDERS | |-FILES | |-MAIN_FOLDER2 | |-SUBFOLDERS | |-FILES | |-MAIN_FOLDER3 (...) 

Jede Gruppe hat Zugriff auf ihren eigenen MAIN_FOLDER * und die Gruppe _RO kann nur Dateien lesen, aber _RW kann Ordner erstellen, Ordner und Dateien löschen.

Ich möchte MAIN_FOLDERS * vor versehentlichem Löschen durch diese _RW-Benutzer schützen.

Hauptziel ist die Erstellung eines Satzes von batch / cli-Befehlen, mit dem diese Ordner nacheinander mit genauen Rechten erstellt werden.

Ich habe versucht, dies mit icacls zu tun, aber ich hatte Probleme mit mehreren Rechten (ungültige Parameter).

Ich habe das manuell gemacht, indem ich solche Rechte gesetzt habe:

 a) Enter Properties > Security > Advanced > Edit... b) Uncheck "Include inheritable permissions from this object's parent" and choose "Remove" c) Add group GROUP1_RO ( RO ) and set permissions:  + Allow (( This Folder, subfolders and files ))  * Traverse Folder / execute file * List folder / read data * Read attributes * Read extendet attributes * Read permissions  - Deny  * Delete  e) Add group GROUP1_RW ( RW ) and set permissions:  + Allow (( This Folder, subfolders and files ))  * Full control - uncheck Take ownership  - Deny  * Delete 

Wenn Sie dies alles manuell für viele Unterordner einstellen, ist das schmerzhaft. Gibt es eine Möglichkeit, dies durch icacls (oder etwas anderes) mit verschiedenen Gruppen einzurichten?

Grüße und danke Mike

0
Die Verwendung von DENY ist eine schlechte Praxis und nicht notwendig. Weisen Sie der RO-Gruppe die Leseberechtigung für "diesen Ordner, Unterordner und Dateien" zu. Weisen Sie der RW-Gruppenberechtigung "Ändern" "Unterordnern und Dateien" und "Lesen" "Nur diesen Ordner" zu. Und ja, dies kann unter anderem mit icacls, wahrscheinlich cacls, und Powershell durchgeführt werden. Ohne einige Beispiele für das, was Sie versucht haben, kann ich nicht feststellen, dass Sie ausreichend recherchiert haben, um zu versuchen, Ihre eigene Frage zu beantworten. Appleoddity vor 6 Jahren 0
@Appleoddity Können Sie exakte icacls-Befehle bereitstellen, um dieses Ziel zu erreichen? Wie Sie unten sehen, gibt es das, was ich mit icacls geschafft habe. Ich habe Ihre Version mit Ändern für Unterordner und Dateien ausprobiert. + Nur diesen Ordner lesen. Benutzer können keine neuen Ordner im Hauptordner erstellen. mike vor 6 Jahren 0
Vielleicht hilft das? http://www.josephspurrier.com/add-or-remove-ntfs-permissions-via-command-line/ Strepsils vor 6 Jahren 0

1 Antwort auf die Frage

0
mike

Vielleicht habe ich es auf zwei Arten geschafft:

I) Mit Erbschaft:

mkdir MAIN_FOLDER1 icacls MAIN_FOLDER1 /inheritance:d icacls MAIN_FOLDER1 /remove Everyone icacls MAIN_FOLDER1 /grant GROUP1_RO:(OI)(CI)(RX) icacls MAIN_FOLDER1 /grant GROUP1_RW:(OI)(CI)(RX,W,WDAC,DC) icacls MAIN_FOLDER1 /deny GROUP1_RW:(OI)(CI)(DE) 

II) ohne Erbschaft

mkdir MAIN_FOLDER1 icacls MAIN_FOLDER1 /inheritance:r icacls MAIN_FOLDER1 /grant "DOMAIN\Domain Admins":(OI)(CI)(F) icacls MAIN_FOLDER1 /grant "BUILTIN\Administrators":(CI)(F) icacls MAIN_FOLDER1 /grant GROUP1_RO:(OI)(CI)(RX) icacls MAIN_FOLDER1 /grant GROUP1_RW:(OI)(CI)(RX,W,WDAC,DC) icacls MAIN_FOLDER1 /deny GROUP1_RW:(OI)(CI)(DE) 

Und Loops für diese Aktionen.