Повышение: получение токена администратора в учетной записи администратора по сравнению со стандартными учетными записями в Windows

2155
InterLinked

Недавно меня смутило то, как UAC работает между стандартными учетными записями и учетными записями администратора

Как все мы знаем, когда UAC включен, UAC позволяет стандартным учетным записям или учетным записям администратора в режиме одобрения администратором получать доступ к токену администратора для выполнения задач, требующих административного доступа к компьютеру, что позволяет нам переключать токены без переключения пользователей. ,

Однако, похоже, что переключение токенов не совсем то, что происходит: некоторое время назад я запустил приложение, которое модифицировало бы оболочку (explorer.exe). Я запустил программу со стандартной учетной записью, но для нее требовался повышенный доступ: поэтому я использовал UAC для предоставления учетных данных администратора, чтобы она могла завершиться. Я не видел никаких изменений в оболочке; Затем я вошел в учетную запись администратора, чьи учетные данные я использовал, и увидел, что оболочка в этой учетной записи была изменена, что, очевидно, было не тем, что я хотел

Мне показалось, что UAC был просто соглашением типа «Запуск от имени пользователя», когда он фактически запускал программу от имени этого пользователя. Это означало, что я не просто запускал его с повышенными правами: я буквально запускал программу от имени этого пользователя,

У меня вопрос: возможно ли для стандартной учетной записи использовать маркер администратора, но на самом деле запустить программу от имени обычного пользователя и использовать профиль текущего пользователя? В противном случае, мне кажется, что если вам нужно выполнить какие-либо задачи администратора, вам в значительной степени необходимо войти в учетную запись администратора, которая наносит ущерб всей цели UAC - поскольку UAC запускает программу в качестве администратора, а не использует только права администратора,

Возможно ли разделение токена и профиля? Или все пользователи просто должны быть администраторами в этом случае? Мне кажется, что это будет причиной многих организаций, просто предоставляя полный доступ администратора всем пользователям,

Может кто-нибудь, пожалуйста, пролить свет на это?

Я хотел бы знать, если бы было возможно предоставить токен администратора для указанной программы, но запустить эту программу в текущей учетной записи пользователя, а не учетной записи администратора, чьи учетные данные были предоставлены - другими словами, будет ли он иметь Можно было изменить оболочку в учетной записи Standard с этой программой? Цель состоит в том, чтобы запустить процесс как зарегистрированный пользователь (независимо от текущих привилегий) с правами администратора, а не как процесс с учетной записью с правами администратора.

Надеюсь, это имеет смысл,

ПОЯСНЕНИЕ : я не имею в виду режим одобрения администратором или работу UAC. Я уже знаю, что если для UAC задано безопасное значение, даже администраторам будет предложено, и, если оно не отключено, администраторы по умолчанию используют стандартный токен. Я говорю о том, когда маркер администратора будет достигнут, можно ли еще запустить процесс, как зарегистрированный пользователь, только с маркером администратору? (не используя Run As 'user', но, возможно, что-то вроде запуска от имени / с 'token') и т. д. Таким образом, он будет использовать общие административные привилегии, а не административные привилегии одного пользователя.

Это вообще возможно, или я только что указал на функцию не в Window?

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

ПРИМЕР : Несколько лет назад я пытался запустить программу, которая изменила бы тему моего компьютера, необходимую для исправления системы (одна из этих сторонних программ). Требуются права администратора. Я не увидел никаких изменений, но затем я вошел в учетную запись администратора, чей пароль я использовал, и обнаружил, что все действия были применены к этой учетной записи !! Мне приходилось возиться с этим несколько раз, чтобы заставить его работать, но это был действительно неудачный процесс. Будет ли самое простое решение - просто временно продвинуть эту стандартную учетную запись администратору, а затем понизить ее?

