AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Berechtigungen einer Datei setzen (jwscl)
Thema durchsuchen
Ansicht
Themen-Optionen

Berechtigungen einer Datei setzen (jwscl)

Ein Thema von Alter Mann · begonnen am 22. Aug 2008 · letzter Beitrag vom 23. Aug 2008
Antwort Antwort
Seite 2 von 2     12   
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#11

Re: Berechtigungen einer Datei setzen (jwscl)

  Alt 23. Aug 2008, 19:53
Aber das stimmt immernoch nicht so:

Du verwendest : Value.SID hier.
D.h. wenn die Instanz (Parameter) Value zerstört wird, dann wird die Instanz Value.SID ungültig, aber nicht nil!

Wenn du TJwSecurityAccessControlEntry überall durch TJwDiscretionaryAccessControlEntryAllow ersetzt, dann compiliert es, oder willst du auch Zugriffsverweigerungen setzen?

Delphi-Quellcode:
procedure ..SetAccessControlEntry(Value : TJwSecurityAccessControlEntry);
begin
  if FAccessControlEntry <> Value then
  begin
     if Value is TJwDiscretionaryAccessControlEntryDeny then
       FAccessControlEntry :=
         TJwDiscretionaryAccessControlEntryDeny.Create(Value as TJwDiscretionaryAccessControlEntryDeny)
     else
     if Value is TJwDiscretionaryAccessControlEntryAllow then
       FAccessControlEntry :=
         TJwDiscretionaryAccessControlEntryAllow.Create(Value as TJwDiscretionaryAccessControlEntryAllow)
     else
        //gibt noch eine Vielzahl anderer
        raise Exception.Create('Unsupported ACE type: '+Value.ClassName);
     FAccessControlEntry.Flags := [afObjectInheritAce, afContainerInheritAce];
  end;
end;
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

Re: Berechtigungen einer Datei setzen (jwscl)

  Alt 23. Aug 2008, 20:29
Hi Christian,


Zitat:
Du verwendest : Value.SID hier.
D.h. wenn die Instanz (Parameter) Value zerstört wird, dann wird die Instanz Value.SID ungültig, aber nicht nil!
Das ist in diesem Fall unerheblich, ich muss nur eine Datei oder ein Verzeichnis von A nach B kopieren.
Die Dateien liegen in A und haben in den ACE's den User. Nun wird anhand seines Anmeldenamens ein
Verzeichnis in B erstellt, die ACE hinzugefügt und alle seine Dateien und Verzeichnisse aus A dort hinein kopiert.
Somit ist sichergestellt das nach Abschluss der Aktion die Benutzer nur auf das Zugreifen können
wo sie auch über die entsprechenden Rechte verfügen. Also nur "ALLOW".

Das heißt der Vorgang "Rechte ermitteln, Zwischenspeichern, Verzeichnis erstellen, Rechte setzen" wird nur einmal
ausgeführt. Sollte es währenddessen zu einem Fehler kommen, wird dies in ein log-file geschrieben.

Deine Anregung ist jedoch Interessant, ich werde mich der Sache mal annehmen und per PN melden,
dann machen wir die ADSI-Geschichte gleich mit.

Gruß Jörg

PS Das Wochenende ist gerettet und die neue Woche kann kommen.
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#13

Re: Berechtigungen einer Datei setzen (jwscl)

  Alt 23. Aug 2008, 20:40
Freut mich, dass es klappt.

Ich muss nur sicherstellen, dass die Benutzung korrekt ist. Das mit den SIDs ist leider eine Stolperfalle.
Sobald du FileEntry.SecurityDescriptor löscht, wird die SID, die auch in FAccessControlEntry zugewiesen wurde, gelöscht.
Und damit funktioniert FAccessControlEntry nicht mehr unbedingt korrekt.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#14

Re: Berechtigungen einer Datei setzen (jwscl) (ERLEDIGT)

  Alt 23. Aug 2008, 20:51
Hat einiges an Umdenken erfordert, habe bisher die Units von Collin Wilson benutzt.
Die laufen unter W2K3 R2 irgendwie nicht so wie erwartet(und bisher benutzt), daher
der Umstieg auf 'jwscl'.
So wie ich das einschätzen kann: SUPER

Wie geschrieben, ich melde mich bei dir.

ERLEDIGT!!!
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#15

Re: Berechtigungen einer Datei setzen (jwscl)

  Alt 23. Aug 2008, 22:54
Ich kenne diese Units, nachdem ich vor einigen Monaten darauf aufmerksam gemacht wurde. Daher gibt es keinen Einfluss von denen auf die JWSCL.
JWSCL versucht zudem alle C typischen Merkmale zu verstecken aber trotdem zur Verfügung zu stellen. Leider bin ich nicht perfekt und daher gibt es einige Probleme mit der Konsistenz. Aber ich führe eine interne Liste
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz