saotan
Goto Top

Skript Ordnererstellen und User Berechtigen

Hallo zusammen,

im Zuge einer AD-abhängigen Landschaft würde ich gern ein Script schreiben, welches Berechtigungen für einen User auf einen Ordner setzt.

Hallo zusammen,

Das Script sollte abfragen, wie die VZ Struktur ist, welcher Ordner berechtig werden soll, und der User der berechtigt werden soll.

Sollte der Ordner nicht vorhanden sein, sollte dieser erstellt werden.

Wenn der Ordner bereits existiert bekomme ich einen User auf diesen Ordner berechtigt. Die Vererbung für diesen User ist auch ausgeschaltet.
Mein großes Problem ist jetzt, wenn der Ordner noch nicht vorhanden ist, soll er erstellt werden (Dies allein stellt nicht das Problem dar). Das Porblem ist jetzt, die Vererbung für alle Vorhanden Nutzer (Administratoren, SYSTEM, Authentifizierte Nutzer) diese muss ausgeschaltet werden.

Ich habe hier auf der Seite gesucht und einen ähnlichen Beitrag gefunden, in dem es hieß, man solle die Berechtigungen für alle Nutzer einfach überschreiben. Aber so bekomme ich nur SYSTEM und Administratoren rein. Die Authentifizierten Nutzer nicht.

Hat da jemand ne Idee? Ich benutzte in meinem Skript cacls. Ich schreibe das Skript für Server 2003. Wenn ich das ganze für 2008 Schreiben würde/müsste muss ich ja mit icacls arbeiten. Sind dort die Befehle die gleichen? Bzw. die Syntax? Ich kann das jetzt so nicht testen. Kann da jemand was zu sagen?

Hier mal das Desaster:

@echo off
set /p vz=Bitte geben Sie die Struktur an, in welcher sich der Ordner befinden soll:
set /p ordner=Bitte geben Sie den Ordnernamen an, auf welchem der User berechtigt werden soll:
set/p user=Bitte geben Sie den User-Namen an:
if exist %vz%\%ordner% goto ende
if not exist %vz%\%ordner% md %vz%\%ordner%

goto ende2

:ende
echo Der Ordner war schon vorhanden
cacls %vz%\%ordner% /E /G %user%:F SYSTEM:F

:ende2
echo Der Ordner wurde erstellt
cacls %vz%\%ordner% /G %user%:F
cacls %vz%\%ordner% /E /G Administratoren:F
cacls %vz%\%ordner% /E /G SYSTEM:F
cacls %vz%\%ordner% /E /G Authentifizierte*:C


Wie gesagt letzte Zeile Funktioniert nicht, da er halt nörgelt gibts nicht, bzw. nicht findet.

Ach eine Kleinigkeit noch, eigentlich sollte der User mit Speziellem Recht berechtig werden. So wie ich das Skript geschrieben habe bekommt er zur Zeit Vollzugriff (F) gibt es da auch ne Möglichkeit als Speziell das zu setzen? Nach der Syntax habe ich nichts gefunden.

Gruß,
Sascha

Content-Key: 205505

Url: https://administrator.de/contentid/205505

Printed on: April 19, 2024 at 07:04 o'clock

Member: colinardo
colinardo Apr 23, 2013 at 10:31:16 (UTC)
Goto Top
Hallo Sascha,

Zitat von @Saotan:
cacls %vz%\%ordner% /E /G Authentifizierte*:C

Wie gesagt letzte Zeile Funktioniert nicht, da er halt nörgelt gibts nicht, bzw. nicht findet.

Probiers mal mit
cacls %vz%\%ordner% /E /G "Authenticated Users":C
Wenn du im Befehl das /E weglässt werden die Berechtigungen ersetzt anstatt bearbeitet.
Die Vererbung kannst mit folgenden Optionen von cacls festlegen:

Inherited folder permissions are displayed as:

 OI - Object inherit    - This folder and files. (no inheritance to subfolders)
 CI - Container inherit - This folder and subfolders.
 IO - Inherit only      - The ACE does not apply to the current file/directory

