Найти тему
А чё так можно?

Режим одобрения администратором. Как запускать всё приложения в режиме «от имени Администратора». Умная Большая Оптимизация #1

Оглавление

Вместо вступления

Этой статьей:

  • открою цикл «Умной Большой Оптимизации» компьютера;
  • отвечу на вопрос: как запускать все или только определенные приложения на компьютере с повышенными привилегиями;
  • избавимся от лишней суеты User Account Control (UAC).

В цикле статей «Умной Большой Оптимизации» будут статьи в которых:

  1. Получишь базовые знания для работы с основными приложениями и сервисами Windows, которые у большинства пользователей отсутствуют,
  2. Ты научишься ловить и устранять проблемы работы Windows.
  3. Ты сможешь настроить систему «под себя», без применения говно-твикеров, которые помимо всего прочего могут быть опасными.
  4. Ты получишь знания по безопасной работе с компьютером и интернет-сервисами.
  5. Во всех статьях я постараюсь максимально давать достоверную информацию, полученную из первоисточника, т.е. Мелконогих (Microsoft).
  6. И ещё что-то там, про что я забыл… 😁

Ставь лайки и комментируй, если статья оказалась полезной. Для меня и тебя это важно.

Дополняющее видео: https://dzen.ru/video/watch/6370c7c05d1bb103ee33210a

В видео могут быть фрагменты, отсутствующие в статье из-за большого набора действий, которые мне лень переносить в формат статьи.

По-сути: что такое режим одобрения администратором?

При установки ОС новый пользователь включается в группу «Администраторы». Администраторы — повелители всего и вся. Практически же, Администраторы, за исключением встроенной учётной записи «Администратор», имеют ряд ограничений на запуск приложений и все их действия попадают под пристальный взор механизма безопасности «Контроль учётных записей» (User Account Control (UAC)).

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

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

WIn+R → cmd → OK (или Enter на клавиатуре)
Окно «Выполнить», Win+R
Окно «Выполнить», Win+R

В обычных условиях командная строка запускается без повышенных привилегий. Как следствие все запущенные приложения из командной строки — тоже, т.к. идёт наследование атрибутов безопасности.

Запуск без повышенных привилегий
Запуск без повышенных привилегий

Запуск какой-то команды в командной строке, где требуется повышенные привилегии, требует перезапуска командной строки от имени Администратора. Точно также работает Power Shell.

Запуск с повышенными привилегиями
Запуск с повышенными привилегиями

Механизму Контроля учётных записей в ОС приходится постоянно напрягаться и напрягать пользователя:

  • проверка приложений на наличие определенных маркеров;
  • может ли приложение работать с ограниченными правами или ей нужны расширенные;
  • если нужны расширенные, то почему бы не напрячь вдовесок ещё пару служб — AppInfo и AxInstSV;
  • перевод пользователя в Безопасный рабочий стол, с выдачей ОЧЕНЬ-ОЧЕНЬ информативного окна и заветной кнопкой «ОК»;
  • проверка — а кто тот пользователь, что запускает приложение, а какой длинны его большие пальцы т.д.
Безопасный рабочий стол с подтверждением запуска
Безопасный рабочий стол с подтверждением запуска

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

Для чего вообще вся такая суета ОС нужна? — Безопасность! Капитан Очевидность с тобой! 😉 Зачем приложению или скрипту давать заранее возможность изменять системные настройки? Зачем приложение наделять привилегиями Администратора, если для работы эти привилегии не нужны? К примеру приложение Калькулятор. Зачем ему повышенные привилегии?

Основная задача UAC — информировать пользователя о приложении, способном изменить настройки ОС, чем может потенциально навредить ОС и притормаживать процесс установки приложения, до явного одобрения пользователем.

По-сути: понижение уровня суеты UAC

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

Понижение уровня уведомлений UAC
Понижение уровня уведомлений UAC

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

По-сути: предоставление дополнительных привилегий для определенных приложений

Можно воспользоваться данным подходом для ограниченного количество приложений.

