[Конспект админа] Что делать, если программа хочет прав администратора, а вы нет
Время на прочтение
7 мин
Количество просмотров 166K
(с) Вася Ложкин.
К сожалению, в работе сисадмина нет-нет да и приходится разрешать пользователям запускать всякий софт с админскими правами. Чаще всего это какие-нибудь странные китайские программы для работы с оборудованием. Но бывают и другие ситуации вроде небезызвестного bnk.exe.
Выдавать пользователю права администратора, чтобы решить проблему быстро и просто, противоречит нормам инфобезопасности. Можно, конечно, дать ему отдельный компьютер и поместить в изолированную сеть, но — это дорого и вообще…
Попробуем разобрать решения, которые позволят и программу запустить, и безопасника с финансистом не обозлить.
Ну, и зачем тебе права?
Программа может запрашивать права администратора условно в двух случаях:
- Когда хочет получить доступ туда, куда «простым смертным» нельзя: например, создавать файлы в системных каталогах.
- Когда программу скомпилировали со специальным флагом «Требовать права администратора».
С первым случаем все понятно: берем в руки замечательную программу Марка Руссиновича Process Monitor, смотрим, что происходит, и куда программа пытается залезть:
Куда это лезет этот 7Zip?
И по результатам исследования выдаем права пользователю на нужный каталог или ветку реестра.
Сложнее, если случай клинический, и так просто выдать права не получится: например, программа требует сильного вмешательства в работу системы вроде установки драйверов. Тогда придется придумывать всякий колхоз, про который речь пойдет в последнем разделе статьи. Пока подробнее освещу второй случай — когда стоит флажок.
Если сильно упростить, то в специальном манифесте программы (к слову, установщики — это тоже программы) могут быть три варианта запуска:
- asInvoker. Программа запускается с теми же правами, что и породивший ее процесс (как правило, это explorer.exe c правами пользователя);
- highestAvailable. Программа попросит максимально доступные пользователю права (у администратора появится окно с запросом повышения UAC, у пользователя — нет);
- requireAdministrator. Программа будет требовать права администратора в любом случае.
Если разработчик твердо решил требовать права администратора, даже если они не нужны, то обойти это можно малой кровью.
Нет, не будет тебе прав
В системе Windows, начиная с Vista, появилась служба UAC, которая помимо прочего отвечает за запросы программ на повышение прав. Не все программы «переваривали» работу с этой службой. Поэтому в системе был доработан механизм совместимости приложений, позволяющий прямо задать программе ее поведение — запрашивать права или нет.
Простейшим вариантом работы с этим механизмом будет использование переменных среды.
Рассмотрим пример с редактором реестра. Действительно, запуская regedit.exe под администратором, мы получаем запрос на повышение прав:
Запрос повышение прав.
Если же мы запустим редактор реестра из консоли, предварительно поменяв значение переменной среды __COMPAT_LAYER на:
set __COMPAT_LAYER=RUNASINVOKER
То запроса UAC не будет, как и административных прав у приложения:
Бесправный редактор реестра.
Этим можно пользоваться, запуская программы батниками или добавляя контекстное меню через реестр. Подробнее читайте в материале How to Run Program without Admin Privileges and to Bypass UAC Prompt?
С конкретным примером такой неприятной программы можно столкнуться при загрузке классификаторов банков из 1С с сайта РБК по ссылке http://cbrates.rbc.ru/bnk/bnk.exe. Если обновление классификаторов отдается на откуп самим пользователям и нет возможности поменять загрузку на bnk.zip (а современные 1С это поддерживают), то приходится придумывать костыли. Ведь bnk.exe — самораспаковывающийся архив, в котором зачем-то прописано «Требовать права администратора».
Поскольку ярлычками тут обойтись не выйдет, ведь 1С сама скачивает файл и запускает его, то придется применять тяжелую артиллерию — Microsoft Application Compatibility Toolkit.
Документация к ПО, как обычно, доступна на официальном сайте, загрузить можно как часть Windows Assessment and Deployment Kit. Сам процесс решения проблемы несложен.
Необходимо поставить утилиту, запустить Compatibility Administrator и создать Application Fix в новой или имеющейся базе данных:
Создаем исправление приложения.
Имя и издатель значения не имеют. Имеет значение только расположение файла — тут нужно указать реальный проблемный bnk.exe (где он будет лежать на самом деле — не важно).
Далее необходимо в списке исправлений выбрать RunAsInvoker.
Выбираем нужный фикс.
Все остальное оставляем по умолчанию, сохраняем базу данных. Должно получиться примерно так:
Созданный фикс для bnk.exe.
После этого достаточно будет установить базу данных, щелкнув по ней правой кнопкой и выбрав Install. Теперь пользователи смогут сами грузить классификаторы банков.
Все становится хуже, если приложению действительно нужны права админа. Тогда добавление прав на системные объекты и исправления не помогают.
Ну ладно, держи права
Казалось бы, самым очевидным решением для запуска нашего странного ПО выглядит использование встроенной утилиты Runas. Документация доступна на сайте Microsoft.
Ну, посмотрим, что из этого выйдет.
Команда:
runas /savecred /user:Администратор "C:Program Files7-Zip7zFM.exe"
Действительно, RunAs запустит 7zip с правами учетной записи «Администратор», спросит пароль и запомнит его. Потом ярлык с такой строкой запуска будет запускать 7zip под Администратором без вопросов.
)
Вводим пароль.
Есть один существенный недостаток: пароль запоминается на уровне системы, и теперь, используя команду Runas, можно будет запускать абсолютно любую программу. Это мало чем отличается от прямого предоставления админских прав сотрудникам, так что использовать это решение не стоит.
Зато runas может быть полезен, когда сотрудник знает пароль администратора, но работает под ограниченной учетной записью (по идее так должен делать каждый системный администратор).
Если мы начали с консольных команд, то перейдем к более высокоуровневым скриптам. Интересное решение было предложено в статье «Планктонная Windows», где упомянутый выше Runas обвязывался js-скриптом и пропускался через обфускатор. У решения есть и очевидный минус — скрипт можно раскодировать.
Чуть более интересным методом в 2к20 являются возможности PowerShell и его работа с паролями. Подробнее можно почитать в материале «Защита и шифрование паролей в скриптах PowerShell».
Если вкратце: в PS работа с паролями производится через специальный тип данных SecureString и объект PSCredential. Например, можно ввести пароль интерактивно:
$Cred = Get-Credential
Затем сохранить пароль в зашифрованном виде в файл:
$Cred.Password | ConvertFrom-SecureString | Set-Content c:pass.txt
И теперь использовать этот файл для неинтерактивной работы:
$username = "DomainАдминистратор"
$pass = Get-Content C:pass.txt | ConvertTo-SecureString
$creds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username, $pass
К сожалению, файл этот можно использовать только на том ПК, на котором его создали. Чтобы этого избежать, можно сделать отдельный ключ шифрования. Например так:
$AESKey = New-Object Byte[] 32
[Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($AESKey)
$AESKey | out-file C:password_aes.key
Теперь при помощи этого ключа пароль можно зашифровать:
$Cred.Password| ConvertFrom-SecureString -Key (get-content C:password_aes.key
)| Set-Content C:pass.txt
И расшифровать:
$pass = Get-Content C:pass.txt | ConvertTo-SecureString -Key (get-content C:password_aes.key)
К сожалению, с безопасностью дела обстоят так же печально: утащить пароль не составляет трудностей, если есть доступ к файлу с ключом шифрования и зашифрованным паролем. Да, можно добавить обфускации и скомпилировать скрипт в .exe вместе с нужными файлами. Но нужно понимать, что это — полумеры.
В свое время я использовал для решения подобных задач свой любимый AutoIt, где компилировал скрипт с командой RunAs и радовался… До тех пор, пока не узнал, что AutoIt (особенно старых версий) декомпилируется на раз-два.
Другим интересным вариантом может быть применение назначенных заданий — если создать назначенное задание от админского аккаунта, пользователю для работы будет достаточно его запуска. К сожалению, для интерактивной работы с приложением это решение не подходит.
На свете существует несколько сторонних решений, призванных решить задачу. Остановлюсь на парочке из них.
Пожалуй, одна из самых известных утилит — это AdmiLink, разработанная Алексеем Курякиным для нужд ядерной физики. Программа и принципы ее работы описаны на официальном сайте. Я, как обычно, позволю себе более краткое описание.
Программа состоит из трех модулей. AdmiLink — это графическое окно, где можно создать ярлык на нужное приложение (в принципе, в ряде случаев достаточно только его).
Основное окно программы.
Помимо непосредственно создания ярлыка (и да, запрос UAC тоже можно подавлять), есть и дополнительные функции вроде калькулятора, терминала и удобных настроек политик безопасности. Со всеми возможностями программы читателю предлагается разобраться самостоятельно.
Второй модуль называется AdmiRun и представляет из себя консольную утилиту. Она умеет запускать приложения от имени администратора, получив в качестве одного из параметров строку, созданную через AdmiLink. В строке шифруется имя пользователя и пароль, при этом участвует и путь к программе.
На первый взгляд все выглядит безопасно, но, к сожалению, код программ закрыт, и насколько можно доверять разработчику — вопрос.
Третий модуль — AdmiLaunch — отвечает за запуск окон в разных режимах, и он используется для запуска AdmiRun, если создавать ярлык через AdmiLink.
В целом, решение проверено годами и поколениями отечественных системных администраторов. Но добавлю и альтернативу из-за рубежа.
RunAsRob — довольно интересное ПО за авторством немецкого разработчика Оливера Хессинга (Oliver Hessing). В отличие от AdmiLink, ПО устанавливается как служба, запускаемая под привилегированной учетной записью (администратора или системы). Как следствие, подготовленный ярлык обращается к службе, которая уже в свою очередь запускает заданное ПО.
Особенность программы в том, что есть возможность авторизовать не только программы, но и папки (включая сетевые). А хранение настроек в реестре позволило добавить шаблоны групповых политик, примерно как мы писали в статье «Погружение в шаблоны и приручение GPO Windows». Благодаря этому при необходимости настройки можно применять прямо из Active Directory.
Основное окно программы.
Программа богато документирована на официальном сайте.
У этого автора есть еще и программа RunAsSpc, позволяющая запускать исполняемые файлы под правами другого пользователя, передавая учетные данные через зашифрованный файл.
Мне остается только добавить, что это ПО бесплатно только для личного использования.
Но учтите, что из программы, запущенной под административными правами, можно натворить бед. Например, запустить привилегированную командную консоль через диалог Файл — Открыть.
Запускаем cmd.exe прямо из редактора реестра.
Немного защититься помогут политики запрета контекстного меню и прочих диспетчеров задач, часть из которых может настроить AdmiLink. Но в любом случае следует быть осторожным.
А вам приходилось городить странные костыли? Предлагаю делиться историями в комментариях.
Несмотря на административные права учетной записи, часто Windows 10 требует прав администратора при запуске программ. Это неудобно, так как откладывает запуск приложений и, как следствие, замедляет работу. Поэтому вопрос о том, как убрать запуск от имени администратора Windows 10, является актуальным для многих пользователей операционной системы.
Нужно обратить внимание, что несмотря на то, что сообщение о запуске ПО от администратора высвечиваться не будет, соответствующие права должна иметь учетная запись, в которой запускается приложение. Это условие обязательное при настройках запуска ПО от администратора.
Способы запуска программ
Для начала нужно разобраться, какими способами запускается приложение. От этого зависит настройка показа сообщения о запросе административных прав. Приложения в ОС Windows 10 можно запускать следующими способами:
- через меню Пуск;
- с помощью ярлыка на рабочем столе;
- через элемент Администрирование в Панели управления.
В каждом из них существуют настройки запуска ПО без запроса административных прав. Смысл настройки в том, чтобы эти права присваивались программе по умолчанию. В этом случае система перестанет их запрашивать.
Речь идет именно о сообщении на запрос прав администратора. Это наиболее простой и быстрый способ присвоения административных прав программе при запуске. Чтобы выполнить эту операцию через меню Пуск, нужно:
- открыть меню Пуск клавишей Win на клавиатуре или кнопкой, расположенной в левом, нижем углу экрана (базовые настройки Windows 10);
- на клавиатуре набрать название программы;
- на значке найденного соответствия нужно нажать правой клавишей мыши;
- в контекстном меню выбрать Дополнительно-Запуск от имени Администратора.
В этом случае программа запустится от имени администратора, если для такой режим запуска предусмотрен. Этот способ актуален для приложений, находящихся на начальном экране.
Как убрать запуск от имени администратора Windows 10 через ярлык на рабочем столе
Ярлыки различных приложений помещаются на рабочий стол для удобного и быстрого запуска. Через эти элементы можно управлять запуском приложения и показом запроса административных прав. Чтобы запускать программы с соответствующими правами или отключить эту функцию, нужно выполнить несколько действий:
- зайти в Свойства ярлыка (правой клавишей мыши по ярлыку-Свойство);
- открыть вкладку Ярлык-Дополнительно;
- в нижней части окна поставить галочку на флажке Выполнять эту программу от имени Администратора;
- Нажать Применить или ОК.
В этом случае запуск выбранного ПО всегда будет происходит с административными правами.
Как убрать запуск от имени администратора Windows 10 через элемент Администрирование в Панели управления
Часто пользователей не устраивает сам факт показа сообщений о требованиях административных прав. Особенно это касается офисных работников, для которых время – деньги.
Убрать это сообщение можно с помощью элемента Администрирование, расположенного в панели управления Windows 10 и других версий операционной системы. Суть принципа заключается в том, что в ОС есть так называемый супер администратор с привилегированными правами. Она отключена по умолчанию в угоду безопасности. Для включения учетной записи супер администратора выполняют следующие действия:
- зайти в панель управления, где в правом верхнем углу переключить Просмотр на Крупные или Мелкие значки (если включен просмотр Категории);
- перейти по ветке Администрирование-Управление компьютером;
- в открывшемся окне в списке слева выбрать Локальные пользователи и группы;
- зайти в Пользователи, где в списке найти Администратор;
- на пункте Администратор кликнуть правой кнопкой мыши и зайти в Свойства;
- в открывшемся диалоговом окне снять галочку на пункте Отключить учетную запись.
После представленный действий учетная запись привилегированного администратора будет включена. Далее стандартными действиями запуска программ можно запускать приложения от имени супер Администратора.
Контроль учетных записей также можно отключить. В этом случае сообщения о запуске ПО с административными правами не будет запускаться и мешать пользователю. Для этого в командной строке нужно прописать команду useraccountcontrolsettings. Откроется окно контроля учетных записей. В его левой части расположен бегунок, который нужно переключить в самую нижнюю позицию. Это отключить уведомление системы при попытках внесения изменений или установке ПО. Однако в таком случае страдает безопасность ОС Windows 10, что пользователь обязательно должен понимать.
Как убрать запуск от имени администратора Windows 10
Несмотря на административные права учетной записи, часто Windows 10 требует прав администратора при запуске программ. Это неудобно, так как откладывает запуск приложений и, как следствие, замедляет работу. Поэтому вопрос о том, как убрать запуск от имени администратора Windows 10, является актуальным для многих пользователей операционной системы.
Нужно обратить внимание, что несмотря на то, что сообщение о запуске ПО от администратора высвечиваться не будет, соответствующие права должна иметь учетная запись, в которой запускается приложение. Это условие обязательное при настройках запуска ПО от администратора.
Способы запуска программ
Для начала нужно разобраться, какими способами запускается приложение. От этого зависит настройка показа сообщения о запросе административных прав. Приложения в ОС Windows 10 можно запускать следующими способами:
- через меню Пуск;
- с помощью ярлыка на рабочем столе;
- через элемент Администрирование в Панели управления.
В каждом из них существуют настройки запуска ПО без запроса административных прав. Смысл настройки в том, чтобы эти права присваивались программе по умолчанию. В этом случае система перестанет их запрашивать.
Как убрать запуск от имени администратора Windows 10 через меню Пуск
Речь идет именно о сообщении на запрос прав администратора. Это наиболее простой и быстрый способ присвоения административных прав программе при запуске. Чтобы выполнить эту операцию через меню Пуск, нужно:
- открыть меню Пуск клавишей Win на клавиатуре или кнопкой, расположенной в левом, нижем углу экрана (базовые настройки Windows 10);
- на клавиатуре набрать название программы;
- на значке найденного соответствия нужно нажать правой клавишей мыши;
- в контекстном меню выбрать Дополнительно-Запуск от имени Администратора.
В этом случае программа запустится от имени администратора, если для такой режим запуска предусмотрен. Этот способ актуален для приложений, находящихся на начальном экране.
Как убрать запуск от имени администратора Windows 10 через ярлык на рабочем столе
Ярлыки различных приложений помещаются на рабочий стол для удобного и быстрого запуска. Через эти элементы можно управлять запуском приложения и показом запроса административных прав. Чтобы запускать программы с соответствующими правами или отключить эту функцию, нужно выполнить несколько действий:
- зайти в Свойства ярлыка (правой клавишей мыши по ярлыку-Свойство);
- открыть вкладку Ярлык-Дополнительно;
- в нижней части окна поставить галочку на флажке Выполнять эту программу от имени Администратора;
- Нажать Применить или ОК.
В этом случае запуск выбранного ПО всегда будет происходит с административными правами.
Как убрать запуск от имени администратора Windows 10 через элемент Администрирование в Панели управления
Часто пользователей не устраивает сам факт показа сообщений о требованиях административных прав. Особенно это касается офисных работников, для которых время – деньги.
Убрать это сообщение можно с помощью элемента Администрирование, расположенного в панели управления Windows 10 и других версий операционной системы. Суть принципа заключается в том, что в ОС есть так называемый супер администратор с привилегированными правами. Она отключена по умолчанию в угоду безопасности. Для включения учетной записи супер администратора выполняют следующие действия:
- зайти в панель управления, где в правом верхнем углу переключить Просмотр на Крупные или Мелкие значки (если включен просмотр Категории);
- перейти по ветке Администрирование-Управление компьютером;
- в открывшемся окне в списке слева выбрать Локальные пользователи и группы;
- зайти в Пользователи, где в списке найти Администратор;
- на пункте Администратор кликнуть правой кнопкой мыши и зайти в Свойства;
- в открывшемся диалоговом окне снять галочку на пункте Отключить учетную запись.
После представленный действий учетная запись привилегированного администратора будет включена. Далее стандартными действиями запуска программ можно запускать приложения от имени супер Администратора.
Контроль учетных записей также можно отключить. В этом случае сообщения о запуске ПО с административными правами не будет запускаться и мешать пользователю. Для этого в командной строке нужно прописать команду useraccountcontrolsettings. Откроется окно контроля учетных записей. В его левой части расположен бегунок, который нужно переключить в самую нижнюю позицию. Это отключить уведомление системы при попытках внесения изменений или установке ПО. Однако в таком случае страдает безопасность ОС Windows 10, что пользователь обязательно должен понимать.
[Конспект админа] Что делать, если программа хочет прав администратора, а вы нет
К сожалению, в работе сисадмина нет-нет да и приходится разрешать пользователям запускать всякий софт с админскими правами. Чаще всего это какие-нибудь странные китайские программы для работы с оборудованием. Но бывают и другие ситуации вроде небезызвестного bnk.exe.
Выдавать пользователю права администратора, чтобы решить проблему быстро и просто, противоречит нормам инфобезопасности. Можно, конечно, дать ему отдельный компьютер и поместить в изолированную сеть, но — это дорого и вообще…
Попробуем разобрать решения, которые позволят и программу запустить, и безопасника с финансистом не обозлить.
Ну, и зачем тебе права?
Программа может запрашивать права администратора условно в двух случаях:
- Когда хочет получить доступ туда, куда «простым смертным» нельзя: например, создавать файлы в системных каталогах.
- Когда программу скомпилировали со специальным флагом «Требовать права администратора».
С первым случаем все понятно: берем в руки замечательную программу Марка Руссиновича Process Monitor, смотрим, что происходит, и куда программа пытается залезть:
Куда это лезет этот 7Zip?
И по результатам исследования выдаем права пользователю на нужный каталог или ветку реестра.
Сложнее, если случай клинический, и так просто выдать права не получится: например, программа требует сильного вмешательства в работу системы вроде установки драйверов. Тогда придется придумывать всякий колхоз, про который речь пойдет в последнем разделе статьи. Пока подробнее освещу второй случай — когда стоит флажок.
Если сильно упростить, то в специальном манифесте программы (к слову, установщики — это тоже программы) могут быть три варианта запуска:
- asInvoker. Программа запускается с теми же правами, что и породивший ее процесс (как правило, это explorer.exe c правами пользователя);
- highestAvailable. Программа попросит максимально доступные пользователю права (у администратора появится окно с запросом повышения UAC, у пользователя — нет);
- requireAdministrator. Программа будет требовать права администратора в любом случае.
Если разработчик твердо решил требовать права администратора, даже если они не нужны, то обойти это можно малой кровью.
Нет, не будет тебе прав
В системе Windows, начиная с Vista, появилась служба UAC, которая помимо прочего отвечает за запросы программ на повышение прав. Не все программы «переваривали» работу с этой службой. Поэтому в системе был доработан механизм совместимости приложений, позволяющий прямо задать программе ее поведение — запрашивать права или нет.
Простейшим вариантом работы с этим механизмом будет использование переменных среды.
Рассмотрим пример с редактором реестра. Действительно, запуская regedit.exe под администратором, мы получаем запрос на повышение прав:
Запрос повышение прав.
Если же мы запустим редактор реестра из консоли, предварительно поменяв значение переменной среды __COMPAT_LAYER на:
То запроса UAC не будет, как и административных прав у приложения:
Бесправный редактор реестра.
Этим можно пользоваться, запуская программы батниками или добавляя контекстное меню через реестр. Подробнее читайте в материале How to Run Program without Admin Privileges and to Bypass UAC Prompt?
С конкретным примером такой неприятной программы можно столкнуться при загрузке классификаторов банков из 1С с сайта РБК по ссылке http://cbrates.rbc.ru/bnk/bnk.exe. Если обновление классификаторов отдается на откуп самим пользователям и нет возможности поменять загрузку на bnk.zip (а современные 1С это поддерживают), то приходится придумывать костыли. Ведь bnk.exe — самораспаковывающийся архив, в котором зачем-то прописано «Требовать права администратора».
Поскольку ярлычками тут обойтись не выйдет, ведь 1С сама скачивает файл и запускает его, то придется применять тяжелую артиллерию — Microsoft Application Compatibility Toolkit.
Документация к ПО, как обычно, доступна на официальном сайте, загрузить можно как часть Windows Assessment and Deployment Kit. Сам процесс решения проблемы несложен.
Необходимо поставить утилиту, запустить Compatibility Administrator и создать Application Fix в новой или имеющейся базе данных:
Создаем исправление приложения.
Имя и издатель значения не имеют. Имеет значение только расположение файла — тут нужно указать реальный проблемный bnk.exe (где он будет лежать на самом деле — не важно).
Далее необходимо в списке исправлений выбрать RunAsInvoker.
Выбираем нужный фикс.
Все остальное оставляем по умолчанию, сохраняем базу данных. Должно получиться примерно так:
Созданный фикс для bnk.exe.
После этого достаточно будет установить базу данных, щелкнув по ней правой кнопкой и выбрав Install. Теперь пользователи смогут сами грузить классификаторы банков.
Все становится хуже, если приложению действительно нужны права админа. Тогда добавление прав на системные объекты и исправления не помогают.
Ну ладно, держи права
Казалось бы, самым очевидным решением для запуска нашего странного ПО выглядит использование встроенной утилиты Runas. Документация доступна на сайте Microsoft.
Ну, посмотрим, что из этого выйдет.
Действительно, RunAs запустит 7zip с правами учетной записи «Администратор», спросит пароль и запомнит его. Потом ярлык с такой строкой запуска будет запускать 7zip под Администратором без вопросов.
)
Есть один существенный недостаток: пароль запоминается на уровне системы, и теперь, используя команду Runas, можно будет запускать абсолютно любую программу. Это мало чем отличается от прямого предоставления админских прав сотрудникам, так что использовать это решение не стоит.
Если мы начали с консольных команд, то перейдем к более высокоуровневым скриптам. Интересное решение было предложено в статье «Планктонная Windows», где упомянутый выше Runas обвязывался js-скриптом и пропускался через обфускатор. У решения есть и очевидный минус — скрипт можно раскодировать.
Чуть более интересным методом в 2к20 являются возможности PowerShell и его работа с паролями. Подробнее можно почитать в материале «Защита и шифрование паролей в скриптах PowerShell».
Если вкратце: в PS работа с паролями производится через специальный тип данных SecureString и объект PSCredential. Например, можно ввести пароль интерактивно:
Затем сохранить пароль в зашифрованном виде в файл:
И теперь использовать этот файл для неинтерактивной работы:
К сожалению, файл этот можно использовать только на том ПК, на котором его создали. Чтобы этого избежать, можно сделать отдельный ключ шифрования. Например так:
Теперь при помощи этого ключа пароль можно зашифровать:
К сожалению, с безопасностью дела обстоят так же печально: утащить пароль не составляет трудностей, если есть доступ к файлу с ключом шифрования и зашифрованным паролем. Да, можно добавить обфускации и скомпилировать скрипт в .exe вместе с нужными файлами. Но нужно понимать, что это — полумеры.
Другим интересным вариантом может быть применение назначенных заданий — если создать назначенное задание от админского аккаунта, пользователю для работы будет достаточно его запуска. К сожалению, для интерактивной работы с приложением это решение не подходит.
На свете существует несколько сторонних решений, призванных решить задачу. Остановлюсь на парочке из них.
Пожалуй, одна из самых известных утилит — это AdmiLink, разработанная Алексеем Курякиным для нужд ядерной физики. Программа и принципы ее работы описаны на официальном сайте. Я, как обычно, позволю себе более краткое описание.
Программа состоит из трех модулей. AdmiLink — это графическое окно, где можно создать ярлык на нужное приложение (в принципе, в ряде случаев достаточно только его).
Основное окно программы.
Помимо непосредственно создания ярлыка (и да, запрос UAC тоже можно подавлять), есть и дополнительные функции вроде калькулятора, терминала и удобных настроек политик безопасности. Со всеми возможностями программы читателю предлагается разобраться самостоятельно.
Второй модуль называется AdmiRun и представляет из себя консольную утилиту. Она умеет запускать приложения от имени администратора, получив в качестве одного из параметров строку, созданную через AdmiLink. В строке шифруется имя пользователя и пароль, при этом участвует и путь к программе.
На первый взгляд все выглядит безопасно, но, к сожалению, код программ закрыт, и насколько можно доверять разработчику — вопрос.
Третий модуль — AdmiLaunch — отвечает за запуск окон в разных режимах, и он используется для запуска AdmiRun, если создавать ярлык через AdmiLink.
В целом, решение проверено годами и поколениями отечественных системных администраторов. Но добавлю и альтернативу из-за рубежа.
RunAsRob — довольно интересное ПО за авторством немецкого разработчика Оливера Хессинга (Oliver Hessing). В отличие от AdmiLink, ПО устанавливается как служба, запускаемая под привилегированной учетной записью (администратора или системы). Как следствие, подготовленный ярлык обращается к службе, которая уже в свою очередь запускает заданное ПО.
Особенность программы в том, что есть возможность авторизовать не только программы, но и папки (включая сетевые). А хранение настроек в реестре позволило добавить шаблоны групповых политик, примерно как мы писали в статье «Погружение в шаблоны и приручение GPO Windows». Благодаря этому при необходимости настройки можно применять прямо из Active Directory.
Основное окно программы.
Программа богато документирована на официальном сайте.
У этого автора есть еще и программа RunAsSpc, позволяющая запускать исполняемые файлы под правами другого пользователя, передавая учетные данные через зашифрованный файл.
Мне остается только добавить, что это ПО бесплатно только для личного использования.
Но учтите, что из программы, запущенной под административными правами, можно натворить бед. Например, запустить привилегированную командную консоль через диалог Файл — Открыть.
Запускаем cmd.exe прямо из редактора реестра.
Немного защититься помогут политики запрета контекстного меню и прочих диспетчеров задач, часть из которых может настроить AdmiLink. Но в любом случае следует быть осторожным.
А вам приходилось городить странные костыли? Предлагаю делиться историями в комментариях.
Запуск от имени администратора не работает.
Работая в Windows, пользователь должен осознавать, что его данные и работоспособность системы постоянно находятся под угрозой. Не важно, используете вы для работы интернет или нет. И одним из средств защиты является работа из-под учётной записи, которая ограничена в правах. Права ограничиваются прежде всего для открываемых документов и программ, которым по умолчанию нередко требуется персональное разрешение. За этим открываемые процессы наткнутся на UAC, а та спросит вас:
Каждому из нас Windows предоставляет возможность напрямую открыть файл/программу с помощью функции быстрого доступа к предоставлению полного права для полнофункционального запуска. С этой настройкой вы знакомы по команде из контекстного меню:
Однако нередки случаи, когда пользователь замечает: нажимай по Запуск от имени администратора, не нажимай — система открывает нужное нам всё с теми же ограничениями. Т.е. запуск от имени администратора просто не работает. Разберёмся в причинах. Некоторые из них мы уже покрывали в статье Утеря прав администратором , так что продолжим далее.
Запуск от имени администратора не работает? Причины такие:
Это наиболее типичные источники проблем. С каждой из них мы успешно боролись на страницах блога, так что за подробностями, если интересны, можете пройти по указующим ссылкам.
Отключен UAC
Если вы пытаетесь открыть программу с правами администратора, по умолчанию выскакивает окно Контроля учётных записей на подтверждение действий. Но, если UAC отключен по вашей инициативе или вследствие неверных действий (в том числе и со стороны другого ПО), с запуском программы могут возникнуть проблемы. Так что следует проверить включён ли UAC — это может помочь в решении вопроса. Чтобы убедиться, задействован ли UAC, делаем следующее:
- зажимаем WIN + R
- в окне Выполнить вводим команду
- проверяем местоположение ползунка настройки UAC. По необходимости меняем положение, выбирая степень защиты. В случае каких-то вопросов обратитесь к статье:
«Битое» контекстное меню
Иногда в работу контекстного меню (точнее, проводника Windows) могут вмешиваться некоторые программы. Которые могут испортить настроение даже в том случае, если их давно уже в системе нет. Если у вас возникли по этому некоторые сомнения, вы можете отремонтировать контекстное меню вручную. Так, все пункт меню, появляющегося после нажатия по ярлыку правой кнопкой мыши, находятся в реестре здесь:
HKEY_CLASSES_ROOT*shellexContextMenuHandlers
Удалите слева все те пункты, которые принадлежат программам, которых не существует или которые вам не нужны. Если возникли затруднения или вы не уверены в некоторых пунктах, обратитесь за дополнительной информацией к статье
Проверьте членство в группах пользователей Windows
Если кто не знает, Windows ещё во время установки формирует список пользователей и присваивает им всем (существующим и в перспективе) определённый и ограниченный набор прав. Учётная запись с неограниченными (ну… почти) правами скрыта и требует специальной активации в целях безопасности — не путать Администратора (скрыт) с Пользователем с правами Администратора (вы, если устанавливали Windows под себя). Все такие пользователи формируются в группы по правам на проведение некоторых операций в системе. Логика, я думаю, вам уже ясна: кто-то может делать с файлами всё (почти), а кто-то нет. Чтобы проверить членство своей учётки, наберите очередную быструю команду доступа из WIN + R
Откроется окно Учётных записей пользователей, в котором вы должны увидеть своё имя:
Если вы не Администратор, собака могла быть здесь зарыта. Присвойте себе членство, Примените, покиньте консоль, закройте все окна для сохранения информации и согласитесь с «перезаходом» в собственную учётку:
Администратор отключён зловредом
Это он сделал для того, чтобы вы его не перехватили «на лету». Чаще всего это проявляется при попытке запустить антивирусное ПО, установить обновления Windows и т.п. И особенностью такого деяния является тот факт, что потеря прав сохраняется и в том случае, когда вирус или зловред уже удалён. Оптимальным вариантом действий является работа из-под «живых» антивирусных сборок. Далеко бегать не нужно, забирайте:
Впрочем, если есть свои предпочтения, то лишь бы работало.
Ошибки ПО
Иногда Запуск от имени администратора не работает не из-за злонамеренных действий. Какая-то из программ, сидящая в Автозапуске, спускает триггер, из-за чего, в свою очередь, UAC аварийно «захлопывается» без вашего ведома. Обычно эта настройка видна в планировщике задач Windows. Но, также как и в случае с вирусом, остаточные файлы могут нарушить работу UAC и после удаления. Загрузитесь в Безопасном режиме и проверьте. Это легко сделать без всяких специальных кнопок F8 и т.п. Чтобы запустить Windows после перезагрузки в Безопасном режиме, просто выставьте галочку в пункте:
В разных версиях Windows путь к исходной настройке свой, но смысл тот же:
Не забудьте о галочке, иначе система будет грузиться в Режим постоянно.
Напоследок: создайте учётную запись с повышенными привилегиями
Самый простой способ сравнить работоспособность защиты UAC и установленных вами программ. То есть вам нужен обычный стандартный пользователь, но с возможностью запускать и открывать всё подряд с повышенными правами: продублировать свою же учётку. По крайней мере, оттуда вы получите права к основной массе нужной информации хотя бы на период решения проблем. Вот один из способов это сделать:
- запускаем консоль cmd (как я понимаю, с обычными правами: других у вас нет)
- вводим команду в формате:
- проверим, появился ли такой:
- попробуем добавить администратора
- проверим его членство в группах:
Например, создадим нового пользователя с именем Новый:
Также, в статье Как создать суперпользователя Windows? я показываю как заставить себя проявить скрытую учётную запись администратора. Более того, можно провернуть ту же операцию с помощью загрузочного диска или через ремонтную консоль, если из-под обычного сеанса Windows создать нового пользователя не получается. За подробностями обратитесь к статье
21 / 16 / 3 Регистрация: 27.01.2013 Сообщений: 90 |
|
1 |
|
Все программы запускаются только от имени администратора12.06.2014, 10:56. Показов 81237. Ответов 19
Что за?…Я устанавливал эту систему и программы на сотни компов и все было норм, а тут…Все сначала, норм все работает, потом вдруг ни с того ни сего, на одна прога не запускается. Думаю гляну в диспетчере может что зависло..а он тоже молчит гад. Через некоторое время методом тыка, обнаружил, что для того что бы произвести запуск какой-либо проги, надо ее запускать от имени администратора…ДАЖЕ диспетчер задач…Я с таким еще не сталкивался,да и в интернете ничего не нашел. Может кто знает что за прикол и как исправить.
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
12.06.2014, 10:56 |
19 |
11058 / 6882 / 1850 Регистрация: 25.12.2012 Сообщений: 29,116 |
|
12.06.2014, 11:27 |
2 |
Нажимаем Пуск и в поле поиска вводим secpol.msc , Локальные политики и переходим к разделу Параметры безопасности , Контроль учетных записей: поведение запроса повышения привилегий для администраторов в режиме одобрения администратором , Повышение без запроса . ах, да, сам файл лежит С:WINDOWSsystem32secpol.msc Не по теме: не посмотрел на название подраздела Добавлено через 6 минут
0 |
Заблокирован |
|
12.06.2014, 11:37 |
3 |
insect_87, …это как бы значит что у него позаражено очень вероятно… Не стоит втупую решать задачи которые ставят аналогичные юзеры которые ставят Driverpack…
2 |
21 / 16 / 3 Регистрация: 27.01.2013 Сообщений: 90 |
|
12.06.2014, 11:38 [ТС] |
4 |
Я запускал через “выполнить”..Но прикол в том что там стоит как раз так и настроено “Повышение без запроса”…Зато я нашел как прога мне такую фигню творит. Виновником оказалась прога для управлением тачпадом Elan. Причем она вносит эти изменения еще до своего основного запуска, поэтому даже она так и не может запустится. Но уже точно понял что она, до ее запуска все норм, после-ахтунг и да здравствует восстановление системы. Интересно как она это делает..?))
0 |
Заблокирован |
|
12.06.2014, 11:39 |
5 |
Да нет, виноват тот самый юзер с Driverpack Solution НА НОУТБУКЕ, у ELAN НЕТУ generic драйвера хоть часто и подходит иной. Иди лучше свечку в церковь поставь, в таком виде можно только на это рассчитывать.
1 |
21 / 16 / 3 Регистрация: 27.01.2013 Сообщений: 90 |
|
12.06.2014, 11:43 [ТС] |
6 |
Мы можем конечно поспорить. Но все довольно очевидно становится, когда сначало запускаешь диспетчер задач– все норм, затем запускаешь установку Elan и снова диспетчер задач– ничего не работает.
0 |
21 / 16 / 3 Регистрация: 27.01.2013 Сообщений: 90 |
|
12.06.2014, 11:51 [ТС] |
8 |
1) Для Win 8 там не все дрова…далеко не все. Я сначала подумал, а вдруг прокатит и установил видеодрайвер от win 7,результат – черный экран и как следствие восстановление системы
0 |
Заблокирован |
|
12.06.2014, 12:02 |
9 |
С Driverpack Solution. К.О. Я вообще их подбирал спокойно ища в Сети разные версии, в новых неотключаемые жесты и инверсная прокрутка, типа чтобы 8 тачу соответствовать. Могу ещё пару версий скинуть. Видео то понятно почему – там дуал. Кстати я бы с видео и начал. Если не ставятся те два пака с офсайта для 7(начиная с интела) – у тебя оно и не заработает скорее всего, а без этого тебе в 8 смысла??? Но по всем параметрам на 8 должен ставиться, на 8.1 уже да..
0 |
21 / 16 / 3 Регистрация: 27.01.2013 Сообщений: 90 |
|
12.06.2014, 12:12 [ТС] |
10 |
Ну как раз с оф. сайта дрова на видео не идут, ни один ни другой, зато драйвер пак установил без проблем все отлично работает. Да кстати это Win 8.1 (я вверху написал).
0 |
Заблокирован |
|
12.06.2014, 12:41 |
11 |
И обе видеокарты работают и переключаются? Не верится как-то, хотя это в принципе реально. Проги для тачпада не существует, Smart Gesture собственно прога для тачпада, это ДОПОЛНЕНИЕ, а жесты итд – часть драйвера, это важная часть, отдельно не существует.
0 |
21 / 16 / 3 Регистрация: 27.01.2013 Сообщений: 90 |
|
12.06.2014, 12:49 [ТС] |
12 |
Я окончательно нашел проблему. Оказывается мою рабочую флэшку заразил вирус, поразил все исполняемые файлы. Когда я устанавливал прогу с флэшки я снова заражал систему. Вирус в том числе поразил и приложение Elan. Заразил флэшку как раз с этого ноута и еще до переустановки. И так как после, антивирус там еще не был установлен, я не понимал в чем проблема. Но некоторые подозрения закрались, и я проверил на своем компе. Каспер чуть не подавился))) 150 обнаруженных угроз…)))
0 |
Заблокирован |
|
12.06.2014, 12:52 |
13 |
О, я телепат даже оказывается…
0 |
21 / 16 / 3 Регистрация: 27.01.2013 Сообщений: 90 |
|
12.06.2014, 12:56 [ТС] |
14 |
Возможно, я например моментально отметал подозрения о вирусе, так как просто не мог представить где бы я ее заразил. Она проходит регулярную проверку + я предпринял некоторые шаги по ее защите…НО я забыл что я подключал ее в этот ноут до переустановки, пытаясь определить что с ним не так…)))
0 |
4 / 4 / 0 Регистрация: 01.02.2020 Сообщений: 1 |
|
01.02.2020, 09:34 |
15 |
Я тоже ,долго мучился с этой проблемой и всё исправил через реестр; незнаю может кому поможет мой файлик..
4 |
0 / 0 / 0 Регистрация: 19.03.2020 Сообщений: 1 |
|
14.04.2020, 10:30 |
16 |
raavan, спасибо огромное боже мой, вирус изменил реестр и сделал так, чтобы мне писало, что программу невозможно запустить на вашем пк(win 10) и запускала свчхост хотя я не уверен, что это не файл вируса, запустив твои значения всё запускается! Огромное спасибо!
0 |
0 / 0 / 0 Регистрация: 03.07.2020 Сообщений: 1 |
|
03.07.2020, 18:53 |
17 |
raavan-win 10 реально ПОМОГЛО-большое пасиба
0 |
0 / 0 / 0 Регистрация: 11.02.2021 Сообщений: 3 |
|
11.02.2021, 19:44 |
18 |
Спасибо! На семерке сработало!
0 |
0 / 0 / 0 Регистрация: 01.05.2021 Сообщений: 1 |
|
01.05.2021, 11:56 |
19 |
Я короче запускаю этот файл который скидали, он поработает перезапушу пк надо потом опять запускать эту хрень. Что за бред.
0 |
0 / 0 / 0 Регистрация: 06.12.2021 Сообщений: 1 |
|
07.12.2021, 13:19 |
20 |
Первый раз на форуме, надеюсь всё правильно пишу… У меня в общем эта проблема никак не уходит. Файл с архива не помогает, антивирус вычистил всё что мог – не помогает, ни один совет не помог пока, может ещё какие есть варианты. Раньше же такого не было. Получается где-то что-то поменялось. Было бы разумно откатить систему, но откатывать некуда, нет точек восстановления, вроде отключал их. Попробую сейчас через загрузочную флешку починить виндувс, может так что-то получится
0 |
- Запуск программ от имени администратора
- Запуск программы от имени другого пользователя
Иногда при запуске программ или при попытке воспользоваться какой-либо ее функцией на экране отображается ошибка о необходимости предоставления ей (программе) прав администратора. Обычно это означает, что запускаемое приложение или ее отдельная функция пытается:
- Считать значения или внести изменения в критические настройки/параметры операционной системы, например — добавление/удаление записей в реестре или создание новых задач в «Планировщике заданий»;
- Получить доступ к каким-либо данным на диске, доступ к которым запрещен для учетных записей, не имеющих статус администраторских.
- Принудительно завершить работу какого-либо запущенного процесса, остановить или внести изменения в параметры запуска системной службы.
- Запустить системное приложение или службу, для запуска/работы которых также требуются права администратора.
В всех случаях (без учета различных нюансов) доступ блокируется либо со стороны самой системы, либо со стороны администратора компьютера, т.е. владельца администраторской учетной записи. Решить проблему можно двумя способами:
- Если доступ блокируется операционной системой, а учетная запись пользователя имеет статус администраторской, то программу следует запускать от имени администратора (дело в том, что некоторые приложения в целях безопасности не запускаются от имени администратора даже из-под учетной записи такового).
- Запустить программу от имени другого пользователя компьютера, учетная запись которого имеет статус администраторской. Сработает только в том случае, если администратор предоставит пароль от своей учетной записи.
Рассмотрим все на примере Windows 11.
Запуск программ от имени администратора
Здесь все очень просто:
- Кликните по запускаемой программе или ее ярлыку на рабочем столе правой кнопкой мыши, затем выберите в контекстном меню пункт «Показать дополнительные параметры»:
- Откроется расширенное контекстное меню — выберите в нем пункт «Запуск от имени администратора»:
- Готово.
Чтобы постоянно не проделывать вышеописанные действия, можно указать системе всегда запускать программу от имени администратора. Для этого:
- Откройте окно свойств запускаемой программы, выбрав в контекстном меню пункт «Свойства» либо нажав комбинацию клавиш «Alt + Enter» после выделения значка/ярлыка приложения мышкой.
- В окне свойств откройте вкладку «Совместимость», затем установите галочку напротив элемента «Запускать программу от имени администратора» и нажмите «ОК»:
На этом все.
Запуск программы от имени другого пользователя
Как отмечалось выше, данный способ сработает в случае, если известно имя и пароль от учетной записи администратора компьютера. Действия следующие:
- Нажмите и удерживайте клавишу «Shift», а затем выполните первый шаг из предыдущей инструкции.
- В отобразившемся контекстном меню должен появиться дополнительный пункт — «Запуск от имени другого пользователя» — выберите его:
- Откроется новое окно, в которое нужно вписать имя учетной записи администратора и пароль от нее, затем нажать кнопку «ОК»:
Готово.