Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Skript Ordnererstellen und User Berechtigen

Frage Entwicklung Batch & Shell

Mitglied: Saotan

Saotan (Level 1) - Jetzt verbinden

23.04.2013, aktualisiert 24.04.2013, 1912 Aufrufe, 6 Kommentare

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
Mitglied: colinardo
23.04.2013 um 12:31 Uhr
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
Bitte warten ..
Mitglied: Saotan
23.04.2013 um 12:46 Uhr
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.
</code>

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?
Bitte warten ..
Mitglied: colinardo
23.04.2013, aktualisiert um 13:00 Uhr
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
Bitte warten ..
Mitglied: colinardo
23.04.2013, aktualisiert um 13:06 Uhr
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
Bitte warten ..
Mitglied: Saotan
23.04.2013 um 13:15 Uhr
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 ^^
Bitte warten ..
Mitglied: Saotan
24.04.2013 um 07:57 Uhr
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?
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Skript - Oracle Datenbank (1)

Frage von tweety2007 zum Thema Datenbanken ...

Windows Netzwerk
gelöst Powershell skript zum Auslesen der im AD angemeldeten User (2)

Frage von jan.kleinel zum Thema Windows Netzwerk ...

Exchange Server
GPO - Logon-Skript wird nicht ausgeführt (4)

Frage von Der-Phil zum Thema Exchange Server ...

Windows Server
gelöst Powershell Skript als geplanter Task (9)

Frage von Ex0r2k16 zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (19)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...

Festplatten, SSD, Raid
RAID Controller mit Trim-Funktion, wie ermitteln (11)

Frage von pixel24 zum Thema Festplatten, SSD, Raid ...