Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск программы с повышенными правами 
:(
    Опции темы
Artemon
Дата 30.8.2011, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: нет
Всего: 20



Необходимо запустить из Windows службы exe файл с системными правами (например чтобы был доступ на запись в каталог Windows), но при этом чтобы пользователь, от имени которого происходит запуск - не менялся.

Другими словами создать процесс от имени обычного пользователя, но при этом наделить его особыми правами.

Моя гипотеза: получить токен пользователя, от имени которого запушена служба, из токена вытащить часть прав, и запустить exe от имени другого пользователя. 
Но как это будет на практике - не понятно.

У кого-нибудь есть мысли ?


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
xvr
Дата 30.8.2011, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Ну например можно попробовать CreateProcessAsUser с флагом CREATE_PRESERVE_CODE_AUTHZ_LEVEL
PM MAIL   Вверх
Artemon
Дата 30.8.2011, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: нет
Всего: 20



Не катит, видимо на доступ к директориям права как-то особо задавать надо


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
spyswamp
Дата 31.8.2011, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: нет
Всего: 7



Artemon, а SECURITY_ATTRIBUTES ты как настраиваешь?

Добавлено через 1 минуту и 6 секунд
И делал ли перед созданием процесса от пользователя LogonUserW от этого пользователя?


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
Artemon
Дата 2.9.2011, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: нет
Всего: 20



Цитата(spyswamp @  31.8.2011,  09:54 Найти цитируемый пост)
Artemon, а SECURITY_ATTRIBUTES ты как настраиваешь?

Да собствено ничего особенно здесь не делаю

Код

SECURITY_ATTRIBUTES sa;
    SECURITY_DESCRIPTOR sd;
    if (!InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION))
    {
        qWarning() << "InitializeSecurityDescriptor error: " << GetLastError() << endl;
        return false;
    }


Цитата(spyswamp @  31.8.2011,  09:54 Найти цитируемый пост)
И делал ли перед созданием процесса от пользователя LogonUserW от этого пользователя?

Не делал, зачем оно мне ? Я использую CreateProcessAsUser.

Но задачу между прочим решил smile

Кому интересно с помощью внедрения в процесс winlogon.exe

Но если есть и другие решения, рад выслушать ?



--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
500mhz
Дата 2.9.2011, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 3
Всего: 14



Цитата

Кому интересно с помощью внедрения в процесс winlogon.exe

это на какой венде?


--------------------

PM MAIL ICQ   Вверх
Artemon
Дата 4.9.2011, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: нет
Всего: 20



Цитата(500mhz @  2.9.2011,  16:56 Найти цитируемый пост)
это на какой венде?


Windows XP, Windows Vista, Windows 7


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0643 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.