Выборочное отключение Контроля учётных записей пользователя (UAC) для отдельного приложения

Дата публикации:02.09.2014
Twitter Facebook Vkontakte

Начиная с версии Vista, в операционных системах MS Windows появился компонент Контроль учётных записей, также известный как UAC. Он предназначен для защиты компьютера от неконтролируемых действий программ посредством запросов подтверждения операций, требующих прав администратора. То есть UAC является существенной частью общей инфраструктуры безопасности Windows, отключение которой крайне не желательно, особенно на компьютерах, находящихся в общем доступе или принадлежащих неопытным пользователям.

Тем не менее, очень большое число пользователей отключают UAC уже в первые минуты работы, так как он препятствует некоторым сценариям использования программного обеспечения, которые предполагают запуск исполняемых файлов , не способных пройти проверку пути сертификации инфраструктуры открытого ключа (PKI). При попытке запустить такое приложение пользователь получает сообщение об ошибке «Сервер вернул ссылку». Речь идёт, как можно догадаться, о некоторых способах использования приложений экранного доступа, но не только. Полное отключение UAC хоть и решает эту проблему, но существенно снижает общую защищённость операционной системы.

Поскольку использование программного обеспечение, не проходящего проверку PKI, является личным делом каждого человека, а по мнению некоторых даже неотъемлемым гражданским правом, то в данной статье этот аспект рассматриваться не будет. Здесь лишь будет изложен алгоритм выборочного отключения UAC, который позволит всем желающим разрешить выполнение конкретной программы, которой они доверяют, без проверки PKI, но при этом сохранить Контроль учётных записей включённым для всех остальных случаев, чтобы обеспечить более высокий уровень безопасности Windows.

Для решения поставленной задачи пользователю понадобится набор инструментов Application Compatibility Toolkit, предназначенный для проверки совместимости и быстрого развёртывания программных пакетов системными администраторами. Загрузить его можно с сайта Microsoft.

Те, кому сложно ориентироваться в англоязычном интерфейсе страницы загрузки, могут попытаться скачать самую новую на момент написания статьи версию 5.6.7324.0 от 21 октября 2013 года по прямой ссылке (12,21 мегабайт). Однако со следующим обновлением Application Compatibility Toolkit она может измениться.

На 32-разрядных операционных системах Application Compatibility Toolkit создаёт в меню «Пуск» ярлык «Compatibility Administrator (32-bit)», а на 64-разрядных два ярлыка «Compatibility Administrator (32-bit)» и «Compatibility Administrator (64-bit)». Запускать следует ту версию, которая соответствует разрядности приложения, для которого предполагается создавать исключение.

Как уже отмечалось, Application Compatibility Toolkit предназначен для решения широкого спектра задач, но в данной статье будут описаны лишь действия, необходимые и достаточные только для отключения UAC применительно к определённой программе. Желающие могут уже самостоятельно изучить данный набор инструментов более подробно.

Итак, для отключение Контроля учётных записей для отдельно взятого приложения необходимо проделать следующие действия:

  1. Запустить от имени администратора Compatibility Administrator необходимой разрядности.
  2. В древовидном меню перейти к разделу «Custom Databases» и развернуть его.
  3. Открыть контекстное меню для пункта «New Database».
  4. В подменю пункта «Create New» активировать опцию «Application Fix».
    (Горячая клавиша для всего этого — CTRL+P)
  5. В открывшемся окне в поле редактирование «Name of the program to be fixed» написать в произвольной форме название программы, а в «Program file location» задать путь к её исполняемому файлу: либо же нажать на кнопку «Browse...» и указать путь через стандартный диалог, после чего нажать кнопку «Далее».
  6. В следующем окне «Compatibility Modes» в контексте решения рассматриваемой задачи никаких действий можно не совершать и сразу нажать на кнопку «Далее».
  7. В окне «Compatibility Fixes» в списке параметров следует найти и активировать флажок «RunAsInvoker» после чего нажать на кнопку «Далее».
  8. В следующем окне «Matching Information», если на предыдущих шагах всё было сделано правильно, также можно ничего не делать и просто нажать на кнопку «Готово».
  9. После этого пользователь вернётся в главное меню Compatibility Administrator, а фокус будет установлен на пункт только что созданной базы данных в древовидном меню, располагающийся по пути «Custom Databases\New Database\Applications\Заданное_имя_приложения». Здесь следует в меню «File» активировать пункт «Save» или нажать CTRL+S для сохранения созданной базы данных, чтобы в следующий раз, например, при переустановке системы, вышеописанные шаги больше не понадобились.
  10. В двух последующих диалогах необходимо задать имя файла AppCompat Database (*.sdb) и путь его сохранения в стандартных диалогах. В следующий раз этот файл можно будет открыть через стандартный диалог, запускающийся в меню «File» пункт «Open...» или командой CTRL+O.
  11. Для установки выбранной базы данных следует, стоя на ней, в меню «File» активировать пункт «Install», после чего Compatibility Administrator выдаст сообщение «The database 'имя AppCompat Database' was successfully installed».

После этого, запуск приложения, для которого была создана база данных, будет осуществляться без проверки пути сертификации инфраструктуры открытого ключа и других действий Контроля учётных записей, тогда как для всех остальных активностей в системе UAC будет по-прежнему включён. Если же у пользователя возникнет желание удалить базу данных, создающую исключение для UAC, то сделать это можно через стандартный апплет «Установка и удаление программ», где она будет отображаться в общем списке установленных компонентов. После удаления, все привилегии запуска будут аннулированы.

Напоследок, обратим внимание пользователей, что предоставлять программам исключение в UAC следует с осмотрительностью. А если речь идёт о приложениях, расширяемых посредством сторонних скриптов, плагинов или любых других дополнений, то отключение контроля распространяется и на них, так что не будет лишним уделять дополнительное внимание источнику, из которого было получено то или иное расширение основной программы.



Распространение материалов сайта означает, что распространитель принимает условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2017
Rambler's Top100