Vista User Account Control (UAC). Настроить? Отключить? И как с этим жить дальше?
Зачем вы придумали этот User Account Control? Кому он вообще нужен? А можно ли совсем отключить эту надоедливую штуку?
Достаточно часто коллеги задают мне подобные вопросы. Я подозреваю что непонимание того как работает UAC и как им нужно управлять проистекает из банальной неосведомленности. Поэтому я постарался собрать в этом посте как можно больше интересной документации разной степени детальности, о том как именно работает UAC.
Лично я считаю что, UAC встроенный в Windows Vista и Windows Server 2008 вещь очень полезная. И вот почему я так думаю:
До Windows Vista пользователь при входе в систему получал только один токен безопасности. И на основе этого токена система решала к каким ресурсам предоставлять доступ, включая возможность полного доступа ко всем ресурсам системы. Подобная модель контроля доступа не могла проверить действительно ли пользователь желает выполнить те или иные действия требующие повышеных привелегий. В результате этого злонамеренное ПО могло устанавливаться в так называемом "молчаливом" режиме и работать в рамках сеанса не привлекая внимания пользователя. Заражение среды обитания единичного пользователя было неприятным, но не таким уж и критичным.
Ситуация становилась гораздо хуже, если вредоносное ПО попадало в систему во время сеанса пользователя обладающего административными правами. В этом случае появлялась возможность изменять системные файлы ОС. А это в свою очередь давало возможность злонамереному ПО полностью захватить контроль над системой и сделать процесс обеззараживание трудоемким, а в некоторых случая близким к невозможному.
Стоит отметить что повседневная работа под учетной записью с административными полномочиями была и остается достаточно распространенным явлением в среде домашних и офисных пользователей. Отчасти это было вызвано тем, что подобный подход упрощает работу с системой и избавляет от необходимости знать и использовать команду “Run As”. Вторым поводом к такому образу жизни служило то, что сразу же после установки Windows XP все вновь создаваемые пользователи по умолчанию получали права локальных администраторов.
В Windows Vista и Windows Server 2008 механизм работы с токенами изменился кардинальным образом. При входе в систему с любой учетной записью создается токен с правами стандартного пользователя системы. Администраторы вдобавок к стандартному токену получают токен с полными привилегиями. В момент создания рабочего стола запускается explorer.exe. Вне зависимости от привилегий пользователя для выполения explorer.exe используется токен стандартного пользователя. Все приложения запускаемые пользователем в сеансе наследуют права explorer.exe, и поэтому работают с правами стандартного пользователя, даже если пользователь является администратором.
Когда пользователь или приложение пытается выполнить действие требующее повышеных привелегий, система отображает приглашение UAC. Если пользователь является администратором или в ответ на запрос ввел логин и пароль администратора, и затем одобрил запрос на повышение привилегий, действие выполняется.
Таким образом использование UAC полностью исключает возможность незаметной установки в систему злонамереного кода и совершения этим кодом каких либо административных действий. Что многократно повышает защищенность системы.
Как видите, все достаточно логично и просто. Работа в системе от имени стандартного пользователя это действительно благо.
Если вам хочется подробнее узнать об архитектуре и механизмах работы UAC рекомендуюю прочитать следующие документы:
Осуществите мечту работы не админом с User Account Control
Inside Windows Vista User Account Control
User Account Control Overview
Understanding and Configuring User Account Control in Windows Vista
Getting Started with User Account Control on Windows Vista
Windows Vista Application Development Requirements for User Account Control (UAC)
Требования к разработке приложений с точки зрения механизма управления учетными записями пользователей (UAC)
Понимание того, как работает UAC, конечно полезно, но все таки хотелось бы чего-то более практического. В этом нам поможет документ Windows User Account Control Step-by-Step Guide.
Особенно стоит обратить внимание на следующие разделы документации:
Однократный запуск приложения в режиме повышеных привелегий
Постоянный запуск приложения в режиме повышеных привелегий
Тонкая настройка UAC
Новые средства PowerToy для повышения прав в Windows Vista
Еще одной из интересных полезностей UAC является возможность с помощью Parental control определять часы в течении которых тот или иной пользователь может входить в систему. К сожалению данная настройка доступна только для систем не присоединенных к домену.
В общем коллеги надеюсь вы со мной согласитесь, что UAC действительно, нужная вещь. Как всегда за безопасность приходится платить удобством пользования системы, но если настроить UAC под свои нужды, то неудобства могут стать минимальными.
Возможно, несмотря на все изложеное выше вы так и не почуствовали ценности UAC и желаете отключить User Account Control стандартным способом или с помощью TweakUAC.
Не рекомендую вам делать это. В момент отключения UAC перестанет работать компонент виртуализации реестра и системных папок. Что приводит к еще большему ослаблению безопасности вашей системы.
Казалось бы ничего страшного не должно произойти, умелые или везучие люди годами ежедневно работают в системе под административным пользователем. :) Но не всем так везет, и вы может не оказаться в списке счастливчиков. :)