Что нового

Права доступа к файлам и папкам

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Нашёл пример на Delphi как можно заблокировать файл или папку программно, но не пойму Delphi'йскую структуру, как это должно выглядеть на AutoIt.

Код Delphi:
Код:
SID_NAME_USE	 SIDType;

PSECURITY_DESCRIPTOR	pNewFileSD;

PACL	 pNewFileDACL;

char	*filename = “c:\estfle.dat”; //имя файла

char *username =”guest” ; //имя пользователя

char	szDomainName[250]=”VPI”;	 //название домена

char	UserSID[2048];	 //идентификатор безопасности пользователя

DWORD	dwSIDLength	 = sizeof( UserSID );

DWORD	dwDomainLength	= sizeof( szDomainName );

DWORD	dwNewACLSize;

// получитьSID (идентификатор безопасности) пользователя (группы)

LookupAccountName((LPSTR) NULL, username, UserSID, &dwSIDLength, szDomainName,

&dwDomainLength, &SIDType );

// Инициализировать новыйSD (дескриптор безопасности)

InitializeSecurityDescriptor( pNewFileSD, SECURITY_DESCRIPTOR_REVISION );

//получить размер ACL

dwNewACLSize =sizeof(ACL) + sizeof(ACCESS_ALLOWED_ACE)+ GetLengthSid(UserSID) -

sizeof(DWORD) ;

//создать и проинициализировать новый ACL

InitializeAcl( pNewFileDACL, dwNewACLSize, ACL_REVISION2 );

//поместить новый ACE с разрешением на чтение файла для пользователя в конец DACL

AddAccessAllowedAce( pNewFileDACL, ACL_REVISION2, GENERIC_READ, &UserSID );

// записатьDACL в новый SD файла

SetSecurityDescriptorDacl( pNewFileSD, TRUE, pNewFileDACL, FALSE );

// установить новый SD для файла с именем в filename

SetFileSecurity( filename, DACL_SECURITY_INFORMATION, pNewFileSD );

Источник: Управление правами доступа к ресурсам
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Некоторые функции есть в Security management (см. справку)
 
Автор
V

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Да функции мне не нужны, я их потом сделаю или найду, мне структура(ы) нужна(ы) :smile:
 
Верх