Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Разное - [решено] Запуск программ с включенным UAC без повышения прав

Ответить
Настройки темы
Разное - [решено] Запуск программ с включенным UAC без повышения прав

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть программа которая на требует админских прав, и прекрасно работала еще на XP. Когда я её запускаю на Windows 7 включается UAC и запускает её с правами администратора (что мне совершенно не нужно). При выключеном UAC программа без проблем работает с правами обычного пользователя.
Как не отключая UAC заставить её работать от имени пользователя, а не админа?

Отправлено: 11:59, 18-07-2009

 

(*.*)


Сообщения: 36567
Благодарности: 6698

Профиль | Сайт | Отправить PM | Цитировать


myhouse_1991, краткость, возможно, и сестра таланта, но только не здесь... Вообще-то "недоверенное ПО" нельзя запускать Для этого есть AppLocker.

А так, программе просто могут быть нужны полные права для дела, и без них она просто не сможет работать. Если не для дела - RunAsInvoker должен помочь. И я не вижу ничего страшного в избирательном подходе, ибо большинству программ полные права и не нужны.

А вам это нужно для кого? С какими правами пользователь(и) работают?

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 22:07, 06-01-2011 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для t_ara_s

Пользователь


Сообщения: 75
Благодарности: 2

Профиль | Отправить PM | Цитировать


Помогите и мне. Есть программа KeySwitcher (аналог Punto). Если включить UAC, то автозапуском она не стартует. Как побороть???????

-------
I want to know everything...


Отправлено: 22:19, 06-01-2011 | #12


(*.*)


Сообщения: 36567
Благодарности: 6698

Профиль | Сайт | Отправить PM | Цитировать


t_ara_s, в планировщик поставьте выполнение при входе в систему и с наивысшими правами. Для справки см. Упрощаем запуск приложений в Windows 7 от имени администратора без отключения UAC (номер 4). Вообще, вопрос оффтоп - продолжайте тут, если непонятно что-то.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:24, 06-01-2011 | #13


Аватара для Morpheus

Ветеран


Сообщения: 12426
Благодарности: 2328

Профиль | Отправить PM | Цитировать


t_ara_s, значит несовместимая с Windows 7 версия. http://www.oszone.net/10594#400 - в триггере укажите "при входе в систему".

Vadikan, опередил
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:24, 06-01-2011 | #14


Старожил


Сообщения: 263
Благодарности: 52

Профиль | Отправить PM | Цитировать


Цитата Vadikan:
А вам это нужно для кого?
Для себя.

Цитата Vadikan:
С какими правами пользователь(и) работают?
Сделано как по-умолчанию. Встроенный администратор не используется т.к. я заметил его особенность обходить UAC.
Пока раздумываю отключить ли UAC (но я теряю и виртуализацию) и использовать классическую схему с 2 пользователями с разными правами, или оставить как есть и использовать UAC, который мне пока что доставляет одну проблему, описанная чуть выше.

Цитата Vadikan:
Вообще-то "недоверенное ПО" нельзя запускать
Да, это я понимаю, но иногда приходится. В Windows XP я обычно для этого создавал пользователя-жертву с ограниченными привилегиями, запускал непонятное ПО и просматривал Process Monitor'ом деятельность. Также чтобы потом долго не возиться с последствиями и с удалением пользователя - включал фильтр записи EWF (кстати, аналог в Windows 7 есть?) перед экспериментами, чтобы после перезагрузки вернуться к тому, что было раньше. Но времена меняются и решил потихонечку переходить на Windows 7, где я столкнулся с некоторыми проблемами...

Цитата myhouse_1991:
Запускать недоверенное ПО с заниженными привилегиями.
Хотя не только это - я обычно придерживаюсь принципа работы с заниженными привилегиями, что спасало меня в Windows XP от многих проблем, в частности от переустановок. Но проблема с UAC в том, что когда я знаю, что для этой программы точно не нужны права администратора, UAC иногда определяет как раз наоборот и не даёт запустить с заниженными привилегиями (вариант запуска с администратором не предлагать - принцип заниженных привилегий для меня куда важнее, чем потом мучиться с глюками ОС из-за ошибки программиста), а лазить каждый раз для этого в реестр... Нет ли просто глобальной настройки? Я это спрашиваю для того, чтобы заранее узнать перед написанием маленькой программы, которая автоматически дописывает в ветку реестра данные и стирает после вызова контекстного меню, которое добавлю вручную с надписью "Force Run As Limited User in UAC".

