(Gast)
n/a Beiträge
|
AW: Zugriffsrechte von Dateien ändern
21. Jul 2015, 15:59
Getestet mit XE7, WIN8.1 - Everyone wird überall verstanden.
Delphi-Quellcode:
// uses WinApi.ACCCTRL, WinApi.ACLAPI,
procedure TForm1.Button1Click(Sender: TObject);
var
TmpString: String;
pSD : Pointer;
NewDacl, OldDacl: PACl;
EA: array [0..5] of EXPLICIT_ACCESS;
ret : Cardinal;
begin
ret:= 1;
TmpString := ' F:\TEST.txt';
GetNamedSecurityInfo(PChar(TmpString), SE_FILE_OBJECT,
DACL_SECURITY_INFORMATION, nil, nil, @OldDacl, nil, pSD);
BuildExplicitAccessWithName(@EA, PChar(' Everyone'), GENERIC_ALL,
GRANT_ACCESS, SUB_CONTAINERS_AND_OBJECTS_INHERIT);
SetEntriesInAcl(1, @EA, OldDacl, NewDacl);
ret:= SetNamedSecurityInfo(PChar(TmpString), SE_FILE_OBJECT,
DACL_SECURITY_INFORMATION, nil, nil, NewDacl, nil);
if ret= ERROR_SUCCESS then
ShowMessage(' Bei diesem Objekt wurden keine Objekttypen zugeordnet.'+#13#10+
' Achtung: Dies ist ein mögliches Sicherheitsrisiko, weil jeder,'+#13#10+
' der Zugriff auf dieses Objekt hat, dieses besitzen kann.'+#13#10+
' Der Besitzer dieses Objekts sollte so bald wie möglich'+#13#10+
' Berechtigungen zuordnen.');
end;
|
|
Zitat
|