Форум: "Начинающим";
Текущий архив: 2012.02.12;
Скачать: [xml.tar.bz2];
ВнизLogonUser Найти похожие ветки
← →
Dennis I. Komarov © (2011-11-01 11:00) [0]Кто-нить пользовал?
← →
Dennis I. Komarov © (2011-11-01 11:33) [1]AV:
if LogonUser(PWideChar("admin"), PWideChar("."), PWideChar("pass"), LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, hToken) then
...
Где собака?
← →
Rouse_ © (2011-11-01 11:39) [2]Да вродь не должно быть, оть регистрация в домене:
procedure TfrmDomainInfo.FormCreate(Sender: TObject);
var
hToken, hDuplicateToken, hThread: THandle;
begin
if LogonUser("rouse", "grandsmeta.ru", "123", LOGON32_LOGON_INTERACTIVE,
LOGON32_PROVIDER_DEFAULT, hToken) then
try
DuplicateToken(hToken, SecurityImpersonation, @hDuplicateToken);
hThread := GetCurrentThread;
SetThreadToken(@hThread, hDuplicateToken);
finally
CloseHandle(hToken);
end;
...
← →
Dennis I. Komarov © (2011-11-01 11:52) [3]Убрал приведение PWideChar - полетело...
← →
Dennis I. Komarov © (2011-11-01 12:26) [4]Можно после вызывать CreateProcessAsUser админской требухой? Чегой-то после меня посылает "Клиент не обладает требуемыми правами" хотя "admin" - Администратор. Софт из под простого юзверя...
← →
Rouse_ © (2011-11-01 12:34) [5]Можно
← →
Dennis I. Komarov © (2011-11-01 13:13) [6]О гуру MSDN-а :) Каким бубном надо трясти, ибо нашел такое:
Согласно MSDN, чтобы исполнить приложение от имени чужой учетной записи
следует использовать функции LogonUser() и CreateProcessAsUser().
LogonUser() требует в качестве параметров логин и пароль учетной записи,
в правах которой мы нуждаемся. Задачей LogonUser() является установка
прав доступа SE_ASSIGNPRIMARYTOKEN_NAME и SE_INCREASE_QUOTA_NAME для
дескриптора маркера пользователя. Эти права нам необходимы чтобы
использовать функцию CreateProcessAsUser(). Такими правами обладают
исключительно системные процессы, поэтому даже учетная запись
"Administrator", не может успешно выполнить CreateProcessAsUser().
Следовательно чтобы мы смогли исполнить приложение (например cmd.exe) с
правами системы, нам уже надо их иметь. Но поскольку нам не извесны
логин и пароль привилегиированного пользователя, то требуется найти иное
решение.
← →
Rouse_ © (2011-11-01 13:41) [7]Я запускал из сервиса и проблем небыло, но раз ты хочешь тоже получить такие права системной учетки то делай по шагам:
1. в DPR проекта пишешь небольшую реализацию сервиса.
2. при старте проверяешь, есть ли требуемые права
3. если прав нет, регистрируешь самого себя как сервис запускаешь его а сам закрываешся
4. сервис запускает самого себя как приложение, завершается и снимает себя с регистрации
на выходе имеешь процесс работающий из под системной учетки.
← →
Rouse_ © (2011-11-01 13:45) [8]Но для начала попробуй выполнить код из под админа (правой мышки на эксзешнике и там Run As Administrator), я просто не эксперементировал, но вполне возможно что тут про элевацию гворится...
← →
Dennis I. Komarov © (2011-11-01 13:53) [9]
> 2. при старте проверяешь, есть ли требуемые права
нету
> 3. если прав нет, регистрируешь самого себя как сервис запускаешь
> его а сам закрываешся
На это у меня прав и не хватает...
Суть такая: есть сеть закрытая от и-нета (без домена)... В ней много хрюшных машин, которые давно не обновлялись. Наше правительство перенесло default-city и прилегающие волости на ПМЖ в +4 UTF. Есть KB-шка для решения этой проблемы. Надо запустить под админом...
← →
Dennis I. Komarov © (2011-11-01 13:54) [10]
> Но для начала попробуй выполнить код из под админа (правой
> мышки на эксзешнике и там Run As Administrator), я просто
> не эксперементировал, но вполне возможно что тут про элевацию
> гворится...
RunAs запускает все без проблем...
← →
Rouse_ © (2011-11-01 14:25) [11]
> RunAs запускает все без проблем...
Ну так и не парься, манифест прикрути и всего недолга...
← →
Dennis I. Komarov © (2011-11-01 15:17) [12]это как? линк плз
← →
Dennis I. Komarov © (2011-11-01 15:33) [13]
> Ну так и не парься, манифест прикрути и всего недолга...
Сдается мне, ты о новом 7-ом веке, машины с хрюшками...
← →
Rouse_ © (2011-11-01 15:43) [14]
> Dennis I. Komarov © (01.11.11 15:17) [12]
>
> это как? линк плз
это который asInvoker заменяет
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.02.12;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.004 c