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, 1900 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
Windows Netzwerk
gelöst Powershell skript zum Auslesen der im AD angemeldeten User (2)

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

Java
gelöst Net user per script aus txt oder csv für FTP (15)

Frage von OlliPWS zum Thema Java ...

Exchange Server
Exchange 2013 Einzelnen User verbieten Anhang zu verschicken (4)

Frage von Shanks zum Thema Exchange Server ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Batch & Shell
Skripterstellung Lehrling (22)

Frage von 133119 zum Thema Batch & Shell ...

Exchange Server
Microsoft Exchange Weiterleitung mit anderer primären E-Mail Adresse (14)

Frage von Rene12345 zum Thema Exchange Server ...

Windows Userverwaltung
gelöst Wie verfahrt Ihr mit den Windows-Benutzerkonten und -dateien von ausgeschiedenen Mitarbeitern? (14)

Frage von Bl0ckS1z3 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

Frage von IceAge zum Thema LAN, WAN, Wireless ...