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
GELÖST

NTFS-Berechtigungen nach unten durchdrücken per Kommandozeilenbefehl?

Frage Microsoft Windows Server

Mitglied: AlbertMinrich

AlbertMinrich (Level 2) - Jetzt verbinden

14.11.2011 um 16:53 Uhr, 9399 Aufrufe, 11 Kommentare

Hallo,

ein Windows 2003er Server.
Beispielsweise diese Ordnerstruktur:

c:\eins
c:\eins\a
c:\eins\b
c:\eins\c

Ich möchte, egal wie die Berechtigungen und Vererbungen für diese 4 Ordner gerade eingestellt sind, für den Ordner c:\eins das Erben deaktivieren, individuelle Berechtigungen vergeben und diese nach unten durchdrücken, so dass auf alle 4 Ordner die gleichen Berechtigungen gelten und bei den Unterordnern a, b und c das Erben aktiviert ist.

Per GUI geht das einfach durch Eigenschaften von Ordner "eins" > Sicherheit > Erweitert > den Haken "Berechtigungen übergeordneter Objekte auf untergeordnete Objekte, sofern anwendbar, vererben. Diese mit den hier definierten Einträgen mit einbeziehen." entfernen. Die anschliessende Frage entweder mit Kopieren oder Entfernen beantworten.
75f48769248c0877e209064227412d8f - Klicke auf das Bild, um es zu vergrößern

Jetzt individuelle Berechtigungen vergeben.
1cfd0f026e9a31953828d6caa7942787 - Klicke auf das Bild, um es zu vergrößern

und diese durch Haken bei "Berechtigungen für alle untergeordneten Objekte durch die angezeigten Einträge, sofern anwendbar, ersetzen." nach unten durchdrücken.
70c75e827511027a63b7473eed015e25 - Klicke auf das Bild, um es zu vergrößern


Kein Problem, aber wie geht´s per Kommandozeile.
Ich denke nicht mit cacls.exe oder xcacls.exe. Auch bei icacls.exe hab ich nichts gefunden. Am ehesten noch mit xcacls.vbs. Aber auch damit geht meiner Meinung nach nur folgendes.

Möglichkeit 1:
01.
"cscript //nologo xcacls.vbs c:\eins /i remove /g mydomain\username:F /f /s /t"
Dadurch sind zwar auf alle 4 Ordner die gewünschten Berechtigungen vergeben, aber die Unterordner a, b und c haben sie nicht geerbt, sondern sie wurden explizit vergeben. Genau das will ich ja nicht.

Möglichkeit 2:
01.
"cscript //nologo xcacls.vbs c:\eins /i enable /f /s"
Dadurch wird auf c:\eins das Erben aktiviert und die Berechtigungen werden nach unten durchgedrückt. Die Unterordner a, b und c haben die Berechtigungen von oben geerbt. Alles super, nur will ich auf c:\eins das Erben nicht aktivieren, nur bei den Unterordnern.

Mir bleibt also nur eine Kombination beider Möglichkeiten:
01.
"cscript //nologo xcacls.vbs c:\eins /i remove /g mydomain\username:F /f /s /t" 
02.
"for /D %i in (C:\eins\*) do cscript //nologo xcacls.vbs %i /i enable /f /s"
Ich durchlaufe also in einer Schleife alle Unterordner (erster Ebene) und führe für jeden den Befehl aus Möglichkeit 2 aus.

Geht das wirklich nicht anders?


Danke
Martin
Mitglied: AlbertMinrich
14.11.2011 um 17:11 Uhr
Zitat von AlbertMinrich:
Mir bleibt also nur eine Kombination beider Möglichkeiten:
"cscript nologo xcacls.vbs c:\eins /i remove /g mydomain\username:F /f /s /t"
"for /D %i in (C:\eins\*) do cscript
nologo xcacls.vbs %i /i enable /f /s"

Hab grad noch gemerkt, andersrum geht´s ein wenig einfacher
01.
"cscript //nologo xcacls.vbs c:\eins /i enable /f /s /t" 
02.
"cscript //nologo xcacls.vbs c:\eins /i remove /g mydomain\username:F"
aber schöner wär´s mit einer Zeile.
Bitte warten ..
Mitglied: DerWoWusste
14.11.2011 um 21:34 Uhr
Moin.

