Контроль учётных записей пользователей


Контроль учётных записей пользователей (англ. User Account Control, UAC) — компонент операционных систем Microsoft Windows, впервые появившийся в Windows Vista. Этот компонент запрашивает подтверждение действий, требующих прав администратора, в целях защиты от несанкционированного использования компьютера. Администратор компьютера может отключить Контроль учётных записей пользователей в Панели управления.

Ограничение прав, с которыми выполняются приложения (например, различение между «суперпользователем» и «обычными пользователями»), в течение десятилетий было обычным явлением в операционных системах для серверов и мейнфреймов. Домашние же операционные системы Майкрософт (такие, как MS-DOS, Windows 3.x и Windows 9x) не имели разделения прав: программа могла выполнить на компьютере любое действие. По этой причине компьютеры общего пользования быстро подвергались заражению вредоносными программами.

Несмотря на появление разделения прав в Windows NT, пользователи по привычке и для удобства использовали для работы учётную запись с правами администратора, нарушая принцип «запускать любую программу с минимально возможными правами». К тому же многие программы, написанные для Windows 9x или протестированные только с правами суперпользователя, не работали с урезанными правами — например, хранили конфигурационные файлы в каталоге с программой или в общей для всех пользователей ветке реестра.

Получается порочный круг: разработчики делают программное обеспечение, которому требуются широкие права пользователей, потому что пользователи «сидят под администраторами»; пользователи ведут же повседневную работу с правами администраторов, потому что этого требует программное обеспечение. Поэтому, несмотря на то, что ОС линейки Windows 9x уже много лет не производятся, на большинстве компьютеров с Windows 2000 и более поздними система разграничения доступа простаивает, а вредоносные программы получают администраторские права. Пропаганда Microsoft, призывавшая делать программы совместимыми с разграничением доступа, действовала, но медленно — многие программы (особенно небольшие утилиты, написанные одиночками) продолжали исполнять операции с повышенными привилегиями. Для того, чтобы склонить разработчиков писать более «безопасные» программы, и был разработан Контроль учётных записей пользователей.