Найти приложение в проводнике, зайти во вкладку «Совместимость», выставить галочку в чек-боксе «Запускать эту программу от имени администратора».

Свойства исполняемого файла программы TeamViewer
Свойства исполняемого файла программы TeamViewer

Для ярлыка программы, можно также зайти в свойства ярлыка, во вкладке «Ярлык», нажать кнопку «Дополнительно…» и в чек-боксе отметить «Запуск от имени администратора»

Свойства ярлыка исполняемого файла программы TeamViewer
Свойства ярлыка исполняемого файла программы TeamViewer

А что делать если нужно запускать все приложения с повышенными привилегиями по-умолчанию?

По-сути: использование встроенной учётной записи «Администратора»

Заходим в оснастку «Управление компьютером».

Win-R → compmgmt.msc → Enter
Управление компьютером → Служебные программы → Локальные пользователи и группы
Оснастка «Управление компьютером»
Оснастка «Управление компьютером»

Открой «Свойства Администратора» и снимаем галочку с чек-бокса «Отключить учётную запись Администратора».

Далее, при включении компьютера работаешь под встроенной учётной записью Администратора.

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

По-сути: отключение режима одобрения администратором

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

Для этого нам потребуется оснастка «Редактор локальной групповой политики».

Win-R → gpedit.msc → Enter
Конфигурация компьютера Конфигурация Windows Параметры безопасности Локальные политики Параметры безопасности
Оснастка «Редактор локальной групповой политики»
Оснастка «Редактор локальной групповой политики»

Находишь политики из группы «Контроль учётных записей»:

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

«Служба безопасности WIndows» будет ныть при включении компьютера, о снижении уровня безопасности. Ничего страшного! Нытик ноет — караван танцует…

По-сути: почему стоит воспользоваться 2м или 3м способом?

Всё просто, вот мои аргументы:

  1. Все приложения не входящие в WIndows, а их 99.9% несут в себе потенциальную угрозу и способны изменить системные настройки.
  2. Если пользователь домашнего компьютера намерен запустить приложение, он его запустить вне зависимости от UACи его оповещений!
  3. Концепция безопасности компьютера строится лишь в половину от средств защиты ОС, второй половиной этой концепции, самой важной на мой взгляд, является опыт пользователя! Краеугольным камнем этого опыта, является навык: не доверять приложениям или скриптам из сомнительных источников.
  4. От вирусов UAC не спасёт. Для этого требуются другие средства.
  5. «Сломать» ОС изменив системные настройки можно, но такое и проще восстановить, чем скажем последствия работы вируса. Кроме того, у Windows есть отдельные средства защиты системных файлов и средства их восстановления.
  6. Если скрипт или приложения хотят обойти средства защиты UAC, связанные с повышением привилегий на работу с компьютером, они могут это сделать «втихую».

Вот к примеру кусок кода Power Shell, который перезапустить скрипт с повышенными привилегиями:

[String]$gScriptDir = $PSScriptRoot + "\"
[String]$gScriptPath = $PSCommandPath
if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
$argsList = "-File " + """" + $gScriptPath + """"
Write-Host "Run As Administrator…"
Start-Process powershell -Verb runAs -ArgumentList $argsList
Exit
}

В данном конкретном случае произойдет следующее:

  1. Администратор запускает скрипт.
  2. Скрипт видит что ему не дали повышенных привилегий, скрипт перезапускает сам себя без спроса с такими привилегиями, если режим оповещения UAC стоит на минимальном уровне.
  3. Скрипт спокойно работает с повышенными привилегиями.

Заключение

Почему важно ставить лайки и оставлять комментарии? Так я вижу, что мои труды продуктивны. Так я понимаю, что данная тема тебе нравиться и я буду её развивать. Я приветствую конструктивную критику, приветствую новые идеи, — потому пиши.

Я пишу статьи\снимаю видео, — ты оцениваешь их!

А на этом всё! Мне спасибо, я пошёл… 😊

Обложка
Обложка