ribrob
Goto Top

Berechtigungen nach Kopiervorgang verschwunden

Hallo,

folgendes Szenario:

Windows 7 Prof. x64

Ich möchte die Datei "aaa.txt" volumenübergreifend in ein Verzeichnis "Office" kopieren. Die Datei aaa.txt aus dem Quellverzeichnis hat andere Berechtigungen als das Zielverzeichnis "Office". Bei einfachem Kopieren verliert die Datei sämtlich Rechte! Mit dem Befehl "xcopy Syntax /o" wird die Datei immerhin schon mal mit den Rechten des Quellverzeichnisses kopiert!
Allerdings möchte ich, dass die Datei die Rechte des Ziels annimmt. In meinem speziellen Fall handelt es sich um ein Homeverzeichnis (durch Ordnerumleitung angelegt), wobei der jeweilige Besitzer des Home-Ordners von Microsoft vergeben Vollzugriff "Nur dieses Objekt" hat. Also er hat nicht eine vermeintliche Vererbung, sondern jeder Ordner/Datei hat für den User ein eigenes Rechteflag.

Somit wird bei Kopieren einer Datei in das Homeverzeichnis logischerweise nicht vererbt und der Home-User bekommt auf diese Datei keine Rechte. Ich weiß, klingt etwas verwirrend, aber hoffe auf Hilfe von euch!!!

Gibt es denn ein Boardmittel oder Tool, womit man die Rechte übergeben kann?

Content-ID: 195119

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

Ausgedruckt am: 22.11.2024 um 01:11 Uhr

AndreasHoster
AndreasHoster 29.11.2012 um 12:20:14 Uhr
Goto Top
Wenn der Zielordner keine Vererbung hat, dann kann man auch nicht erwarten, daß die Datei die Rechte des Ordners bekommt.
Das ist kein Fehler im Windows, sondern im Denkprozess.

Aber um einer Datei Rechte zuzuweisen gibt es cacls.
Und im Ressourcekit die verbesserte Version xcacls.
Und bei MS eine Hilfe: http://technet.microsoft.com/en-us/library/bb490872.aspx
108399
108399 29.11.2012 um 14:01:58 Uhr
Goto Top
Hallo Robbery

Das Boardmittel ist recht einfach und nennt sich xcopy face-wink :

Kopieren eines Ordners in einen anderen Ordner unter Beibehaltung seiner Berechtigungen
1. Klicken Sie auf Start und anschließend auf Ausführen.
2. Geben Sie cmd in das Feld Öffnen ein, und klicken Sie auf OK.
3. Geben Sie xcopy QuelleZiel /O /X /E /H /K ein und drücken Sie die [EINGABETASTE]. Dabei steht Quelle für den Quellpfad der zu kopierenden Dateien und Ziel für den Zielpfad der Dateien.

Quelle: http://support.microsoft.com/kb/323007/de

Gruss
Raphael S.
ribrob
ribrob 30.11.2012 um 08:40:19 Uhr
Goto Top
Zitat von @108399:
Das Boardmittel ist recht einfach und nennt sich xcopy face-wink :

Kopieren eines Ordners in einen anderen Ordner unter Beibehaltung seiner Berechtigungen
1. Klicken Sie auf Start und anschließend auf Ausführen.
2. Geben Sie cmd in das Feld Öffnen ein, und klicken Sie auf OK.
3. Geben Sie xcopy QuelleZiel /O /X /E /H /K ein und drücken Sie die [EINGABETASTE]. Dabei steht Quelle für den
Quellpfad der zu kopierenden Dateien und Ziel für den Zielpfad der Dateien.

Genau das habe ich im Ausgangspost ja schon erwähnt. Aber das möchte ich ja nicht, da ich ja NICHT die Rechte aus der Quelle übernehmen möchte, sondern die Rechte, die das Ziel besitzt der kopierten Datei "überstülpen" möchte.

Aber da MS bei Home-Verzeichnis anlegen per Ordnerumleitung jedem einzelnen Ordner und jeder einzelnen Datei für den jeweilige Home-User das Einzelrecht Vollzugriff setzt, greift sozusagen keine Vererbung, da es ja keine Vererbung gibt, wie es "AndreasHoster" schon erwähnt hat.