Und was ist mit icacls ... /inheritance?
Bitte warten ..
Mitglied: AlbertMinrich
15.11.2011 um 06:30 Uhr
Zitat von DerWoWusste:
Moin.

Und was ist mit icacls ... /inheritance?

Ja, den Parameter "inheritance" hab ich auch öfters gelesen. Bei meinem icacls gibt´s den aber gar nicht und ein anderes hab ich nicht gefunden.
Wenn du einen Downloadlink hast, ich würd´s mir gern mal anschauen.

Gruß
Martin
Bitte warten ..
Mitglied: DerWoWusste
15.11.2011 um 11:51 Uhr
Du hast Recht, 2003 bekommt vom sp2 ein icacls, welches buggy ist: es fehlt dieser Parameter. Nimm http://support.microsoft.com/kb/943043 , dieser Fix behebt das.
Bitte warten ..
Mitglied: AlbertMinrich
15.11.2011 um 13:45 Uhr
Hallo,

danke. Ich hab den Hotfix installiert, es gibt dann auch den Parameter /inheritance.
Aber auch damit geht´s nicht anders als mit xcacls.vbs.
Es fehlt bei beiden die Option, die Berechtigungen nach unten durchzudrücken UND gleichzeitig für alle Unterordner das Erben zu aktivieren.

Vielleicht überseh ich ja auch was.
Gruß
Martin
Bitte warten ..
Mitglied: DerWoWusste
15.11.2011 um 14:14 Uhr
(OI)(CI)=object inherit und container inherit. Das ist es doch.
Bitte warten ..
Mitglied: AlbertMinrich
15.11.2011 um 14:34 Uhr
Zitat von DerWoWusste:
(OI)(CI)=object inherit und container inherit. Das ist es doch.

Das gab es auch mit dem alten icacls.exe, aber das hilft mir nicht, denn was macht z.B. das hier?
01.
"icacls c:\eins /grant mydomain\username:(OI)(CI)F"
Damit bekommt der User mydomain\username Vollzugriff und das wird nach unten vererbt. ABER NUR, wenn bei den untergeordneten Ordnern das Erben aktiv ist. Ist es aber nicht unbedingt immer.


So könnte ich es zwar durchdrücken
01.
"icacls c:\eins /grant mydomain\username:(OI)(CI)F /t"
so dass alle untergeordneten Ordner die gewünschten Berechtigungen haben, aber dann sind sie nicht geerbt sondern explizit gesetzt.
Bitte warten ..
Mitglied: DerWoWusste
15.11.2011 um 15:16 Uhr
Wieso? Sie sind geerbt. Ich nutze hier ein Skript [Edit: auf Vista/2008R2], das geht
01.
icacls \\server\share /grant:r Sonstwer:(OI)(CI)(F) /t 
und kann danach über den Explorer beispielsweise bei untergeordneten Dateien sehen, dass von server\share geerbt wurde.

Edit2: man beachte das /r: r - remove all inherited ACEs
Bitte warten ..
Mitglied: AlbertMinrich
15.11.2011 um 19:56 Uhr
Zitat von DerWoWusste:
Wieso? Sie sind geerbt. Ich nutze hier ein Skript [Edit: auf Vista/2008R2], das geht
01.
icacls \\server\share /grant:r Sonstwer:(OI)(CI)(F) /t 
und kann danach über den Explorer beispielsweise bei untergeordneten Dateien sehen, dass von server\share geerbt wurde.

Edit2: man beachte das /r: r - remove all inherited ACEs

Und bei den untergeordneten Ordnern bzw. Dateien war das Erben vorher sicher deaktiviert?

Bei mir klappt das nicht. Muss morgen mal an einem 2008er Server testen, ob der sich anders verhält als mein 2003er bzw. mein XP.

Gruß
Martin
Bitte warten ..
Mitglied: AlbertMinrich
17.11.2011 um 17:30 Uhr
Zitat von AlbertMinrich:
> Zitat von DerWoWusste:
> ----
> Wieso? Sie sind geerbt. Ich nutze hier ein Skript [Edit: auf Vista/2008R2], das geht
>
01.
icacls \\server\share /grant:r Sonstwer:(OI)(CI)(F) /t 
> und kann danach über den Explorer beispielsweise bei untergeordneten Dateien sehen, dass von server\share geerbt wurde.
>
> Edit2: man beachte das /r: r - remove all inherited ACEs

