CreateProcessWithLogonW + LOGON_NETCREDENTIALS_ONL
От: SergH Россия  
Дата: 29.07.02 19:35
Оценка:
Здравствуйте.

Пожалуйста, объясните мне смысл функции CreateProcessWithLogonW с флагом LOGON_NETCREDENTIALS_ONLY. Судя по внешним признакам она ни чеи не отличается от CreateProcess. Прзнаки такие:

— процесс запускается независимо от содержимого параметров lpUsername, lpDomain, lpPassword. Т.е. может быть неправильным домен, имя пользователя или пароль — не важно, процесс всё равно запустится.

— В запущенном процессе функция GetUserName возвращает имя запускающего пользователя, а не то, которое я пердал в параметре lpUsername.
Делай что должно, и будь что будет
Re: CreateProcessWithLogonW + LOGON_NETCREDENTIALS_ONL
От: Alex Fedotov США  
Дата: 29.07.02 20:15
Оценка: 23 (2)
Здравствуйте SergH, Вы писали:

SH>Пожалуйста, объясните мне смысл функции CreateProcessWithLogonW с флагом LOGON_NETCREDENTIALS_ONLY. Судя по внешним признакам она ни чеи не отличается от CreateProcess. Прзнаки такие:


SH>- процесс запускается независимо от содержимого параметров lpUsername, lpDomain, lpPassword. Т.е. может быть неправильным домен, имя пользователя или пароль — не важно, процесс всё равно запустится.


SH>- В запущенном процессе функция GetUserName возвращает имя запускающего пользователя, а не то, которое я пердал в параметре lpUsername.


В MSDN вроде все достаточно прозрачно написано:

Log on, but use the specified credentials on the network only. The new process uses the same token as the caller, but the system creates a new logon session within LSA, and the process uses the specified credentials as the default credentials.

This value can be used to create a process that uses a different set of credentials locally than it does remotely. This is useful in inter-domain scenarios where there is no trust relationship.

С точки зрения локальной системы такой процесс действительно не отличается от созданного CreateProcess. Но вот когда процесс начнет обращаться к сетевым ресурсам: сетевым дискам, серверам RPC/DCOM, тогда будут использоваться домен, имя пользователя и пароль (обобщенно называемые credentials), которые были указаны при вызове CreateProcessWithLogonW.
-- Alex Fedotov
Re[2]: CreateProcessWithLogonW + LOGON_NETCREDENTIALS_ONL
От: SergH Россия  
Дата: 29.07.02 20:24
Оценка:
Здравствуйте Alex Fedotov, Вы писали:

AF>В MSDN вроде все достаточно прозрачно написано:


AF>Log on, but use the specified credentials on the network only. The new process uses the same token as the caller, but the system creates a new logon session within LSA, and the process uses the specified credentials as the default credentials.


AF>This value can be used to create a process that uses a different set of credentials locally than it does remotely. This is useful in inter-domain scenarios where there is no trust relationship.


AF>С точки зрения локальной системы такой процесс действительно не отличается от созданного CreateProcess. Но вот когда процесс начнет обращаться к сетевым ресурсам: сетевым дискам, серверам RPC/DCOM, тогда будут использоваться домен, имя пользователя и пароль (обобщенно называемые credentials), которые были указаны при вызове CreateProcessWithLogonW.


Спасибо. Пора обновлять MSDN...
Делай что должно, и будь что будет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.