Zitat von @AndreasHoster:
Wenn der Zielordner keine Vererbung hat, dann kann man auch nicht erwarten, daß die Datei die Rechte des Ordners bekommt.
Das ist kein Fehler im Windows, sondern im Denkprozess.

Aber um einer Datei Rechte zuzuweisen gibt es cacls.
Und im Ressourcekit die verbesserte Version xcacls.
Und bei MS eine Hilfe: http://technet.microsoft.com/en-us/library/bb490872.aspx

Mit cacls bzw xcacls werde ich mich jetzt mal auseinandersetzen, mal sehen ob ich hinter dieses Boardmittel steige...
108399
108399 30.11.2012 um 08:52:19 Uhr
Goto Top
Hi robbery

Bitte entschuldige, habe ich irgendwie überlesen.

Gruss
Raphael S.
ribrob
ribrob 30.11.2012 um 09:57:14 Uhr
Goto Top
Kein Problem face-smile Aber vllt hast du ja trotzdem noch nen weiteren Tipp ;)
108399
108399 30.11.2012 um 10:15:36 Uhr
Goto Top
Im Moment leider nicht, mache mich mal auf die Suche und melde mich wieder falls was aufgetaucht ist.

Gruss
Raphael S.
ribrob
ribrob 30.11.2012 aktualisiert um 11:08:43 Uhr
Goto Top
Habe mit icacls ein wenig getestet. Ergebnis:

1. Habe mir die Berechtigungen der bereits vorhandenen und korrekten Ordner per cacls auslesen lassen:

set laufwerk=%~d0
for /r %laufwerk% %%a in (.) do cacls "%%a" >> ACLs.txt

2. Mein spez. User hat die Berechtigung: Domäne\User: (ID)F

3. Wenn ich nun ein Ordner in die Struktur kopiere, überträgt er logischerweise den User mit Recht nicht (keine Vererbung).

4. Per icacls nachträglich setzen mit: icacls.exe "Ordner" /T /grant:r "User":F

5. Er legt die Rechte für den User erfolgreich an (mit Unterordnerrechten)

6. Erneutes Auslesen der Rechte --> Ergebnis :Domäne\User:F

--> Es fehlt sozusagen das "Vererbungsrecht" (ID)

Frage: Was ist das und wie kann ich es mit übertragen?!?

Den Befehl einfach so setzen: icacls.exe "Ordner" /T /grant:r "User": (ID)F --> Bringt ungültiger Parameter...
ribrob
ribrob 05.12.2012 um 08:47:04 Uhr
Goto Top
Hat noch jemand eine Idee, wie ich das Vererbungsrecht (ID) übergeben kann?

Bin wie immer für jede Hilfe dankbar face-smile
AndreasHoster
AndreasHoster 05.12.2012 um 11:42:07 Uhr
Goto Top
Laut der MS Beschreibung zu icacls gibt es kein (ID) Recht.
Auszug:
Inheritance rights may precede either Perm form, and they are applied only to directories:
(OI): object inherit
(CI): container inherit
(IO): inherit only
(NP): do not propagate inherit

Siehe http://technet.microsoft.com/en-us/library/cc753525(v=ws.10).aspx

Lass Dir die Berechtigung mal mit icacls ausgeben, nicht mit dem normalen cacls. Vermutlich verwendet MS in beiden unterschiedliche Acronyme.
ribrob
ribrob 06.12.2012 aktualisiert um 08:29:48 Uhr
Goto Top
Habe es mir nun mit icacls anzeigen lassen, da sieht das Recht so aus: Domäne\User: (I)(F)
Sprich nicht (ID), sondern nur (I). Laut Hilfe soll es eine "Vom übergeordneten Container vererbte Berechtigung" sein, allerdings hat der User ja die spezielle Berechtigung, dass er auf jeden Ordner und Datei Einzelvollzugriffsrechte hat, die eben nicht vererbt werden... Irgendwie unlogisch, oder?!?