Цитата Vadikan:
А так, программе просто могут быть нужны полные права для дела, и без них она просто не сможет работать. Если не для дела - RunAsInvoker должен помочь. И я не вижу ничего страшного в избирательном подходе, ибо большинству программ полные права и не нужны.
Я не совсем понял логику определения "Нужны повышения" и "Не нужны повышения" :
1) Я пробовал запустить троян vzlom_vkontakte.exe - он регистрирует службу для зловредной деятельности и тут UAC правильно определил, что для корректной работы нужны повышенные права. Но я, допустим, не знаю, что он конкретно делает и хочу запустить, но только с заниженными привилегиями не отключая UAC + по возможности включить виртуализацию.
2) Запустил Windows Worms Door Cleaner (не надо говорить, что его делали для Windows XP - это для проверки), который лезет в ветку реестра HKLM и тут UAC не определил, что ему нужны права администратора - видимо виртуализовывает.
3) Запустил SFX распаковщик и тут UAC пристаёт с тем, что ему нужны права администратора - с чего это вдруг? Этот SFX я сам создал для проверки UAC. Не надо говорить, что можно взять WinRar, 7-zip и т.д. для распаковки. Просто для меня это говорит о том, что UAC не всегда корректно определяет, когда нужно повышать права, а когда нет и при этом запрещает мне занизить принудительно права, даже если я знаю, что этого будет достаточно.

Цитата Vadikan:
Для этого есть AppLocker.
AppLocker работает по принципу классической политики SRP (Software Restrict Policy). Только я не понимаю, имеет ли она какое-то отношение с запуском любой программы с заниженными привилегиями в обход того, что думает UAC.

-------
Microsoft Windows - Because you have no choice ;-)


Отправлено: 23:29, 06-01-2011 | #15


Аватара для Morpheus

Ветеран


Сообщения: 12426
Благодарности: 2328

Профиль | Отправить PM | Цитировать


myhouse_1991, UAC ничего не думает, ему 10 раз фиолетово. Повышать или нет, решает разработчик программы и прописывает это в манифесте. Если софт старый (писался ещё под XP и более старые версии) - разумеется никаких повышений не закладывалось.
Цитата myhouse_1991:
Да, это я понимаю, но иногда приходится. В Windows XP я обычно для этого создавал пользователя-жертву с ограниченными привилегиями, запускал непонятное ПО и просматривал Process Monitor'ом деятельность. »
А виртуальные машины не рассматриваете? Побезопасней будет.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:40, 06-01-2011 | #16


(*.*)


Сообщения: 36567
Благодарности: 6698

Профиль | Сайт | Отправить PM | Цитировать


Цитата myhouse_1991:
Пока раздумываю отключить ли UAC (но я теряю и виртуализацию) и использовать классическую схему с 2 пользователями с разными правами, или оставить как есть и использовать UAC »
Я не вижу смысла в "классической схеме". См. аргументацию в https://www.outsidethebox.ms/10034/ от "С какими правами работать?" до "Безопасность или комфорт" включительно.

Цитата myhouse_1991:
Я не совсем понял логику определения "Нужны повышения" и "Не нужны повышения" »
Приложения Microsoft спроектированы так, что запрос выводится при необходимости (пример - редактор реестра, проводник при копировании файлов в системную папку). Для сторонних приложений запрос на повышение выводится, опять же, если это заложено в программу (манифест), либо определяется параметрами совместимости приложения (задается в свойствах приложения = в реестре, см. пост 4). Для всех остальных приложений, которые можно назвать "старыми", т.е. не умеющими работать с UAC, применяется виртуализация. См. https://www.outsidethebox.ms/10034/ "Старые приложения".

Цитата myhouse_1991:
Запустил Windows Worms Door Cleaner (не надо говорить, что его делали для Windows XP - это для проверки), который лезет в ветку реестра HKLM и тут UAC не определил, что ему нужны права администратора - видимо виртуализовывает. »
Да, это пример старого приложения. Другими словами, за счет виртуализации UAC может нейтрализовать вредоносное ПО, рассчитанное на внесение изменений в системные параметры и папки.

Цитата myhouse_1991:
Запустил SFX распаковщик и тут UAC пристаёт с тем, что ему нужны права администратора - с чего это вдруг? »
Не зная "начинки" и условий выполнения, невозможно сказать. Очевидно, распаковка производится в системную папку, либо после распаковки выполняется приложение, требующее повышения.

