Среди предназначенных для обслуживания Windows программ имеется немало таких, которые для своей работы в обязательном порядке требуют права администратора. Отличить их можно по запросу UAC в момент запуска исполняемого файла, кроме того, значки большинства требующих повышенных привилегий приложений имеют характерную иконку щита желто-синего цвета. Такое программное обеспечение обладает более широкими возможностями в плане конфигурирования ОС, он оно же может нести в себе повышенные риски.
Чем меньше полномочий у стороннего приложения, тем меньший вред оно способно нанести системе, окажись оно вредоносным. Запускать сомнительные программы лучше всего в виртуальной машине или песочнице, если же это по какой-то причине сделать нельзя, можно попробовать принудительно ограничить права таких программ.
Для этого мы предлагаем использовать PsExec — консольную утилиту, входящую в состав пакета PsTools от Microsoft.
Скачать оный пакет можно по ссылке — technet.microsoft.com/ru-ru/sysinternals/bb897553.
Принцип работы утилиты следующий.
Будучи запущенной с повышенными разрешениями, она создает процесс с более низкими правами и запускает в нём требующую повышенных привилегий программу, которая стартует уже с пониженными правами. Чтобы это продемонстрировать, запустим с помощью PsExec с пониженными правами программу для автоматического управления службами Service Trigger Editor.
Распаковываем пакет PsTools в удобное расположение, запускаем от имени администратора командную строку и выполняем в ней такую команду:
"F:PSToolspsexec.exe» -l -d «F:ServiceTriggerEditor.exe"
Первая часть команды — это путь к исполняемому файлу PsExec с параметрами -l и -d, вторая часть — путь к исполняемому файлу утилиты управления службами. У вас пути и запускаемое ПО, естественно, будут свои.
В результате мы получаем сообщение об удачном запуске программы с ID процесса, запускается и сама программа, но уже не требуя подтверждения со стороны контроля учетных записей.
Чтобы убедиться, что программа действительно запустилась с ограниченными правами, воспользуемся утилитой Process Explorer. Если открыть в ней свойства процесса нашей программы на вкладке «Security», то можно будет увидеть, что он не является членом группы «BUILTIN/Администраторы», зато входит в состав группы «Обязательная метка/Низкий обязательный уровень».
Если бы программа обладала всеми полномочиями, флаг группы «BUILTIN/Администраторы» был бы Owner, а уровень обязательной метки был бы высоким.
Ну, и раз уж мы упомянули здесь Process Explorer, отметим, что запускать программы с пониженными правами можно и с ее помощью.
В меню «Файл» этой утилиты есть опция «Run as Limited User».
Открывающая окошко быстрого запуска, в котором вы можете указать путь к исполняемому файлу приложения.
Дорогие читатели, если вы увидели ошибку или опечатку в статье «Как в Windows ограничить права программы, требующей администраторских привилегий», помогите нам ее исправить! Выделите ошибку и нажмите одновременно клавиши «Ctrl» и «Enter». Мы получим ваше сообщение и внесём исправления в ближайшее время.
Источник: winzen.ru