Re: TakeOwnership

From
Alex Fedotov ()
To
Vadim Yegorov ()
Date
2001-11-24T15:59:48Z
Area
SU.WINDOWS.NT.PROG
eb6d5@junik.lv>
From: "Alex Fedotov" <me@alexfedotov.com>

Vadim Yegorov wrote:

> А в USER_INFO_3 есть
> DWORD usri3_user_id;
> Вот из этого _быстро_ sid получить можно?

А, вот ты о чем. Это так называемый Relative ID (RID) пользователя.

SID пользователей имеет форму S-1-5-21-x-y-...-z-RID, где S-1-5-21-x-y-...-z
есть ни что иное как SID домена. SID домена можно получить с помошью
LsaQueryInformationPolicy c флагом PolicyPrimaryDomainInformation. Для
локального домена, которому принадлежат локальные пользователи, надо
использовать флаг PolicyAccountDomainInformation.

Приписать к нему RID пользователя - это уже дело техники:
GetSidSubAuthorityCount, перечислить его subathorities, а потом -
AllocateAndInitializeSid, добавив RID пользователя. Кстати RID
администратора всегда 500 (DOMAIN_USER_RID_ADMIN), а guest - 501
(DOMAIN_USER_RID_GUEST).

-- Alex Fedotov




--- ifmail v.2.15dev5
 * Origin: Undisclosed (2:5020/400)