Что касается ваших экспериментов с вредоносным ПО на рабочей системе, то это безрассудно, а если отбросить политкорректность, то попросту глупо. Используйте виртуальные машины. См. также Эксперименты с программами.
Цитата myhouse_1991:
AppLocker работает по принципу классической политики SRP (Software Restrict Policy). Только я не понимаю, имеет ли она какое-то отношение с запуском любой программы с заниженными привилегиями в обход того, что думает UAC. »
С UAC это не связано. Я упомянул AppLocker в контексте ограничения запуска "недоверенных" приложений, поскольку на тот момент формулировка вашей задачи была расплывчатой.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:12, 07-01-2011 | #17


Старожил


Сообщения: 263
Благодарности: 52

Профиль | Отправить PM | Цитировать


Цитата Vadikan:
Что касается ваших экспериментов с вредоносным ПО на рабочей системе, то это безрассудно, а если отбросить политкорректность, то попросту глупо. Используйте виртуальные машины. См. также Эксперименты с программами.
Если говорить, что безопасней всего - использовать только отдельную машину, ведь из виртуальной среды тоже можно выбраться. Чего только стоит недоценить возможность виртуальной машины атаковать ваши же открытые порты со статусом Listening, если ему дали доступ к сети.

Цитата Vadikan:
то это безрассудно, а если отбросить политкорректность, то попросту глупо
По мне надо же иногда проверять как противостоит ему Windows, а не только принимать на веру все эти антивирусы, Firewall'ы и т.д.

Цитата Vadikan:
Другими словами, за счет виртуализации UAC может нейтрализовать вредоносное ПО, рассчитанное на внесение изменений в системные параметры и папки.
Вот этот эффект я и хотел использовать.

-------
Microsoft Windows - Because you have no choice ;-)


Отправлено: 13:47, 07-01-2011 | #18


(*.*)


Сообщения: 36567
Благодарности: 6698

Профиль | Сайт | Отправить PM | Цитировать


Цитата myhouse_1991:
По мне надо же иногда проверять как противостоит ему Windows, а не только принимать на веру все эти антивирусы, Firewall'ы и т.д. »
Не очень понимаю, что мешает это проверять на виртуальной машине, ну да ладно...
Цитата myhouse_1991:
Вот этот эффект я и хотел использовать. »
Я бы не стал на него всецело полагаться, ибо отсутствие полных прав не означает отсутствия вредоносных функций. Шпионить можно и из профиля пользователя...

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 17:03, 07-01-2011 | #19


Старожил


Сообщения: 263
Благодарности: 52

Профиль | Отправить PM | Цитировать


Сделал я то, что хотел. Назвал в контекстом меню пункт как Force Run As Invoker (UAC) вместо задуманного Force Run As Limited User in UAC т.к. не используется сторонняя программа для понижения прав, а используются лишь штатные средства.

Вот сам твик реестра.
Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker]
@="Force Run As Invoker (UAC)"

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker\command]
@="cmd /C \"REG ADD \"HKCU\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers\" /v \"%1\" /t REG_SZ /d RunAsInvoker && start \"\" \"%1\" && REG DELETE \"HKCU\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers\" /v \"%1\" /f\""
Принцип действия простой - изменяется реестр как описано здесь:
Цитата Petya V4sechkin:
можно в разделе реестра
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
создать параметр: полный_путь_к_программе.exe = RUNASINVOKER
Потом программа запускается, а после та запись удаляется из реестра.

-------
Microsoft Windows - Because you have no choice ;-)


Последний раз редактировалось myhouse_1991, 13-01-2011 в 14:30.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:24, 13-01-2011 | #20



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Разное - [решено] Запуск программ с включенным UAC без повышения прав

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Конкурс - Упрощаем запуск приложений в Windows 7 от имени администратора без отключения UAC OSZone Microsoft Windows 7 5 26-01-2013 18:39
Доступ - ElevatedShortcut - запуск приложений c повышенными привилегиями без отключения UAC hb860 Microsoft Windows 7 38 23-10-2012 23:34
Запуск программ с сайта в зоне Internet без предупреждений (WinXP SP2) Raistlin Microsoft Windows 2000/XP 2 17-10-2005 14:57
Установка Программ Без Админ-прав Naug Программное обеспечение Windows 29 01-05-2004 19:26




 
Переход