Delphi-PRAXiS
Seite 3 von 5     123 45      

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

Tpercon 14. Aug 2003 15:47

Re: Sicherheitseinstellungen von Dateien ändern
 
Nur das PControl muß doch entsprechend dem OWNER_SECURITY_INFORMATION im GetFileSecurity gesetzt werden? Das liefert doch ncihts zurück?!

oki 15. Aug 2003 11:13

Re: Sicherheitseinstellungen von Dateien ändern
 
Wer behauptet das?

Tpercon 15. Aug 2003 11:19

Re: Sicherheitseinstellungen von Dateien ändern
 
Das habe ich mir so gedacht?! :roll:

oki 15. Aug 2003 11:46

Re: Sicherheitseinstellungen von Dateien ändern
 
Da kann ja jeder kommen :lol: !

Schau noch mal in der OH nach.

Gruß oki

Tpercon 15. Aug 2003 12:00

Re: Sicherheitseinstellungen von Dateien ändern
 
Ups, das OWNER_SECURITY_INFORMATION bekommt ja den Wert zugewiesen. :oops:

Bist du evtl. schon etwas weiter gekommen?

oki 15. Aug 2003 12:46

Re: Sicherheitseinstellungen von Dateien ändern
 
Nööö!

bei mir geht gar nichts und ich sitze noch nicht mal an meinem Rechner.

Alle pure Theorie.

Gruß oki

Tpercon 15. Aug 2003 12:51

Re: Sicherheitseinstellungen von Dateien ändern
 
Zitat:

Zitat von oki
Alle pure Theorie.

Schade, ich bekomm das nämlich einfach nicht hin. :(

Christian Seehase 16. Aug 2003 00:45

Re: Sicherheitseinstellungen von Dateien ändern
 
Moin Tpercon,

probier mal dies:

Delphi-Quellcode:
var
  psd    : PSECURITY_DESCRIPTOR;
  dwLen  : DWORD;
  psdc   : SECURITY_DESCRIPTOR_CONTROL;
  dwDummy : DWORD;

begin
  if not OpenDialog1.Execute then exit;
  // erforderliche Buffergrösse ermitteln
  dwLen := 0;
  psd  := nil;
  GetFileSecurity(PChar(OpenDialog1.FileName),OWNER_SECURITY_INFORMATION,psd,0,dwLen);
  // Security Descriptor auslesen
  psd := AllocMem(dwLen);
  try
    if not GetFileSecurity(PChar(OpenDialog1.FileName),OWNER_SECURITY_INFORMATION,psd,dwLen,dwLen) then begin
      ShowMessage(SysErrorMessage(GetLastError));
      exit;
    end;
    GetSecurityDescriptorControl(psd,psdc,dwDummy);
    Memo1.Lines.Clear;
    if (psdc and SE_DACL_AUTO_INHERITED) = SE_DACL_AUTO_INHERITED then Memo1.Lines.Add('SE_DACL_AUTO_INHERITED');
    if (psdc and SE_DACL_DEFAULTED)     = SE_DACL_DEFAULTED     then Memo1.Lines.Add('SE_DACL_DEFAULTED');
    if (psdc and SE_DACL_PRESENT)       = SE_DACL_PRESENT       then Memo1.Lines.Add('SE_DACL_PRESENT');
    if (psdc and SE_DACL_PROTECTED)     = SE_DACL_PROTECTED     then Memo1.Lines.Add('SE_DACL_PROTECTED');
    if (psdc and SE_GROUP_DEFAULTED)    = SE_GROUP_DEFAULTED    then Memo1.Lines.Add('SE_GROUP_DEFAULTED');
    if (psdc and SE_OWNER_DEFAULTED)    = SE_OWNER_DEFAULTED    then Memo1.Lines.Add('SE_OWNER_DEFAULTED');
    if (psdc and SE_SACL_AUTO_INHERITED) = SE_SACL_AUTO_INHERITED then Memo1.Lines.Add('SE_SACL_AUTO_INHERITED');
    if (psdc and SE_SACL_DEFAULTED)     = SE_SACL_DEFAULTED     then Memo1.Lines.Add('SE_SACL_DEFAULTED');
    if (psdc and SE_SACL_PRESENT)       = SE_SACL_PRESENT       then Memo1.Lines.Add('SE_SACL_PRESENT');
    if (psdc and SE_SACL_PROTECTED)     = SE_SACL_PROTECTED     then Memo1.Lines.Add('SE_SACL_PROTECTED');
    if (psdc and SE_SELF_RELATIVE)      = SE_SELF_RELATIVE      then Memo1.Lines.Add('SE_SELF_RELATIVE');
  finally
    FreeMem(psd,dwLen);
  end;
end;

oki 18. Aug 2003 07:29

Re: Sicherheitseinstellungen von Dateien ändern
 
Hi Tpercon,

da hat Christian uns doch scho den nächsten Teil geliefert. Probiers mal aus und sag wies weitergehen soll.

Gruß oki

Tpercon 18. Aug 2003 08:19

Re: Sicherheitseinstellungen von Dateien ändern
 
Danke Christian, das geht soweit.

@ Oki: Als nächstes kommt das GetSecurityDescriptorDacl und GetSecurityDescriptorSacl, was aber nicht gerade einfach aussieht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:16 Uhr.
Seite 3 von 5     123 45      

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