Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Sicherheitseinstellungen von Dateien auslesen/setzen (https://www.delphipraxis.net/161443-sicherheitseinstellungen-von-dateien-auslesen-setzen.html)

hsg 4. Jul 2011 09:12

Sicherheitseinstellungen von Dateien auslesen/setzen
 
Hallo,

mein Chef hat mich vor eine Aufgabe gestellt, bei der ich nicht weiß, wie ich da vorgehen muss. Vielleicht könnt ihr mir ja die richtige Richtung weisen.

Das grobe Thema lautet Migration von Daten einer Domäne in eine neue. Benutzer sind dabei nicht das Problem. Aber bei den Sicherheitseinstellungen der Dateien sieht das ganze schon anders aus.

Nach den Vorstellungen meines Chefs soll das ganze wie folgt über die Bühne gehen:
Mittels Programm wird die SID des Benutzers/Gruppe aus der neuen Domäne ausgelesen und den einzelnen Dateien die gleichen Sicherheitseinstellungen zugewiesen, wie der Benutzer/Gruppe in der alten Domäne hatte. Das alles soll ohne Vertrauensstellung der beiden Domänen passieren.

Frage: geht so was? Wenn ja, wie mache ich das ganze? Welche API-Befehle muss ich da verwenden?
Gruß
Jörg

generic 4. Jul 2011 09:27

AW: Sicherheitseinstellungen von Dateien auslesen/setzen
 
Das RoboCopy aus dem Windows Resourcekit kann die Rechte übertragen. Bin mir nur nicht sicher, wie das mit dem SID-Umsetzung klappt.

Ansonsten schau mal diese VBS an:
http://support.microsoft.com/kb/825751/EN-US

Notfalls: Luckie hat was auf seiner Homepage gehabt, was sich mit NTFS-Rechten beschäftigt.

p80286 4. Jul 2011 10:59

AW: Sicherheitseinstellungen von Dateien auslesen/setzen
 
Zitat:

Zitat von hsg (Beitrag 1109841)
Nach den Vorstellungen meines Chefs soll das ganze wie folgt über die Bühne gehen:
Mittels Programm wird die SID des Benutzers/Gruppe aus der neuen Domäne ausgelesen und den einzelnen Dateien die gleichen Sicherheitseinstellungen zugewiesen, wie der Benutzer/Gruppe in der alten Domäne hatte. Das alles soll ohne Vertrauensstellung der beiden Domänen passieren.

Soweit ich weiß, kann man keiene SID von der einen Domäne in die andere umkopieren, kann mich da aber auch gewaltig irren!
Ich würde soweit es eben geht mit Benutzergruppen arbeiten, da ist der Pflegeaufwand wesentlich geringer als bei Einzelbenutzern, nur bei der Definnition der Gruppen tun sich viele Leute schwer.
Um allen Berechtigungsproblemen aus dem Weg zu gehen, einen FAT-Datenträger als Zwischenspeicher nutzen.

Gruß
K-H

generic 4. Jul 2011 11:07

AW: Sicherheitseinstellungen von Dateien auslesen/setzen
 
Du kannst SIDs kopieren, allerdings können die nicht den neuen Konten zugewiesen werden. Genau das ist auch sein Problem.
Daher das Programm, welche die Berechtigungen umsetzen soll.

CCRDude 4. Jul 2011 11:26

AW: Sicherheitseinstellungen von Dateien auslesen/setzen
 
Du kannst alles selber basteln, dann fängst Du mit GetFileSecurity, ConvertSecurityDescriptorToString, ConvertSidToStringSid, LookupAccountName etc. an.

Eher würde ich aber die JWSCL empfehlen, die JwsclDescriptor.pas etwa sollte das Händling von Security-Deskriptoren vereinfachen, und die JwsclSid.pas den Umgang mit den User-SIDs. Darin müsstest Du halt jeweils die Rechte der bekannten alten User-IDs in die neuen Äquivalente ändern.

hsg 4. Jul 2011 11:44

AW: Sicherheitseinstellungen von Dateien auslesen/setzen
 
Zitat:

Zitat von p80286 (Beitrag 1109863)
Soweit ich weiß, kann man keiene SID von der einen Domäne in die andere umkopieren, kann mich da aber auch gewaltig irren!

ich hoffe es an dieser Stelle einfach mal. Es ist mir klar, dass die Namensauflösung des SID nicht unbedingt möglich ist, aber ansonsten ist das doch nur ein Eintrag in was auch immer, oder nicht?

Zitat:

Zitat von p80286 (Beitrag 1109863)
Ich würde soweit es eben geht mit Benutzergruppen arbeiten, da ist der Pflegeaufwand wesentlich geringer als bei Einzelbenutzern, nur bei der Definnition der Gruppen tun sich viele Leute schwer.
Um allen Berechtigungsproblemen aus dem Weg zu gehen, einen FAT-Datenträger als Zwischenspeicher nutzen.

Gruß
K-H

Das ist leider keine Lösung. Es handelt sich hier um eine über die Jahre gewachsene Struktur, bei der bei jeglicher Änderung uns die Benutzer killen würden! Natürlich wurde versucht, soweit wie möglich das über Benutzergruppen abzufedern, aber es ist leider nicht immer möglich.

Zitat:

Zitat von generic (Beitrag 1109842)
Das RoboCopy aus dem Windows Resourcekit kann die Rechte übertragen. Bin mir nur nicht sicher, wie das mit dem SID-Umsetzung klappt.

Ansonsten schau mal diese VBS an:
http://support.microsoft.com/kb/825751/EN-US

Notfalls: Luckie hat was auf seiner Homepage gehabt, was sich mit NTFS-Rechten beschäftigt.

Das VBS habe ich mir erst mal runtergeholt, aber noch nicht reingeschaut, scheint aber schon mal interessant zu sein. Auf Luckies-Seite bin ich gerade am Stöbern (und lese nicht nur die Themen diesbezüglich durch :-D )

Zitat:

Zitat von CCRDude (Beitrag 1109874)
Du kannst alles selber basteln, dann fängst Du mit GetFileSecurity, ConvertSecurityDescriptorToString, ConvertSidToStringSid, LookupAccountName etc. an.

Eher würde ich aber die JWSCL empfehlen, die JwsclDescriptor.pas etwa sollte das Händling von Security-Deskriptoren vereinfachen, und die JwsclSid.pas den Umgang mit den User-SIDs. Darin müsstest Du halt jeweils die Rechte der bekannten alten User-IDs in die neuen Äquivalente ändern.

Das klingt schon mal gut. Danke für den Tipp, schaue ich mir mal an.

Gruß Jörg

Luckie 4. Jul 2011 12:03

AW: Sicherheitseinstellungen von Dateien auslesen/setzen
 
Zitat:

Zitat von hsg (Beitrag 1109879)
Auf Luckies-Seite bin ich gerade am Stöbern (und lese nicht nur die Themen diesbezüglich durch :-D )

Ach du bist das, der hier so stöhnt und schnauft. Aber beim nächsten Besuch bitte die Füße abtreten bevor du rein kommst. :warn:

hsg 4. Jul 2011 12:09

AW: Sicherheitseinstellungen von Dateien auslesen/setzen
 
Zitat:

Zitat von Luckie (Beitrag 1109882)
Ach du bist das, der hier so stöhnt und schnauft.

Oh, entschuldige, habe ich dich ausversehen geweckt? :-D
Zitat:

Zitat von Luckie (Beitrag 1109882)
Aber beim nächsten Besuch bitte die Füße abtreten bevor du rein kommst. :warn:

Hatte ich eigentlich gemacht :gruebel:

Luckie 4. Jul 2011 14:13

AW: Sicherheitseinstellungen von Dateien auslesen/setzen
 
Und warum musste ich wieder hinter dir herwischen? :roll:

Also bezüglich ACLs habe ich nur das Auslesen: http://www.michael-puff.de/Programmi...kel/DACL.shtml Das Setzen und Zuweisen ist nicht so ganz trivial. Und wenn man nicht weiß, was man macht, kann man sich da einiges zerschießen bzw. Sicherheitslücken aufmachen. Man sollte sich da also erst mal genau informieren.

shmia 4. Jul 2011 14:27

AW: Sicherheitseinstellungen von Dateien auslesen/setzen
 
Also ich würde hier nicht beginnen mit Delphi zu programmieren - die Lernkurve dauert einfach zu lange (obwohl es ein interessantes Thema sein mag).
Aber es gibt schon Tools, die ein Backup eines NTFS-Pfades inklusive alle Rechte vornehmen können.
Mit dem Kommandozeilentool icacls lässt sich auch Einiges machen.
http://blogs.technet.com/b/askds/arc...rmissions.aspx


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:36 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz