В Windows® 7 реализуется простой механизм запуска учетных записей конечных пользователей со стандартными пользовательскими привилегиями, тем самым устраняя необходимость в правах администратора при выполнении обычных задач, например при установке драйвера принтера или подключении к беспроводной сети. Это фундаментальное изменение помогает обеспечить безопасность на уровне операционной системы, исключая вероятность повреждения файлов и настроек, общих для всей компании, вредоносным программным обеспечением (также используется название «вредоносный код») и корневыми пакетами.

Контроль учетных записей (UAC) основывается на теории наименьшего уровня привилегий, смысл которой состоит в том, что пользователи должны обладать минимальными привилегиями, необходимыми для выполнения поставленных задач. Изменения в подсистеме для UNIX-приложений, совместимой с UAC, включают использование учетной записи с наименьшим уровнем привилегий (LUA).

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

Контроль учетных записей представляет собой новый компонент Windows 7, введенный в Windows Vista.

Основная задача контроля учетных записей - снизить степень уязвимости и уменьшить вероятность атак для операционной системы Windows 7 посредством использования стандартного пользовательского режима всеми пользователями и, тем самым, ограничения доступа к авторизованным процессам на уровне администратора. Это ограничение значительно снижает вероятность внесения пользователями изменений, которые могут дестабилизировать работу системы или непреднамеренно подвергнуть сеть заражению вирусами в результате действия не обнаруженного на компьютере вредоносного программного обеспечения.

По умолчанию в Windows 7 любое приложение запускается в режиме стандартного пользователя, даже если текущий пользователь вошел в систему как член группы «Администраторы». Напротив, если пользователь пытается запустить приложение, требующее прав администратора, ОС Windows 7 предлагает ему подтвердить выполняемое действие. Изменять системные и глобальные настройки и поведение могут только приложения, которые были запущены с правами администратора.

Дополнительные сведения по этой теме см. в разделе «Контроль учетных записей в Windows Vista: общие представления и настройка» (страница может быть на английском языке) на веб-сайте корпорации Майкрософт (https://go.microsoft.com/fwlink/?LinkId=70242).

Контроль учетных записей и наименьший уровень привилегий в подсистеме для UNIX-приложений

Когда пользователь подсистемы для UNIX-приложений, являющийся членом группы «Администраторы», запускает приложение, оболочку или другую задачу, приложение запускается в контексте безопасности стандартного пользователя.

В следующем примере продемонстрирован механизм, с помощью которого контроль учетных записей запрещает пользователям, входящим в группу «Администраторы», выполнять административные задачи без повышения уровня привилегий.

Пользователь A, являющийся членом группы «Администраторы», хочет создать новую папку с именем test в корневом каталоге. Создавать новые папки в корневом каталоге могут только члены группы «Администраторы». Но несмотря на то, что пользователь A является членом группы «Администраторы», он не может создать новую папку из-за ограничений LUA. Чтобы создать папку test в корневом каталоге, пользователь A должен открыть Korn-оболочку с повышенным уровнем привилегий.

Ниже рассматривается запуск приложений и выполнение задач с повышенным уровнем привилегий.

Запуск приложений от имени администратора

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

Использование интерфейса Windows

Использование командной строки для UNIX

С использованием интерфейса Windows

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

Чтобы запустить приложение от имени администратора в интерфейсе Windows:
  1. Щелкните правой кнопкой мыши исполняемый файл приложения.

  2. В контекстном меню выберите команду Запуск от имени администратора.

С использованием командной строки для UNIX

Для запуска приложения, требующего прав администратора, в среде Korn-оболочки для UNIX выполните следующие действия.

Чтобы запустить приложение от имени администратора в Korn-оболочке:
  1. Нажмите кнопку Пуск, выберите пункты Все программы и Подсистема для приложений на базе UNIX, а затем наведите указатель на Korn shell.

  2. Щелкните правой кнопки мыши пункт Korn shell и выберите команду Запуск от имени администратора.

  3. В ответ на запрос о разрешении запуска оболочки в режиме администратора нажмите кнопку Да.

  4. Запустите программу, требующую прав администратора.

  5. По завершению работы с приложением, требующим повышенного уровня привилегий, завершите сеанс работы с оболочкой.

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

Раздел реестра EnableSuToRoot

По умолчанию контроль учетных записей включен. Если контроль учетных записей пользователей включен, любые приложения и задачи, которые олицетворяют других пользователей, являющихся участниками группы «Администраторы» (например, с помощью служебных программ su, cron или login, setuid, или любого вызова из семейства setuid или exec_asuser), всегда выполняются в контексте безопасности учетной записи стандартного пользователя.

Примечание

Если приложение олицетворяет стандартного пользователя, используется полный контекст безопасности обычного пользователя. Дополнительные сведения об обычных пользователях см. в статье рекомендаций и инструкций разработчиков по использованию приложений в среде с наименьшим уровнем привилегий на веб-сайте Майкрософт (https://go.microsoft.com/fwlink/?LinkId=70243).

Если используются настройки, заданные по умолчанию, приложение не может олицетворять привилегированного пользователя. Для управления таким поведением можно изменить раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SUA\EnableSuToRoot.

Изменение раздела реестра EnableSuToRoot

Важно!

В Windows 7 и Windows Server 2008 R2 учетная запись администратора по умолчанию отключена. Это позволяет защитить компьютер от несанкционированного доступа. Такая защита должна применяться для пользователей, олицетворяющих привилегированных пользователей или администраторов. Чтобы изменить значение раздела реестра EnableSuToRoot, необходимо включить учетную запись администратора. Поэтому порядок выполнения этой задачи выглядит описанным далее образом. Для выполнения следующей процедуры необходимо быть участником группы «Администраторы» на локальном компьютере.

Включение учетной записи администратора
  1. Нажмите кнопку Пуск, щелкните правой кнопкой мыши пункт Компьютер, а затем выберите пункт Управление.

  2. В области иерархии оснастки Управление компьютером откройте раздел Локальные пользователи и группы.

  3. Выберите пункт Пользователи.

  4. В области результатов щелкните правой кнопкой мыши элемент Администратор и выберите пункт Свойства.

  5. Снимите флажок Отключить учетную запись.

  6. Нажмите кнопку ОК.

  7. Закройте диалоговое окно Свойства и затем оснастку Управление компьютером.

Для изменения раздела реестра EnableSuToRoot после установки подсистемы для UNIX-приложений выполните следующие действия.

Чтобы изменить значение раздела реестра EnableSuToRoot:
  1. В меню Пуск сделайте активным текстовое поле Начать поиск и введите regedit, чтобы открыть редактор реестра.

  2. В области иерархии откройте раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SUA.

  3. В области результатов дважды щелкните EnableSuToRoot.

  4. В поле Значение введите 0 или 1, чтобы запретить или разрешить олицетворение привилегированного пользователя соответственно.

    По умолчанию используется значение 0.

  5. Нажмите кнопку ОК.

  6. Закройте редактор реестра и сохраните изменения, если появится соответствующий запрос.

Если для данного раздела реестра задано значение 0 (значение по умолчанию), олицетворение привилегированного пользователя не допускается. Если для данного раздела реестра задано значение 1, олицетворение привилегированного пользователя разрешено. Если приложение олицетворяет учетную запись привилегированного пользователя или администратора, оно работает в контексте безопасности привилегированного пользователя (администратора).

Setuid и привилегии администратора

Попытка пользователя, являющегося членом группы «Администраторы», пометить приложения атрибутом setuid будет успешна только в том случае, если ему разрешено запускать приложения и выполнять задачи в контексте безопасности администратора.

В приведенном ниже примере описано, как присвоить атрибут двоичному файлу /bin/regpwd, обычно имеющему атрибут setuid.

  1. Откройте Korn-оболочку (ksh) с повышенным уровнем привилегий, как описано выше в этом разделе.

  2. Введите chmod +s /bin/regpwd и нажмите клавишу Ввод.

  3. Введите exit, чтобы завершить сеанс ksh.

См. также