Содержание:
Любая операционная система должна быть не только удобной, функциональной и производительной, но и хорошо защищенной. Встроенная защита присутствовала и в ранних версиях Windows, но по сравнению с тем, что мы имеем сейчас, используемые ею механизмы не были столь эффективны. Например, работающие в XP пользователи обладали правами администратора по умолчанию, что вполне могло служить лазейкой для вредоносного программного обеспечения, также использующего повышенные права доступа.
Именно по этой причине в XP и более ранних версиях настоятельно рекомендовалось работать под обычной учетной записью, однако такой способ порождал разного рода трудности, например, постоянные запросы у администратора на выполнение какого-либо невинного действия вроде изменения системного времени. Разумеется, такую работу никак нельзя было назвать продуктивной. Впрочем, решение наболевшего вопроса вскоре было найдено.
Что такое UAC
Начиная с Vista, в Windows появляется новый механизм защиты под названием UAC или контроль учетных записей. Зачем же нужен UAC и как он работает? По сути это функция, которая позволяет предотвращать самопроизвольное выполнение исполняемых файлов в системе, запрашивая у администратора разрешение на операции, способные внести более или менее существенные изменения в работу системы, программ или учетных записей других пользователей. В данный момент этот механизм защиты используется во всех последних версиях Windows.
Внешне работа контроля учетных записей в Windows 7/10 проявляется в том, что в момент запуска процесса появляется окошко с просьбой подтвердить требующее права администратора действие.
При этом рабочий стол переключается в защищенный режим, не позволяя пользователю взаимодействовать с другими приложениями. Исключение делается только для встроенной учетной записи Администратора, не ограничиваемой UAC, но она по умолчанию отключена.
Польза UAC очевидна – если бы его не было, при работе пользователя в учетной записи администратора запуститься с более высокими правами мог бы любой вирус. Конечно, UAC не является панацеей, но остановить такой несанкционированный запуск исполняемого файла он вполне способен. Тем не менее, многие пользователи не жалуют UAС, и главная тому причина – его назойливость. Поэтому неудивительно, что у рядовых юзеров часто возникает вопрос, как отключить контроль учетных записей пользователей в Windows 7/10.
Принцип работы
О способах отключения контроля поговорим позже, а пока заглянем в механизм работы UAC немного глубже. Когда пользователь входит в учетную запись, ему выдается два токена или проще списка разрешений. Первый токен – пользовательский, второй – администраторский. Из этого можно заключить, что администратор ПК пользуется разрешениями второго списка, но это не совсем так. Он с ним просто работает, но сам токен «принадлежит» механизму UAC, поэтому даже если вы запускаете приложения с правами администратора, вам все равно потребуется разрешение контроля учетных записей.
Возможно, это не самая точная формулировка описания работы UAC. Контроль, скорее, можно представить как некое промежуточное звено между пользовательским и администраторским списками прав. Рассмотрим более детально то, что происходит в ходе установки/запуска программы при включенном контроле учетных записей. Когда пользователь запускает инсталлятор, функция ShellExecute вызывает другую функцию CreateProcess, которая в свою очередь запускает системы AppCompat, Fusion и Installer Detection, проверяющие, нужны ли программе повышенные привилегии. Если нужны, функция CreateProcess возвращает ошибку ERROR_ELEVATION_REQUIRED, а функция ShellExecute запускает диалоговое окошко UAC.
Вот примерно такая складывается цепочка. Но на этом полномочия UAC не заканчиваются. Участвует он также и в других механизмах, например, в виртуализации файловой системы и реестра, перенаправляя запись не имеющих администраторских прав программ в специально отведенные места, вместо того чтобы записывать их данные непосредственно в защищенные каталоги и ветви реестра.
Все способы отключения UAC
Ну а теперь вернемся к тому, как отключить UAC в Windows 7/10. Самый очевидный способ – через интерфейс. Получить доступ к нужным настройкам можно через апплет «Учетные записи пользователей» в Панели управления, но, чтобы далеко не ходить, можно выполнить в окошке Run (Win+R) команду UserAccountControlSettings (она работает в Windows 7, 8, 8.1 и 10).
Доступны четыре режима работы UAC:
- Первый режим производит отключение контроля учетных записей, запросы при выполнении любых действий не появляются.
- При работе во втором режиме система запрашивает разрешение на запуск программ, но рабочий стол не затемняется.
- Третий режим установлен по умолчанию. Запрашивается разрешение на выполнение программ с переводом рабочего стола в безопасный режим.
- Четвертый режим включает максимальный уровень защиты, механизм срабатывает не только в случае запуска программ, но и при попытке внесения изменений в настройки самим администратором.
Чтобы отключить UAC, перетащите ползунок в самый низ и нажмите «ОК». Если система того потребует, перезагрузите компьютер.
Отключение UAC через реестр
Откройте редактор реестра командой regedit и разверните эту ветку:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System
Отыщите в правой колонке параметр EnableLUA и измените его значение с 1 на 0, сохраните настройки и перезагрузитесь.
Обратите также внимание на параметры PromptOnSecureDesktop (0 отключает только затемнение) и ConsentPromptBehaviorAdmin (1 включает максимальный уровень защиты с требованием пароля).
Использование командной строки
Те же самые действия можно выполнить с помощью запущенной от имени администратора командной строки. В данном примере команда полного отключения UAC будет такой:
C:/Windows/System32/cmd.exe /k %windir%/System32/reg.exe ADD HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System /v EnableLUA /t REG_DWORD /d 0 /f
Первая часть команды – это путь к файлу управления реестром, вторая – редактируемый ключ, EnableLUA – отвечающий за отключение UAC параметр, 0 – его новое значение. Подставив на место параметра и его значения иные данные, вы можете изменить настройки других режимов UAC (смотрите выше). Как и в случае внесения изменений через реестр, понадобится перезагрузка компьютера.
Локальные групповые политики
Отключить UAC можно также с помощью редактора локальных групповых политик. Запустите его командой gpedit.msc и перейдите по пути Конфигурация компьютера – Конфигурация Windows – Параметры безопасности – Локальные политики – Параметры безопасности.
В правой колонке есть много политик управления параметрами контроля учетных записей, но для отключения UAC вам нужен только один – все администраторы работают в режиме одобрения администратором. Кликните по нему дважды и установите радиокнопку в диалоговом окошке в положение «Отключен», а затем перезагрузите компьютер.
Отключение контроля для конкретного приложения
И напоследок давайте разберем еще один интересный момент, а именно отключение UAC в Windows 7/10 для конкретных программ. Есть несколько способов это сделать, но не все они удобны. Если вы считаете себя продвинутым пользователем, можете повозиться с пакетом Application Compatibility Toolkit, позволяющим выделывать разные интересные штуки. Мы же предложим более простую утилиту Winaero Tweaker от отечественного разработчика. Запустите ее, прокрутите список опций почти до самого низа и найдите там Elevated Shortcut.
В правой части окна утилиты в поле Target укажите путь к исполняемому файлу приложения, которое хотите запускать в обход UAC, а в поле Shortcut location – путь к ярлыку его запуска.
Нажмите кнопку «Create Elevated Shortcut» и ярлык будет создан. Просто, быстро и удобно, но этот способ имеет маленький недостаток. При запуске приложения через созданный ярлык на мгновение на экране будет появляться окошко командной строки.
Можно попробовать и такой способ. Создайте в Планировщике заданий новую задачу.
На вкладке «Общие» присвойте ей имя, к примеру, «Запуск редактора реестра без UAC», а потом внизу установите птичку «Выполнить с наивысшими правами».
Далее на вкладке «Действия» жмем «Создать».
В открывшемся окошке указываем полный путь к исполняемому файлу программы.
Переключаемся на вкладку «Условия» и снимаем птички «Запускать только при питании от электросети» и «Останавливать при переходе на питание от батарей».
Сохраняем задачу и проверяем ее в действии нажатием «Выполнить».
Если программа запустилась как и положено, без запроса UAC, осталось только создать ярлык. Создайте его на рабочем столе и пропишите в поле расположения объекта команду schtasks /run /tn “task name”, где «task name» – имя вашей задачи.
Вот и все дела.
Увы, и этот способ имеет свой недостаток – приложения будут запускаться в фоновом режиме, точнее без фокусировки, но это можно поправить, вписав в поле Планировщика заданий вместо пути к вашей программе путь C:/Windows/system32/cmd.exe, а в поле добавления аргументов /c start “” program.exe, где program.exe – имя исполняемого файла программы, запускаемой в обход контроля учетной записи.
Пожалуй, это все, что мы хотели рассказать по теме контроля учетных записей в Windows 7/10. Свои замечания и комментарии оставляйте с помощью расположенной ниже формы.