Und bei den untergeordneten Ordnern bzw. Dateien war das Erben vorher sicher deaktiviert?

Bei mir klappt das nicht. Muss morgen mal an einem 2008er Server testen, ob der sich anders verhält als mein 2003er bzw. mein
XP.
Zitat von AlbertMinrich:
> Zitat von DerWoWusste:
> ----
> Wieso? Sie sind geerbt. Ich nutze hier ein Skript [Edit: auf Vista/2008R2], das geht
>
01.
icacls \\server\share /grant:r Sonstwer:(OI)(CI)(F) /t 
> und kann danach über den Explorer beispielsweise bei untergeordneten Dateien sehen, dass von server\share geerbt wurde.
>
> Edit2: man beachte das /r: r - remove all inherited ACEs

Und bei den untergeordneten Ordnern bzw. Dateien war das Erben vorher sicher deaktiviert?

Bei mir klappt das nicht. Muss morgen mal an einem 2008er Server testen, ob der sich anders verhält als mein 2003er bzw. mein
XP.

Also, habs probiert an einem 2008er Server. Klappt leider nicht. Beispiel im Screenshot.
Mit dem ersten
"icacls c:\eins /t"
sieht man, die Berechtigungen sind auf die beiden Unterordner a und b gleich, der Unterschied ist, a hat sie geerbt (Erben ist aktiviert), bei b sind sie explizit vergeben (Erben ist deaktiviert). Das ist die Ausgangsbasis. Ob Berechtigungen geerbt sind, sind man an dem "(I)".

Nächster Befehl:
"icacls c:\eins /grant:r fritz: (OI)(CI)()F) /t" (zwischen fritz: und (OI) ist nur hier ein Leerzeichen, sonst wird ein (Anti-)Smiley draus)
und wieder mit
"icacls c:\eins /t"
überprüft.
Was ist passiert?
Der Unterordner a hat die Fritz-Berechtigung einmal geerbt und einmal wurde sie explizit vergeben.
Bei Unterordner b wurde sie nur explizit vergeben.

Zum Vergleich hab ich dann die Berechtigungen per Explorer gesetzt (Haken: "Berechtigungen übergeordneter Objekte auf untergeordnete Objekte, sofern anwendbar, vererben....") und nochmal das Ergebnis angezeigt mit
"icacls c:\eins /t"
Man sieht, alle drei Ordner haben jetzt exakt die gleichen Berechtigungen. Beim Ordner c:\eins explizit vergeben, die beiden Unterordner haben sie geerbt. So soll es sein.

[EDIT] Mist, wieso gibts jetzt hier keine Möglichkeit mehr, ein Bild einzufügen. Ich versuchs von zu Hause
So, jetzt:
8bfa742f2e6104f8747b3acddaad01f2 - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: AlbertMinrich
19.11.2011 um 12:06 Uhr
Jetzt hab ich doch noch das richtige Tool gefunden:
setacl.exe
http://helgeklein.com/setacl/documentation/command-line-version-setacl- ...

So sieht der Befehl aus:
SetACL.exe -on c:\eins\zwei -ot file -actn clear -clr "dacl" -actn ace -ace "n:mydomain\myuser;p:change" -ace "n:mydomain\group;p:full" -actn setprot -op "dacl:p_nc" -actn rstchldrn -rst dacl



Damit bekommt auf das Verzeichnis c:\eins der User mydomain\myuser Ändern-Berechtigung:
"-ace "n:mydomain\myuser;p:change""

die Gruppe mydomain\mygroup Vollzugriff
"-ace "n:mydomain\mygroup;p:full""

deaktivieren des Erbens von oben (Berechtigungen werden gelöscht)
"setprot -op "dacl:p_nc""

löschen aller nichtgeerbten Berechtigungen
"clear -clr "dacl""

und das wichtigste, dass ich bisher nirgends finden konnte, durchdrücken der Berechtigungen nach unten
"rstchldrn -rst dacl"


Gruß
Martin
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Server
Skript per GPO ausführen - Berechtigungen? (10)

Frage von honeybee zum Thema Windows Server ...

Windows Server
AD-Berechtigungen von zwei Servern miteinander vergleichen (3)

Frage von s0m3ting zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (21)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
gelöst Einzelne Dateien auf einem Server haben auf einmal keine Berechtigungen mehr (7)

Frage von StefanKittel zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (22)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (19)

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

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...