Und wenn ich es einfach mal mit icacls.exe "Neuer Ordner" /T /grant:r "User2": (I)F probiere, dann bleibt es bei ungültiger Parameter -.-
AndreasHoster
AndreasHoster 06.12.2012 aktualisiert um 10:34:20 Uhr
Goto Top
Ich habe wohl definitiv eine andere icacls Version.
Bei mir verwendet icacls die von Microsoft verwendeten Acronyme (OI) (CI) etc.
Ein (I) gibt es nicht.
Und ein /grant:r User: (CI)(OI)F funktioniert bei mir. (Eigentlich kein Leerzeichen bei : ( aber ansonsten gibt es face-sad )
(I) natürlich nicht, aber das sollte icacls ja auch nicht kennen.
ribrob
ribrob 06.12.2012 aktualisiert um 10:49:22 Uhr
Goto Top
Ein /grant:r User: (CI)(OI)F funktioniert bei mir auch... Bei dir ist in der Hilfe kein (i) vorhanden?

Ein weiteres Bsp von Systemusern:
C:\Help\...\Admin\nls\deutsch VORDEFINIERT\Benutzer: (I)(OI)(CI)(M)
NT-AUTORITŽT\Authentifizierte Benutzer: (I)(OI)(CI)(M)
NT-AUTORITŽT\SYSTEM: (I)(OI)(CI)(F)
VORDEFINIERT\Administratoren: (I)(OI)(CI)(F)

Überall ist das (I) vorhanden... Nur kann ich das Acronym nicht übergeben!?
AndreasHoster
AndreasHoster 06.12.2012 um 11:31:27 Uhr
Goto Top
OK, ich kriege das (I) auch, wenn ich einen Ordner mit entsprechenden Berechtigungen nehme.
(I) bedeutet, daß diese Berechtigung vom übergeordneten Objekt vererbt wird.
Damit ist auch klar, daß Du das nicht auf diesem Ordner vergeben kannst, weil es gar nicht auf diesem Ordner definiert ist.
Und da der Ordner ja explizit nichts von oben erben soll, gibt es dort auch kein (I).
ribrob
ribrob 06.12.2012 um 12:09:56 Uhr
Goto Top
Ja so schaut meine traurige Vermutung wohl oder übel auch aus.

Bleibt eigentlich nur noch übrig, dass ich versuche, die Rechte des übergeordneten Ordners zu nehmen und auf den zu ändernden Ordner stülpe!? Nur wie?

Mit icacls.exe "Neuer Ordner" /T /grant:r "User2"face-sadIO)F habe ich es probiert, es passiert aber nichts... Habe ich da womöglich einen Fehler? IO bedeutet ja "nur vererben", allerdings bin ich mir nicht sicher, ob ich in irgendeiner Art den übergeordneten Ordner mit angeben muss, von wo aus geerbt werden soll.
AndreasHoster
AndreasHoster 06.12.2012 um 15:27:28 Uhr
Goto Top
Ein untergeordneter Ordner kann nichts vom übergeordneten Ordner erben, wenn im übergeordneten Ordner bei den Security Einstellungen nicht drinsteht, daß die für untergeordnete Ordner gelten sollen.
Und da, laut Deinem Ursprungsposting, der Benutzer im fraglichen Ordner NUR FÜR DIESES OBJEKT Einstellungen hat, KANN der untergeordnete Ordner diese Berechtigung nicht übernehmen.

Jetzt die Frage, was Du eigentlich willst. Die Security im übergeordneten Ordner ändern, damit die Vererbung aktiv ist, oder manuell die Berechtigungen der Dateien/Ordner im fraglichen Ordner so setzen, wie im übergeordneten?

