Права администратора для приложения

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Права администратора для приложения

Сообщение mirk » 07.04.2016 01:51:41

ОС MS Windows 7, приложению необходимо:
1. Создать каталог и записать файл в недоступную для чтения обычным пользователем область.
2. Записать значение в ветку реестра недоступную для записи пользователем.
Как можно сделать подобное, не вызывая дополнительных окон подтверждения?
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: Права администратора для приложения

Сообщение fwp » 07.04.2016 08:52:09

Необходимо запустить процесс от пользователя с правами админа.
fwp
новенький
 
Сообщения: 29
Зарегистрирован: 25.03.2008 12:00:06

Re: Права администратора для приложения

Сообщение mirk » 07.04.2016 09:45:56

Как?
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: Права администратора для приложения

Сообщение SSerge » 07.04.2016 10:12:45

mirk писал(а):Как?

Правой кнопкой мыши кликнуть на иконе приложения, выбрать пункт "Запуск от имени администратора"
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Права администратора для приложения

Сообщение fwp » 07.04.2016 11:12:42

Где-то в недрах CreateProcessAsUser() кроется такая возможность. Правда там надо на низком уровне воевать с пользовательскими токенами, сменой контекста и т.п.
Я под виндами на шарпе пишу. Там класс Process скрывает всю эту лабудень. И подобную задачу буквально на днях решал. Заплатку на Crypto Pro вешал.
fwp
новенький
 
Сообщения: 29
Зарегистрирован: 25.03.2008 12:00:06

Re: Права администратора для приложения

Сообщение mirk » 07.04.2016 14:23:59

SSerge писал(а):Правой кнопкой мыши кликнуть на иконе приложения, выбрать пункт "Запуск от имени администратора"

mirk писал(а):Как можно сделать подобное, не вызывая дополнительных окон подтверждения?


fwp писал(а):Где-то в недрах CreateProcessAsUser() кроется такая возможность.

Но это получается вызов нового процесса, а не исполнение текущего с правами администратора?

Может реестре можно указать автозапуск с привилегиями?
Нашел через планировщик, но не хочется туда лезть.
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: Права администратора для приложения

Сообщение fwp » 07.04.2016 17:54:20

mirk писал(а):Но это получается вызов нового процесса, а не исполнение текущего с правами администратора?

А кто будет запускать приложение?
Ежели ты сам, то запусти far от себя и вперед.
А ежели пользователь, то приложение получит токен безопасности пользователя. И как это обойти я не знаю. Единственный выход, что я нашел - это запуск пользователем и запуск дочернего процесса с правами админа.
Ну или планировщик с правами админа. Что собственно те же яйца тока в профиль.

P.S. Да, еще тебе м.б. поможет psexec от Русиновича.
fwp
новенький
 
Сообщения: 29
Зарегистрирован: 25.03.2008 12:00:06

Re: Права администратора для приложения

Сообщение slyubez » 07.04.2016 19:24:27

Как можно сделать подобное, не вызывая дополнительных окон подтверждения?

Я так понимаю, отключить UAC средствами винды. Но это будет распространено на все приложения.
slyubez
постоялец
 
Сообщения: 174
Зарегистрирован: 31.03.2015 08:44:07

Re: Права администратора для приложения

Сообщение mirk » 07.04.2016 20:03:46

fwp писал(а):А кто будет запускать приложение?

Автозапуск.
Но я пока не нашел как сделать его с привилегиями, поэтому и решил поискать как приложению дать права администратора.
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: Права администратора для приложения

Сообщение Лекс Айрин » 07.04.2016 20:26:03

mirk, вирус пишете? :lol: :lol: :lol:

Если это легитимное системное приложение, то проще оставить решение о его запуске от имени администратора на пользователя.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Права администратора для приложения

Сообщение mirk » 07.04.2016 21:39:48

Лекс Айрин писал(а):вирус пишете?

Странная ассоциация.
По вашему любой софт для администрирования является вирусом? :lol:

Лекс Айрин писал(а):Если это легитимное системное приложение, то проще оставить решение о его запуске от имени администратора на пользователя.

Какое отношение пользователь имеет к разрешению запуска от администратора?
Администратор устанавливает приложение и настраивает привелегии на выполнение, и пользователь не должен иметь возможноть это изменить (не зная пароля администратора разумеется).
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: Права администратора для приложения

Сообщение fwp » 07.04.2016 21:50:27

Лекс Айрин писал(а):mirk, вирус пишете? :lol: :lol: :lol:

Если это легитимное системное приложение, то проще оставить решение о его запуске от имени администратора на пользователя.

Не проще. Ежели пользователей штук 500. И квалификация у них... Ну оставляет желать лучшего. То решение пользователя вероятнее всего будет, ану на... Или будет звонить тебе. Так что тихая установка самое то...
fwp
новенький
 
Сообщения: 29
Зарегистрирован: 25.03.2008 12:00:06

Re: Права администратора для приложения

Сообщение Sergei I. Gorelkin » 07.04.2016 23:34:56

Вся сущность и цель UAC состоит в том, чтобы административные привилегии давались только после подтвержденного запроса, даже если учетная запись пользователя принадлежит к администраторам. Причем запрос выдается на отдельном изолированном экране, чтобы его невозможно было подтвердить программно.
Те, кому нужно постоянно что-то изменять в системе, устанавливают для этого собственный сервис (но установка сервиса требует админских прав / вызывает запрос). Вариант с планировщиком - суть тот же сервис, разве что может быть чуть проще в реализации.
Если нужно однократно что-то куда-то записать - то это можно сделать при установке, опять же после повышения прав. Либо запуская приложение от имени администратора. Повышение привилегий уже запущенного процесса невозможно, только перезапуск "от имени".
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1405
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Права администратора для приложения

Сообщение скалогрыз » 08.04.2016 00:00:08

к тому что сказали SSarge и Sergei I. Gorelkin
может поставлять .exe с баничком?

Код: Выделить всё
runas /user:Администратор project1.exe

или
Код: Выделить всё
runas /user:Administrator project1.exe
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Права администратора для приложения

Сообщение resident » 08.04.2016 00:16:46

mirk писал(а):Нашел через планировщик

Не сможете создать задание без "дополнительных окон подтверждения".

mirk писал(а):Создать каталог и записать файл в недоступную для чтения обычным пользователем область.

Зачем?
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

След.

Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: slyubez, Yandex [Bot] и гости: 30

Рейтинг@Mail.ru