1
Я не уверен, что это отвечает на ваш конкретный вопрос, но я хотел предоставить вам два ресурса, на которые вы сможете посмотреть, подумать, потенциально протестировать и т. Д. На случай, если вы поможете решить или обойти вашу проблему. `1.` http://windows.microsoft.com/en-us/windows7/how-do-i-run-an-application-once-with-a-full-administrator-access-token и` 2.` (Читать все ответы) http://superuser.com/questions/327907/opening-explorer-shell-with-admin-privileges-on-xp-with-ie7-installed. Мне интересно, будет ли работать опция «Запускать эту программу как администратор», хотя бы согласно # 1 Pimp Juice IT 7 лет назад 0
@JUICED_IT Я прочитал обе эти статьи. Я уже знаю, как работать от имени администратора, как и в первой статье. Ссылка «Sudo для Windows» была интересной и ближе к тому, о чем я говорил - цель состояла в том, чтобы запустить процесс как зарегистрированный пользователь с правами администратора, а не как процесс под учетной записью с правами администратора, если вы знаете, что Я имею в виду InterLinked 7 лет назад 0
UAC по умолчанию НЕ запускает программу с токеном администратора. Это происходит только в том случае, если программа запрашивает разрешения администратора И если вы предоставляете ее через приглашение UAC. surfasb 7 лет назад 0
Предоставление учетной записи без прав администратора явного доступа к объектам файловой системы, разделам реестра и любым другим объектам, которыми будет управлять EXE-файл, может также помочь, а не использовать RUNAS и т. Д., Если вы можете определить, к какому из всех EXE-файлов потребуется доступ. бежать успешно. Как системный администратор, я обнаружил, что некоторые программы / приложения имеют запрограммированную логику для запуска в Windows, предполагая, что учетная запись пользователя, которая запускает это, будет локальным администратором - это определенная проблема в корпоративной среде с рекомендациями по безопасности, так что другая вещь, чтобы рассмотреть потенциально также. Pimp Juice IT 7 лет назад 0
Я очень сомневаюсь, что обычный аккаунт сможет когда-либо получить повышенный токен. Потому что это то, что тебе нужно. Daniel B 7 лет назад 1

2 ответа на вопрос

1
surfasb

You cannot have a program running under a Standard account, but with Admin permissions.

You are mistaken that UAC is a "Run as another user". Programs running under an Admin's username run with standard permissions by default. It is only when a program is "elevated" does it gain admin permissions. This is even if your user account is an Admin.

UAC was created to solve the problem that all processes running under a user who was an admin had admin permissions.

Здесь вы описываете режим одобрения администратором - я уже знаю обо всем этом; Я имею в виду, когда вы повышаете уровень процесса, возможно ли, чтобы процесс выполнялся как вошедший в систему пользователь, а не как администратор, чьи учетные данные были использованы. Вот что так запутанно. InterLinked 7 лет назад 1
Режим одобрения администратора отличается. И процесс все еще не может быть запущен с правами администратора, но под аутентификацией обычного пользователя. surfasb 7 лет назад 0
1
ZEE

Yes it is possible...
Open a console and type "runas"

use the /profile switch to select a profile to run the program... use the /savecred switch to save the admin credentials you choose... 

...

RUNAS USAGE: RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ] /user:<UserName> program RUNAS [ [/noprofile | /profile] [/env] [/savecred] ] /smartcard [/user:<UserName>] program RUNAS /trustlevel:<TrustLevel> program /noprofile specifies that the user's profile should not be loaded. This causes the application to load more quickly, but can cause some applications to malfunction. /profile specifies that the user's profile should be loaded. This is the default. /env to use current environment instead of user's. /netonly use if the credentials specified are for remote access only. /savecred to use credentials previously saved by the user. This option is not available on Windows 7 Home or Windows 7 Starter Editions and will be ignored. /smartcard use if the credentials are to be supplied from a smartcard. /user <UserName> should be in form USER@DOMAIN or DOMAIN\USER /showtrustlevels displays the trust levels that can be used as arguments to /trustlevel. /trustlevel <Level> should be one of levels enumerated in /showtrustlevels. program command line for EXE. See below for examples Examples: > runas /noprofile /user:mymachine\administrator cmd > runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc" > runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\"" NOTE: Enter user's password only when prompted. NOTE: /profile is not compatible with /netonly. NOTE: /savecred is not compatible with /smartcard. 
Я что-то здесь упускаю? Я думал, что весь смысл в том, чтобы НЕ использовать функцию запуска от имени, которая в основном является тем, что UAC InterLinked 7 лет назад 1
Huuum ... кажется невозможным .. из того, что я видел, UAC, кажется, находится близко к ядру, поэтому его нельзя превзойти с помощью какого-то программного трюка ... ZEE 7 лет назад 0
Маркер администратора - это усиление при входе в систему ... и он действителен для этого сеанса ... Я думаю, что это будет трудно ... Обычно я отключаю UAC и использую runas ... извините за ошибку ...: - ( ZEE 7 лет назад 0
Токен администратора получен при входе в систему - я не уверен, имеет ли это смысл, потому что стандартные учетные записи все еще могут запускать процесс в качестве администратора, если включен контроль учетных записей. InterLinked 7 лет назад 0
Тьфу, это не сработает. То, что процесс аутентифицируется как администратор, не означает, что у него есть полномочия администратора. И нет, это не то, что делает UAC. С UAC токен администратора (авторизация) ** не ** предоставляется при входе в систему. Без UAC токен администратора предоставляется при входе в систему. surfasb 7 лет назад 0

Похожие вопросы