Um die Vererbung zu aktivieren, musst Du im Übergeordneten Ordner die Inheritance Permissions (CI) (OI) aktivieren für die entsprechenden Einträge.
Und wenn ich mit icalcs Verzeichnis /grant "Userface-sadOI)(CI)F" mache, dann hat dieser User danch Vollzugriff auf das Verzeichnis und die Vererbung auf untergeordnete Objekte ist aktiv.
Und Dateien/Ordner in diesem Ordner erben das auch.
Sehe jetzt kein größeres Problem. Aber icacls gibt ja auch irgendwas aus, z.B. Anzahl processed Files.
Deutet da irgendwas auf Probleme hin (ich möchte ja nicht vorschlagen den Output von icacls zu posten, daß wäre ja möglicherweise zu trivial).
ribrob
ribrob 07.12.2012 um 10:14:51 Uhr
Goto Top
Zitat von @AndreasHoster:
Ein untergeordneter Ordner kann nichts vom übergeordneten Ordner erben, wenn im übergeordneten Ordner bei den Security
Einstellungen nicht drinsteht, daß die für untergeordnete Ordner gelten sollen.
Und da, laut Deinem Ursprungsposting, der Benutzer im fraglichen Ordner NUR FÜR DIESES OBJEKT Einstellungen hat, KANN der
untergeordnete Ordner diese Berechtigung nicht übernehmen.
Ja ist klar, aber hätte ja sein können, dass man komplette Berechtigungen 1:1 von einem auf den anderen Ordner/Datei übertragen kann.

Jetzt die Frage, was Du eigentlich willst. Die Security im übergeordneten Ordner ändern, damit die Vererbung aktiv ist,
oder manuell die Berechtigungen der Dateien/Ordner im fraglichen Ordner so setzen, wie im übergeordneten?
Security nicht ändern, sondern den besagten Ordner ändern (im einfachsten Fall eben die Berechtigungen des übergeorneten auslesen und im aktuellen Ordner einfügen)

Um die Vererbung zu aktivieren, musst Du im Übergeordneten Ordner die Inheritance Permissions (CI) (OI) aktivieren für
die entsprechenden Einträge.
Ich möchte bei den Ursprungsordnern (nicht manipulierte Ordner) nichts an den Berechtigungen ändern, wenn möglich...

Und wenn ich mit icalcs Verzeichnis /grant "Userface-sadOI)(CI)F" mache, dann hat dieser User danch Vollzugriff auf das
Verzeichnis und die Vererbung auf untergeordnete Objekte ist aktiv.
Und Dateien/Ordner in diesem Ordner erben das auch.
Sehe jetzt kein größeres Problem. Aber icacls gibt ja auch irgendwas aus, z.B. Anzahl processed Files.
Deutet da irgendwas auf Probleme hin (ich möchte ja nicht vorschlagen den Output von icacls zu posten, daß wäre ja
möglicherweise zu trivial).

Beispiele:
C:\...\Office>icacls.exe "Neuer Ordner" /T /grant:r "User2"face-sadI)F
Ungültiger Parameter: "User2face-sadI)F"
pause
Drücken Sie eine beliebige Taste . . .

C:\...\Office>icacls.exe "Neuer Ordner" /T /grant:r "User2"face-sadCI)(IO)F
Bearbeitete Datei: Neuer Ordner
Bearbeitete Datei: Neuer Ordner\Neues Textdokument.txt
2 Dateien erfolgreich verarbeitet, bei 0 Dateien ist ein Verarbeitungsfehler auf
getreten.
pause
Drücken Sie eine beliebige Taste . . .

Daran lässt sich jetzt mMn nicht ungewöhnliches erkennen?!
AndreasHoster
AndreasHoster 07.12.2012 um 13:15:39 Uhr
Goto Top
Und sicher, daß User2 hinterher auf den "Neuen Ordner" keinen Vollzugriff hat und das auf untergeordnete Objekte vererbt wird?
ribrob
ribrob 07.12.2012 um 13:38:13 Uhr
Goto Top
Doch hat er, die untere Abfrage funktioniert ja, allerdings entspricht das Ergebnis ja nicht meinem Wunsch.

Und die obere schlägt eben fehl... Und diese ist ja die gewünschte.

Jetzt möchte ich mich aber trotzdem erstmal (egal wie das Ergebnis mal ausschaut) bei dir für deine Mühen und Ideen bedanken!!!