These can be combined as follows:
 (OI)(CI)	    This folder, subfolders, and files.
 (OI)(CI)(IO)	Subfolders and files only.
     (CI)(IO)  Subfolders only.
 (OI)    (IO)	Files only. 

weitere infos zu cacls und icacls => http://ss64.com/nt/cacls.html

#Grüße Uwe
Member: Saotan
Saotan Apr 23, 2013 at 10:46:01 (UTC)
Goto Top
Zitat von @colinardo:
Inherited folder permissions are displayed as:

OI - Object inherit - This folder and files. (no inheritance to subfolders)
CI - Container inherit - This folder and subfolders.
IO - Inherit only - The ACE does not apply to the current file/directory

These can be combined as follows:
(OI)(CI) This folder, subfolders, and files.
(OI)(CI)(IO) Subfolders and files only.
(CI)(IO) Subfolders only.
(OI) (IO) Files only.


weitere infos zu cacls und icacls => http://ss64.com/nt/cacls.html

#Grüße Uwe

Danke für die schnelle Antwort. Das hatte ich im /help beim cacls Befehl schon gelesen, aber verstehe dann nicht, wie die Syntax funktioniert.

Prinzipiell werden ja bei einer Ordnerstellung die User (SYSTEM usw.) automatisch hinzugefügt und gesetzt. Gibt es keine Möglichkeit die Vererbung schon bei der Ordnererstellung auszuschalten?
Member: colinardo
colinardo Apr 23, 2013 updated at 11:00:41 (UTC)
Goto Top
Prinzipiell werden ja bei einer Ordnerstellung die User (SYSTEM usw.) automatisch hinzugefügt und gesetzt. Gibt es keine
Möglichkeit die Vererbung schon bei der Ordnererstellung auszuschalten?
Normalerweise nicht, außer man setzt im Root des Laufwerks die Zugriffsrechte für "System" etc. das diese nicht für Unterordner gelten, dann werden sie beim Erstellen eines Objektes nicht vererbt.
Ansonsten muss nach Erstellen des Ordners eben die Rechte "Ersetzen" anstatt sie zu bearbeiten. Mit ICACLS geht das Entfernen mit der Option /inheritance:r / bei cacls lässt man die Option /E weg
Member: colinardo
colinardo Apr 23, 2013 updated at 11:06:45 (UTC)
Goto Top
Zitat von @Saotan:
Danke für die schnelle Antwort. Das hatte ich im /help beim cacls Befehl schon gelesen, aber verstehe dann nicht, wie die
Syntax funktioniert.

die Vererbung wird vor dem jeweiligen Recht eingesetzt also z.B. so:
cacls "ORDNER" /G "User":(OI)(CI)C
Hier bekommt z.B. nur der Benutzer "User" Änderungsrechte für den Ordner "ORDNER", dessen Unterordner und Dateien
Member: Saotan
Saotan Apr 23, 2013 at 11:15:34 (UTC)
Goto Top
Zitat von @colinardo:
die Vererbung wird vor dem jeweiligen Recht eingesetzt also z.B. so:
> cacls "ORDNER" /G "User":(OI)(CI)C
> 
Hier bekommt z.B. nur der Benutzer "User" Änderungsrechte für den Ordner "ORDNER", dessen
Unterordner und Dateien

Vielen Dank für die Antwort. Werde ich mal ausprobieren ^^
Member: Saotan
Saotan Apr 24, 2013 at 05:57:41 (UTC)
Goto Top
Also wenn ich einen neuen Ordner erstelle, und ich die Rechte ganz neu Setzte, wird die Vererbung ausgeschaltet.

Wenn ich nun aber einen Ordner schon habe (auf dem die Vererbung ausgeschaltet ist) und ich dort einen weiteren User drauf berechtigen möchte wird die Vererbung für die Vorhandenen User (SYSTEM, ADMINISTRATOR) wieder gesetzt.

Jemand ne Idee wie ich das verhindern kann?