Есть ли способ (при входе в систему в качестве администратора или члена группы администраторов) маскироваться под непривилегированного пользователя? Особенно в среде AD.
например, в мире Unix я мог бы сделать следующее (как root):
# whoami
root
# su johnsmith
johnsmith> whoami
johnsmith
johnsmith> exit
# exit
Мне нужно что-то проверить / настроить в учетной записи пользователя, и я не хочу знать его пароль или менять его.
Изменить:
runas
не будет сокращать это. В идеале весь мой рабочий стол должен стать пользователем и т. Д., А не только в окне cmd.
Ответы:
Я почти уверен, что не существует поддерживаемого способа работать от имени другого пользователя без учетных данных этого пользователя. Это безотказная мера. Кто-то не может сказать: «Я этого не делал», потому что либо они это сделали, либо кто-то со своими полномочиями сделал это. И на секунду они должны были бы дать другому человеку полномочия.
Обычно, когда я вхожу в систему как другой пользователь, я делаю то, что мне нужно, - это использовать удаленную помощь, по сути, для RDP в сеансе, чтобы они предоставили мне контроль. Тогда я делаю что угодно, пока они смотрят (предположительно, в любом случае).
Все остальное обычно можно сделать с помощью GPO / скриптов.
источник
Я заметил, что многие другие люди упоминали о вариациях команды runas и о том, как вам нужно знать пароль пользователя, что является правдой, но я не думаю, что кто-то тихо ответил на вопрос. «желая, чтобы весь рабочий стол стал пользователем и т. д., а не только в окне cmd». Вот как я это делаю:
Примечание : я собираюсь ссылаться на эту первую командную строку как CP1, чтобы позже избежать путаницы.
Под учетной записью администратора откройте командную строку
Для локального аккаунта
Для учетной записи домена
ИЛИ способ, которым я предпочитаю это
Примечание. Откроется новая командная строка (CP2). Это пользователь, с которым вы пытаетесь войти.
Откройте CP1 и введите:
Откройте CP2 и введите:
В зависимости от компьютера, он может создать профиль для пользователя, если он никогда не входил там ранее. Вы можете сэкономить время, оставив окна командной строки открытыми для последующего использования.
Когда вы закончите со своей работой, просто сделайте то же самое в обратном порядке.
В типе CP2:
Откройте CP1 и введите:
Теперь вы должны вернуться к первоначальной учетной записи администратора. Вы можете сделать быструю проверку, нажав клавишу Windows и ища текущую панель пользователя.
Надеюсь, это помогло.
источник
В Windows нет встроенного механизма для этого. Это может быть сделано, но вам нужно будет что-то написать, чтобы делать то, что вы хотите, и вам, вероятно, придется возиться с недокументированными API.
Один из постеров здесь, grawity, имеет право без вызова CreateProcessAsUser (), но сначала вам нужно будет создать токен с недокументированным нативным API zwCreateToken. Если вы убили Проводник и запустили новый экземпляр Проводника с CreateProcessAsUser (), я вполне уверен, что вы получите то, что хотите.
Microsoft не делает то, что вы хотите, легко, потому что не так, как они хотят, чтобы вы использовали NT. Если вам нужно войти в систему как пользователь для устранения проблем, в большинстве случаев вы решаете эту проблему неоптимальным образом.
Вы можете вносить изменения в реестр пользователя, не входя в систему как они (прикрепляя куст реестра и манипулируя им таким образом). Вы можете вносить изменения в файлы в их профиле пользователя, не входя в систему как пользователь. Если вам нужно «настроить электронную почту» или выполнять другие подобные действия «как пользователь», вы должны писать сценарии или использовать встроенные функции (административные шаблоны групповой политики, предпочтения и т. Д.), Чтобы выполнить свою грязную работу за вас.
Если вам нужно сделать это, взгляните на RunAsEx на Code Project. Этот код должен дать вам довольно хорошее представление о том, что вам нужно сделать. Я не пробовал программу, но похоже, что все идет правильно.
источник
Вы можете использовать следующую команду в Windows XP и более поздних версиях:
Параметры командной строки доступны здесь .
Это не будет работать без знания пароля пользователя. Я не верю, что в Windows есть способ работать под учетной записью пользователя без пароля из-за загрузки идентификаторов безопасности.
источник
(Просто предположение.) Если у вас есть учетная запись
SeCreateTokenPrivilege
, вы можете написать небольшую программу для создания процесса, использующегоCreateProcessAsUser()
или аналогичную функцию ... (Но даже администраторы не имеют привилегии по умолчанию.)источник
Хотя у меня нет личного опыта использования некоторых решений sudo, упомянутых на этом сайте, я настоятельно рекомендую nonadmin, созданный отличным Аароном Маргозисом . Это огромная помощь, когда вы запускаете пользователей с ограниченными правами. Я в основном прыгнул с чем-то, так как все остальные говорят, что используют Runas Тем не менее, я думаю, что большинство или все из этих так называемых sudo для окон больше связаны с повышением прав, чем с действиями другого пользователя без их пароля.
источник
В Process Explorer procxp.exe на http://live.sysinternals.com есть пользователь с ограниченными правами (в меню «Файл»), который позволяет запускать программу с использованием текущих учетных данных, но с ACL, сокращенным до обычного. пользователь (не администратор) пользователь. Не то, что вы хотели, но хорошо для тестирования.
источник