Re[8]: Добавление аудита к файлам в Win2K
От: DelpH  
Дата: 11.12.02 12:36
Оценка:
Вот код:

GetNamedSecurityInfo( DFILE, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION
| SACL_SECURITY_INFORMATION, NULL, NULL, &pAclDacl, &pAclSacl, &psd );
GetAclInformation (pAclDacl, (LPVOID) &aclSizeInfo, (DWORD) sizeof (ACL_SIZE_INFORMATION), AclSizeInformation);
GetAccountSid(NULL, "Everyone", &user);
aclSize = aclSizeInfo.AclBytesInUse + sizeof(ACL) + sizeof (SYSTEM_AUDIT_ACE) + GetLengthSid(user) — sizeof (DWORD);
newACL = (PACL) new BYTE [aclSize];
InitializeAcl (newACL, aclSize, ACL_REVISION);
CopyACL(pAclDacl, newACL);
if(!AddAuditAccessAce(newACL, ACL_REVISION, FILE_GENERIC_WRITE, user, TRUE, TRUE))
{ DWORD er = GetLastError(); DisplayError(er); }
SetNamedSecurityInfo(DFILE, SE_FILE_OBJECT, SACL_SECURITY_INFORMATION, NULL, NULL, NULL, newACL);

В списке "субъектов" доступа к файлу стоят "Everyone" и "delph" например. На данный момент нет ни одного аудита, при выполнении в аудите появляются 2 (!) записи (а должна быть только одна для Everyone). Т.е. появился "лишний" аудит на delph, который имеет хитрый тип Unknown. Как сделать, чтоб появлялся только один ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.