|
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 126
|
||||||
Запуск процесса с правами пользователя (запускающая программа работает с правами администратора)05.12.2016, 17:40. Показов 7331. Ответов 24
Метки нет (Все метки)
Здравствуйте. Требуется выполнить действие, описанное в заголовке.
Читал тему Запуск от имени пользователя, решил воспользоваться описанным там методом, но ф-ция CreateProcessAsUser не запускает процесс(возвращается значение false). Вот код(написан на Qt):
Вывод: "2552" fail CreateProcessAsUserA 0 Заранее спасибо.
0
|
||||||
| 05.12.2016, 17:40 | |
|
Ответы с готовыми решениями:
24
windows 7,10 есть ли программа для создания нового пользователя с правами администратора Не работают горячие клавиши в программах с правами администратора для программ с обычными правами |
|
Ушел с форума
|
|
| 05.12.2016, 19:31 | |
|
Во-первых, сделай нормальную проверку ошибок.
Во-вторых, где реализация GetPIDbyProcessName и что конкретно в cmdline? В-третьих, для таких целей есть вот что: Safer (MSDN) https://msdn.microsoft.com/en-... s.85).aspx
0
|
|
|
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 126
|
|||||||||||||
| 05.12.2016, 20:27 [ТС] | |||||||||||||
Насколько я понимаю, CreateProcessAsUserA возвращает false, но GetLastError() = 0.
0
|
|||||||||||||
|
Ушел с форума
|
||||||
| 05.12.2016, 20:31 | ||||||
|
Здесь, наверное, значение GetLastError теряется после первого вызова qDebug.
Пробуй так:
0
|
||||||
|
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 126
|
|
| 05.12.2016, 20:58 [ТС] | |
|
Вот ошибка:
1314: Клиент не обладает требуемыми правами. P.S. Программа запущена с правами админа, привилегии отладчика есть. Добавлено через 4 минуты В чем может быть дело?
0
|
|
|
Ушел с форума
|
|
| 05.12.2016, 21:21 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 126
|
||||||
| 05.12.2016, 21:34 [ТС] | ||||||
|
Не удается получить SE_ASSIGNPRIMARYTOKEN_NAME.
Ф-ция получения привилегий
0
|
||||||
|
Ушел с форума
|
|
| 05.12.2016, 22:18 | |
|
Извиняюсь, наверное, я завел не туда. Ведь SE_ASSIGNPRIMARYTOKEN_NAME по
дефолту можно включить только обладая учетной записью службы (SYSTEM, LocalService или NetworkService), а из обычных приложений, даже запущенных с правами администратора, ничего не получится.
0
|
|
|
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 126
|
|
| 05.12.2016, 22:30 [ТС] | |
|
Хорошо. В таком случае стоит взглянуть в сторону Safer. Подкиньте, пожалуйста, пример его использования.
0
|
|
|
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 126
|
|
| 06.12.2016, 17:16 [ТС] | |
|
И еще. В теме, ссылку на которую я указывал в первом сообщении, Вы говорили про передачу параметров в explorer.exe, но возник вопрос: после закрытия запущенного процесса explorer.exe продолжает висеть процессах, можно ли с этим бороться? И еще вопрос есть ли нормальный(без костылей типа explorer.exe) метод запуска процесса от имени пользователя(Safer непонятен, инфы о нем почти нет) или обязательно нужна служба? И еще один вопрос: как вызвать такое окно?
0
|
|
|
Ушел с форума
|
|||||||
| 06.12.2016, 21:32 | |||||||
Сообщение было отмечено Алексей_Либанов как решение
Решение
В нем может не хватать некоторых привилегий, набор SID-ов тоже немного отличается. Почему - я не в курсе. Кстати, вместо CreateProcessAsUser можно было использовать CreateProcessWithTokenW (Vista и выше), у нее нет ограничений по привилегиям, которые мы рассматривали выше.
2
|
|||||||
|
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 126
|
||||||
| 07.12.2016, 17:28 [ТС] | ||||||
|
Спасибо за код. Завтра отпишусь о результатах его использования.
Добавлено через 18 часов 36 минут Данный код не работает, запускает программу с правами администратора. Ни один из обработчиков ошибок не срабатывает. Код я немного отредактировал(printf заменил на qDebug).
0
|
||||||
|
Ушел с форума
|
|
| 07.12.2016, 19:56 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 126
|
|
| 07.12.2016, 20:14 [ТС] | |
|
0
|
|
|
Ушел с форума
|
|
| 07.12.2016, 20:16 | |
|
Можешь показать настройки UAC на этой системе?
0
|
|
|
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 126
|
|
| 07.12.2016, 20:21 [ТС] | |
|
Вот эти?
0
|
|
|
Ушел с форума
|
|||
| 07.12.2016, 22:13 | |||
|
(дефолтные настройки - ползунок во второй сверху позиции).
0
|
|||
|
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 126
|
|||
| 07.12.2016, 22:18 [ТС] | |||
|
0
|
|||
|
Ушел с форума
|
||
| 07.12.2016, 22:21 | ||
|
Открой Process Explorer, в свойствах процесса зайди на вкладку 'security' и проверь, что для группы "Администраторы" стоит 'Deny'. Ну или программно можно проверить - CheckTokenMembership с группой S-1-5-32-544 (встроенная учетка "Администраторы").
0
|
||
|
1 / 1 / 0
Регистрация: 21.02.2015
Сообщений: 126
|
||
| 07.12.2016, 22:26 [ТС] | ||
|
0
|
||
| 07.12.2016, 22:26 | |
|
Помогаю со студенческими работами здесь
20
Запуск программы без прав администратора скриптом, запущенным с правами администратора Завершение процесса, запущенного с правами Администратора Перезапуск процесса с правами администратора (UAC)
Запуск с правами администратора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|