К сожалению, в работе сисадмина нет-нет да и приходится разрешать пользователям запускать всякий софт с админскими правами. Чаще всего это какие-нибудь странные китайские программы для работы с оборудованием. Но бывают и другие ситуации вроде небезызвестного bnk.exe.
Выдавать пользователю права администратора, чтобы решить проблему быстро и просто, противоречит нормам инфобезопасности. Можно, конечно, дать ему отдельный компьютер и поместить в изолированную сеть, но — это дорого и вообще…
Попробуем разобрать решения, которые позволят и программу запустить, и безопасника с финансистом не обозлить.
Ну, и зачем тебе права?
Программа может запрашивать права администратора условно в двух случаях:
- Когда хочет получить доступ туда, куда «простым смертным» нельзя: например, создавать файлы в системных каталогах.
- Когда программу скомпилировали со специальным флагом «Требовать права администратора».
С первым случаем все понятно: берем в руки замечательную программу Марка Руссиновича Process Monitor, смотрим, что происходит, и куда программа пытается залезть:
Права администратора в Windows 10
Куда это лезет этот 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. Но в любом случае следует быть осторожным.
А вам приходилось городить странные костыли? Предлагаю делиться историями в комментариях.
Источник: temofeev.ru
Как включить скрытую учетную запись администратора в Windows 10?
Многих пользователей, которые столкнулись с последней операционной системой Windows, интересует вопрос: как получить права администратора в Windows 10? Ведь для выполнения многих задач – запуска приложений, установки программ и так далее – нужно обладать полными правами администратора, которых не даёт даже уже привычная для пользователей возможность просто создать свою учётную запись, нажав пару кнопок.
В Windows 10 всё немного сложнее, и для получения полной свободы действий нужно сделать немного больше. Здесь уже существует запись администратора, обладающая неограниченными правами, но она заблокирована и скрыта. На неё не распространяется User Account Control, с неё можно делать всё, что угодно, при действиях от её лица не отправляется запрос User Account Control – это основное отличие этой записи от обычной.
Есть несколько способов, которые помогут вам «договориться» с системой и разблокировать учетную запись «админа». Тем не менее, делайте это на свой страх и риск: ограничение прав поставлено для вашей же безопасности.
- 1 Способ первый: через системную строку
- 2 Способ второй: через приложение компьютера
- 3 Третий: через редактор локальных политик
- 4 Вывод
Способ первый: через системную строку
Этот вариант – самый быстрый и не требующий особенных навыков общения с компьютером. Нажмите на «Пуск» правой кнопкой мыши (или Win + X) и найдите в появившемся меню строку «Командная строка (администратор)». Появится чёрный экран с белыми символами. Там необходимо прописать текст:
net user администратор /active:yes для русскоязычной версии ОС,
net user administrator /active:yes , если работаете с «классической» Windows. Нажмите Enter.
Открывайте «Пуск» и нажимайте левой кнопкой мыши на имя пользователя в левом верхнем углу. Откроется меню, в котором нужно найти строчку «Администратор» и кликнуть по ней. Готово! Теперь вы обладаете полными правами.
Чтобы отключить их, снова зайдите в командную строку и пропечатайте net user администратор /active:no (или administrator для английской системы).
Способ второй: через приложение компьютера
Если вам по какой-то причине неудобно пользоваться командной строкой, есть и другой способ, позволяющий получить права.
Сначала найдите приложение «Управление компьютером». Для этого можно воспользоваться «Поиском в Windows» или меню «Пуск». Просто введите название приложения и активируйте его.
Вы увидите древовидный список. В нём нужно будет нажать «Служебные программы», после «Локальные пользователи» и, наконец, «Пользователи». Кликните дважды левой кнопкой мышки по строке «Администратор». Там по умолчанию отмечен флажком пункт «Отключить учётную запись». Снимите этот флажок и подтвердите внесённые изменения кнопкой «ОК».
Чтобы отключить запись администратора, верните флажок обратно.
Можно немного сократить этот способ: в «Поиске в Windows» забейте «lusrmgr.msc» и активируйте приложение. Так вы немедленно попадёте в меню управления учётными записями, где нужно будет отыскать строку «администратор» и убрать галочку с «Отключить учётную запись». Сохраните, что поменяли – и пользуйтесь!
Третий: через редактор локальных политик
Начала, как и в предыдущем варианте, запустите «Пуск» или «Поиск в Windows». Наберите «gpedit.msc», кликните по найденному файлу. Откроется «Редактор групповой политики». В нём найдите строку «Конфигурация компьютера», потом запустите «Конфигурацию Windows», следом – «Параметры безопасности», «Локальные политики» и, наконец, опять «Параметры безопасности».
В открывшемся меню увидите «Учётные записи: Состояние учётной записи «Администратор». Откройте, два раза щёлкнув по нему левой кнопкой мышки. Появятся две строчки: «Включён» и «Отключён». Выберите первую, сохраните, что поменяли, кнопкой «ОК».
Можно также значительно сократить проделанный путь, если в самом первом пункте ввести не «gpedit.msc», а «secpol.msc». Вам сразу выпадет программа «Локальная политика безопасности», где нужно будет последовательно открыть «Локальные политики» и «Параметры безопасности». Повторите последний пункт, включив учетную запись администратора.
Вывод
Помните: такая учётная запись заблокирована не из-за прихоти разработчиков, а для вашего же блага и безопасной работы на компьютере. Работая с полными правами администратора, выше вероятность нахватать вирусов или что-то непоправимо нарушить в работе системы. Поэтому даже профессионалам рекомендуется включать учетную запись администратора только для решения конкретной проблемы или выполнения конкретного действия, после завершения работы снова переключаясь на обычную запись пользователя – будут целее и компьютер, и ваши нервы, и деньги, которые не придётся отдавать за ремонт.
Будьте аккуратны при использовании Windows 10, и ваше устройство отплатит вам хорошей и быстрой работой!
Источник: instcomputer.ru
6 способов сделать пользователя администратором в Windows 10
Учетные записи пользователей в Windows можно разделить на три большие группы: гостевые – с минимальным количеством прав, обычные и администраторские. Исключительно администраторы имеют полный доступ к компьютеру и могут вносить изменения в системные файлы и папки. Еще без этих прав не будут работать некоторые программы и функции.
В данной статье мы расскажем, как выйдет получить права администратора в Windows 10. Для удобства подготовлено 6 простых методов. Начинайте с первого, а если он не сработает, то переходите к следующим.
Способ 1: Дать права администратора через «Параметры»
В ПК существует специальное меню «Параметры», куда вынесено большое количество настроек. Добраться до него получится двумя путями:
- Одновременно нажать комбинацию Win + I на клавиатуре.
- В меню «Пуск» нажать на значок в виде шестеренки.
Чтобы присвоить права администратора, выполните следующие шаги:
- Перейдите в раздел «Учетные записи».
- Откройте вкладку «Семья и другие пользователи».
- Кликните по тому аккаунту, который в итоге должен получить права администратора в Windows 10.
- Нажмите на кнопку «Изменить тип…».
- Активируйте соответствующий вариант для пункта «Тип…» в новом окне.
- Нажмите «ОК» для подтверждения.
При следующем входе в этот профиль он заработает с правами администратора. Все настраивается достаточно просто. А мы переходим к следующему способу.
Способ 2: Через панель управления
В операционной системе Windows 10 добраться до панели управления проще всего через поиск в меню «Пуск»:
- Нажмите комбинацию клавиш Win + Q, чтобы вызвать функцию поиска.
- Введите запрос «Панель управления».
- Кликните по соответствующему пункту.
Прочитать ещё статью: 4 способа отключить уведомления в Windows 10 навсегда и временно
Теперь посмотрим, как стать администратором Windows 10:
- В графе «Просмотр» выберите вариант «Категория», если по умолчанию стоит не он.
- Кликните по пункту «Изменение типа учетной записи» в списке доступных элементов.
- Кликните по тому профилю, который вы хотите отредактировать.
- Снова нажмите на «Изменение типа…» в левом боковом меню.
- Установите для профиля вариант «Администратор» и подтвердите свое решение, чтобы дать нужные права.
- Закройте окно параметров.
- Проверьте, все ли работает правильно.
В результате при следующем входе в настроенный профиль включатся права администратора. А мы переходим к следующему варианту.
Способ 3: Через утилиту Локальные пользователи и группы
Это еще один способ для получения прав администратора:
- Нажмите на клавиатуре комбинацию Win + R.
- Запустите команду lusrmgr.msc.
- Через левое меню посетите страницу «Пользователи».
- Найдите нужный профиль и кликните по нему правой клавишей мыши.
- Выберите пункт «Свойства».
- Посетите раздел «Членство в группах» и кликните по кнопке «Добавить…».
- В графу «Введите имена выбираемых объектов» впечатайте следующее: Администраторы.
- Кликните по кнопке «ОК».
- А теперь поочередно нажмите «Применить» и «ОК».
В результате данная учетная запись приобретет права администратора.
Способ 4: Через изменение локальных групповых политик
Редактор локальных групповых политик позволяет предоставлять полные администраторские права для пользователей:
- Нажмите Win + R и выполните команду secpol.msc.
- В боковом меню откройте раздел «Локальные политики» и выберите «Параметры безопасности».
- Пролистайте правый список до самого конца и два раза кликните по отмеченной графе с припиской «Администратор».
- Поставьте режим «Включен», затем нажмите на «Применить» и «ОК».
Это еще один вариант для получения прав на администрирование в Windows 10.
Способ 5: Через командную строку
Включить учетную запись администратора достаточно просто конкретно этим путем. Сначала запускаем нужный инструмент:
- Нажмите комбинацию клавиш Win + Q.
- Введите запрос «Командная строка».
- А потом нажмите на выделенный стрелочкой элемент в блоке «Лучшее соответствие».
Еще командую строку можно открыть с помощью команды cmd в окне «Выполнить».
Источник: itznanie.ru