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)