NTFS Berechtigungen beim Verschieben

German support forum

Moderators: white, Hacker, Stefan2

Juan
Junior Member
Junior Member
Posts: 2
Joined: 2009-06-17, 14:22 UTC

NTFS Berechtigungen beim Verschieben

Post by *Juan »

Hallo!


in den vergangenen Monaten hatten wir sporadisch das Phenomen, dass Ordner welche auf unserem Fileserver (W2K3) verschoben wurden die Berechtigungen mitgenommen haben.

Im Windows Explorer haben wir dieses Verhalten über den Registry Key "movesecurityattributes" verändert, sodass Berechtigungen auch beim Verschieben direkt vom übergeordnenten Ordner geerbt werden.

Im Totalcommander klappt dies nicht. In einem alten Forumsbetreitag habe ich den Eintrag gefunden, dass mit "XPMoveMethod=1" mein Problem gelöst wäre. Leider funktioniert dies nicht.

Jemand eine Idee?


Danke


Juan
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Welche Kopiermethode wurde verwendet? War die Option "Kopiere NTFS-Permissions" aktiviert?

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Postkutscher
Power Member
Power Member
Posts: 556
Joined: 2006-04-01, 00:11 UTC

Post by *Postkutscher »

Wenn das Englisch Ihnen nicht stört , kann http://ghisler.ch/board/viewtopic.php?t=18232&highlight=ntfs+permissions wahrscheinlich behilflich sein.
Juan
Junior Member
Junior Member
Posts: 2
Joined: 2009-06-17, 14:22 UTC

Post by *Juan »

Das Problem besteht beim Verschieben, nicht beim Kopieren.

Istzustand: Berechtigungen werden beim Verschieben mitgenommen.

Sollzustand: Berechtigungen sollen vom Zielordner geerbt werden.

... leider gelingt es mir nicht :roll:
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Sollte sich eigentlich über die Variable XPMoveMethod steuern lassen:

XPMoveMethod=
1: Beim Verschieben werden die Permissions des Zielordners genommen
0: Die Permissions der Datei werden beibehalten

Voreinstellung: XP:1, andere Systeme: 0

Möglicherweise wurde das in Ihrem System umkonfiguriert.
Author of Total Commander
https://www.ghisler.com
kaminfeuer
Junior Member
Junior Member
Posts: 6
Joined: 2009-08-19, 08:58 UTC

Post by *kaminfeuer »

Was aber fehlt, ist die Möglichkeit, dass eine Datei beim Verschieben die Berechtigungen des Zielordners erbt. Die Berechtigungen werden zwar mit XPMoveMethod=1 übernommen, aber nicht als "vererbt", was zur Folge hat, dass sich Änderungen an den Berechtigungen des übergeordneten Verzeichnisses *nicht* auf die verschobene Datei auswirken!

Mit dem Explorer geht das hingegen (nach Umstellung des entsprechenden Verhaltens per Registry, siehe grmpf - keine Links erlaubt ... ). Richtig schön wäre, wenn der TC so einstellbar wäre, dass er sich genau wie der Explorer verhält ...
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Das verstehe ich jetzt nicht - wenn XPMoveMethod=1 eingestellt ist, lädt TC die Berechtigungen des Ordners, in den Sie kopieren, und überträgt diese auf den neuen Ordner/die neue Datei. Sollte der Zielordner die Option "vererben" gesetzt haben, sollte das auch auf das neue Objekt übertragen werden...
Author of Total Commander
https://www.ghisler.com
kaminfeuer
Junior Member
Junior Member
Posts: 6
Joined: 2009-08-19, 08:58 UTC

Post by *kaminfeuer »

Sollte ist immer gut ... ;-)

Ich habe es eben nochmal ausprobiert ... die Berechtigungen sind zwar da, aber unter Eigenschaften->Sicherheit->[Erweitert] in der Spalte "Geerbt von" steht "<nicht geerbt>"!

MfG
Kaminfeuer
kaminfeuer
Junior Member
Junior Member
Posts: 6
Joined: 2009-08-19, 08:58 UTC

Post by *kaminfeuer »

Folgendes habe ich gemacht:

- Ausgangspunkt: D:\
- F7 -> Verzeichnis NTFSDemo anlegen
- Ins Verzeichnis D:\NTFSDemo wechseln
- F7 -> Verzeichnis Ordner1 anlegen
- Shift-F4 -> Datei1.txt anlegen
- Datei1.txt markieren
- F6 -> Datei1.txt nach Ordner1 verschieben

=> wenn man jetzt die Sicherheitseinstellungen der verschobenen Datei anschaut, stellt man fest, dass diese zwar denen von Ordner1 entsprechen, aber in der Spalte "Geerbt von" steht eben "<nicht geerbt>".

BTW: Bei Ordner1 ist das Häkchen "Berechtigungen übergeordneter Objekte ..." gesetzt - hab ich überprüft.

Wenn ich das Verschieben über den Explorer durchführe, sind die Berechtigungen korrekt. In der Spalte "Geerbt von" steht "D:\".
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Leider verhält sich die Windows eigene Funktion MoveFile (wie auch MoveFileEx) nicht wie der Explorer, deshalb muss ich die Permissions selber übertragen. Ich lese sie einfach vom Zielordner (mit GetFileSecurityW) und schreibe sie auf das übertragene Objekt (mit SetFileSecurityW). Offenbar macht der Exporer etwas anderes, aber was? Wie unterscheiden sich denn nach dem Kopieren mit dem Explorer die Security-Attribute des kopierten Objects vom Zielordner?
Author of Total Commander
https://www.ghisler.com
kaminfeuer
Junior Member
Junior Member
Posts: 6
Joined: 2009-08-19, 08:58 UTC

Post by *kaminfeuer »

Vielleicht liegt das Problem darin, dass Du die Berechtigungen von einem Ordner liest und sie anschließend einer Datei zuweist ... ? Das Verschieben eines Ordners funktioniert jedenfalls wie erwartet.

Mit welcher Sprache/Entwicklungsumgebung wird TC eigentlich entwickelt?
User avatar
raeubi
Power Member
Power Member
Posts: 575
Joined: 2003-11-25, 09:01 UTC
Location: Rhein/Main

Post by *raeubi »

Mit welcher Sprache/Entwicklungsumgebung wird TC eigentlich entwickelt?
Auszug aus der TC Hilfe - Allgemeine Informationen - Lizenz:

Code: Select all

...
Entstehung
 
Total Commander wurde mit Hilfe von Delphi 1.0 (16 bit) und 2.0 (32 bit) (© 1995-96 by Borland International) geschrieben.
...
Räubi
(#2852 + #287609)
j
Member
Member
Posts: 124
Joined: 2009-04-13, 19:49 UTC

Post by *j »

MSDN Autoren von [url=http://msdn.microsoft.com/en-us/library/aa379577%28VS.85%29.aspx]SetFileSecurity[/url] wrote:This function is obsolete. Use the SetNamedSecurityInfo function instead.
Du könntest wohl auch entsprechend GetSecurityInfo / SetSecurityInfo verwenden.

Die obsolete Get/SetFileSecurity unterstützt keine vererbten ACEs.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Danke für den Hinweis, wusste ich noch nicht...
Author of Total Commander
https://www.ghisler.com
j
Member
Member
Posts: 124
Joined: 2009-04-13, 19:49 UTC

Post by *j »

Wenn man wirklich alles über die Windows API wissen würde, müsste man wohl auch in gesonderte Behandlung... :shock:
Post Reply