Что означает запуск приложения от имени администратора?
412
zar
Когда мы запускаем приложение как администратор, что это на самом деле означает? Мы знаем, что у него есть права вносить изменения в систему, но есть права на что именно?
Единственное, что выделяется, - это реестр, к которому он имеет полный доступ, но что еще может понадобиться типичному приложению, которого нет у обычного пользователя?
Я мог также видеть программные файлы или системные папки Windows, но я предполагаю, что большинству приложений, вероятно, не нужно вносить какие-либо изменения (другими словами, они будут работать без повышенного доступа к нему).
Поэтому я пытаюсь определить компоненты запуска приложения в качестве администратора, чтобы я мог применить эти изменения вручную, один за другим, если это возможно. Я делаю это, потому что моему приложению нужны права администратора для правильной работы в Windows 10, и я хочу сузить его, к чему именно ему нужен этот доступ.
«Типичное приложение» не нуждается в правах на что-либо большее, чем элементы сеанса пользователя, его запускающего. Установщик, чтобы установка была видимой для всех потенциальных пользователей, потребовала бы, чтобы эти права администратора записывали в места, к которым имеют доступ все пользователи.
music2myear 6 лет назад
0
Смотрите эту статью .... https: //docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works
Moab 6 лет назад
0
2 ответа на вопрос
2
Patrick Seymour
Для чего именно приложению нужны права администратора, зависит от приложения, но вы выявили две наиболее распространенные проблемы запуска без повышенных прав: защищенные области файловой системы и реестр.
Чтобы точно решить вашу проблему, вы должны запустить Process Monitor (из SysInternals). Затем запустите приложение без повышения прав. ProcMon расскажет вам, что приложение пытается сделать и терпит неудачу. Ищите результаты «Отказано в доступе».
Этот ответ хорош, но он не будет работать, если причина, по которой необходимо повысить уровень приложения, связана с правами доступа к файлам, папкам или реестру. Изменение разрешений по умолчанию для системного ключа или папки, такой как Program Files, является более плохой идеей, чем запуск приложения в качестве администратора.
Ramhound 6 лет назад
0
Обычно это не Program Files, а скорее папка приложения в Program Files. Изменение разрешений для такой папки намного безопаснее, чем права администратора.
Patrick Seymour 6 лет назад
0
Лучшие практики Microsoft не согласны. Данные приложения должны содержаться в AppData, изменяя права доступа к программным файлам, позволяя сломанным установщикам (например) удалять все в папке из-за подстановочного символа на этапе удаления в сценарии, если разрешения изменяются.
Ramhound 6 лет назад
0
Да, конечно, но вы не всегда можете контролировать то, что делает приложение, особенно если ваша компания не сделала его.
Patrick Seymour 6 лет назад
0
Я запустил монитор процесса, но не вижу доступа в результатах или даже в колонке сведений. Я вижу некоторые "ИМЯ НЕ НАЙДЕНО" и "ФАЙЛ ЗАБЛОКИРОВАН ТОЛЬКО ЧИТАТЕЛЯМИ", но все остальное - "УСПЕХ".
zar 6 лет назад
0
1
dsolimano
Запуск приложения с правами администратора обычно позволяет ему делать что угодно, включая форматирование жесткого диска. Хорошо написанные приложения, кроме утилит, таких как установщики, не должны в этом нуждаться.
Тем не менее, Microsoft предоставляет инструмент под названием LUA Buglight, который можно использовать для работы с плохо написанными приложениями, чтобы предоставлять им минимальные исправления вместо того, чтобы давать им полную свободу действий.
В общем, блог Аарона Маргозиса - отличное место для изучения подобных исправлений.
Похоже, ссылка для скачивания на данный момент здесь .