Backup dei permessi di sicurezza NTFS (ACL)
In questo semplice articolo vediamo come sia possibile fare il backup dei permessi di sicurezza NTFS (ACL) mediante le procedure messe a disposizione dalla ben nota libreria per Delphi: JEDI.
Mediante delle semplici funzioni è possibile copiare i permessi da un file sorgente a un file di destinazione.
Vediamo il primo esempio di codice.
Innanzitutto nella clausola uses dobbiamo aggiungere le unit di Delphi Jedi necessarie:
uses Windows, JwaAclApi, JwaWinNT, JwaAccCtrl, JwaWinBase;
Quindi basterà usare la seguente funzione:
function CopyACLs(const Source, Dest: string): boolean;
var SidOwner: PSID;
SidGroup: PSID;
Dacl: PACL;
Sacl: PACL
SecDescPtr: PSECURITY_DESCRIPTOR;
begin
Result := false;
if GetNamedSecurityInfo(PChar(Source), SE_FILE_OBJECT, DACL_SECURITY_INFORMATION or SACL_SECURITY_INFORMATION or OWNER_SECURITY_INFORMATION or GROUP_SECURITY_INFORMATION, @SidOwner, @SidGroup, @Dacl, @Sacl, SecDescPtr) = ERROR_SUCCESS then
begin
Result := SetNamedSecurityInfo(PChar(Dest), SE_FILE_OBJECT, DACL_SECURITY_INFORMATION or SACL_SECURITY_INFORMATION or OWNER_SECURITY_INFORMATION or GROUP_SECURITY_INFORMATION, SidOwner, SidGroup, Dacl, Sacl) = ERROR_SUCCESS;
LocalFree(HLOCAL(SecDescPtr));
end;
end;
Come possiamo vedere, è davvero molto semplice con JEDI fare il backup dei permessi NTFS dei file, e copiare quindi nella destinazione anche le impostazioni ACL, per avere la sicurezza che il nostro backup mantenga gli stessi livelli di sicurezza e protezione che hanno i file nelle cartelle sorgenti.
TESTIMONIAL
Lorem ipsum dolor sit amet, consectetur adipisci elit. Aenenan commodo.