2

Вопрос в том, как работать с наименьшими привилегиями. Это не является ( на самом деле) о запуске с повышенными привилегиями.

Сначала позвольте мне прояснить пару вещей об общем понимании привилегий учетной записи Windows 7.

Каждая ОС Windows 7 должна иметь хотя бы одного пользователя и хотя бы одного пользователя-администратора.

Поэтому первая (и часто только) учетная запись в Windows 7 заполняется как пользователь-администратор, хотя есть и другой отдельный пользователь Windows 7 с именем «Администратор», который можно включить вручную после настройки начальной учетной записи - эта учетная запись является истинный «Администратор», на который не могут повлиять такие вещи, как, например, UAC.

UAC - это (прежде всего) механизм для предупреждения пользователя о том, что программа пытается получить доступ к какому-либо защищенному ресурсу, и предоставления им возможности подтвердить процедуру, введя имя пользователя / пароль. Это предоставляет пользователям лучший набор параметров безопасности, поскольку они могут авторизовать все, что им нужно для себя, на своих персональных устройствах, но они также не просто запускают программы на своем компьютере (если, конечно, они этого не разрешали).

Теперь, когда этот пользователь пытается запустить приглашение cmd, я заметил, что, если пользователь специально не запускает, например,

runas / пользователь:myonlywindowsuser cmd

Это приглашение cmd не загружает профиль пользователя (по умолчанию).

Учитывая то, что я сказал выше, кажется, не имеет особого смысла, что профиль пользователя не будет доступен для командной строки. Тем не менее, это то, что, кажется, имеет место. Мой вопрос заключается в следующем:

  • Здесь чего-то не хватает? Это действительно возможно? Без использования пароля и без настройки нескольких учетных записей - я не считаю руны реалистичным ответом, поскольку пользователь уже аутентифицировался и не просит ничего, кроме доступа к материалам, для которых ему уже не нужно запрашивать UAC.
  • Есть ли какая-то другая архитектура безопасности Windows 7, которую мне не хватает, которая на самом деле позволяет это, но совершенно другим способом?

Я скажу, что мне больше нравится концепция пространства безопасности пользователя, так что, возможно, эта проблема вызвана тем, как Windows обрабатывает всю безопасность в первую очередь?

Примечание. Мне известен следующий вопрос: Команда для запуска приложения с правами администратора, но НЕ как администратор (запрос с UAC)

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

  • Как это имеет смысл? У меня есть доступ к большему, непривилегированному профилю, когда я поднимаю консоль? Какие? Это просто постоянная ошибка?

1 ответ1

1

Я думаю, что может быть некоторое недопонимание того, как UAC Windows обрабатывает доступ администратора.

У вас есть учетная запись пользователя, UserA и учетная запись Administrator . Оба они считаются "привилегированными" учетными записями и получают административные разрешения, находясь в группе Administrator .

Когда UserA запускает процесс, вызов для создания процесса принимает токен безопасности, который указывает, должен ли этот процесс быть создан нормально или его следует повысить. Процесс с повышенными правами вызовет появление запроса UAC и будет вести себя так, как будто он входит в группу « Administrators ». Процесс без повышенных прав будет вести себя так, как будто он имеет все права и разрешения вашего пользователя, кроме тех, которые предоставлены группой « Administrators ».

Когда вы помечаете процесс для запуска в режиме администратора (на вкладке совместимости или с помощью Shift+щелчок правой кнопкой мыши ), он запускается как ваш пользователь (UserA ) в режиме повышенных прав .

Это отличается от

runas /User:Administrator

который выполняет процесс не как ваш пользователь, а как Administrator , совершенно другой профиль пользователя.


Предполагая, что вы в настоящее время используете привилегированную учетную запись (учетную запись пользователя, которая была добавлена в группу Administrators ):

Когда вы обычно запускаете cmd (Windows+R, cmd , Enter), он запускается как процесс без прав доступа под вашей учетной записью. В нем должен быть загружен ваш профиль пользователя, но он должен вести себя так, как будто он не является членом группы Administrators . Я думаю, это то, что вы просите, но я не совсем уверен.

Если вы запускаете cmd , создавая ярлык (не символическую ссылку) и выбирая "Запуск от имени администратора" в параметрах совместимости, или Shift-щелчок правой кнопкой мыши и "Запуск от имени администратора", он все равно будет появляться в вашей учетной записи пользователя с вашим профиль, но в повышенном режиме, который будет иметь полный доступ к системе.

Учитывая это, вы можете уточнить, чего именно вы пытаетесь достичь? Если вы просто щелкнете по командной строке, то по умолчанию она будет работать с наименьшими привилегиями.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .