Co dokładnie robi "Uruchom jako administrator"? [zamknięte]

zamknięte. to pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi.

chcesz poprawić to pytanie? Update the pytanie więc to on-topic {[3] } dla przepełnienia stosu.

Zamknięte 2 lata temu .

Popraw to pytanie

W systemie Windows 7 mam program wiersza poleceń, który nie działa z powodu błędów uprawnień do zapisu plików i wyskakuje irytujące okno dialogowe UAC za każdym razem, gdy uruchamiam programy wiersza poleceń, które są od "nieznanego wydawcy".

Jeśli jednak uruchamiam konsolę klikając prawym przyciskiem myszy i wybierając opcję "Uruchom jako administrator", instalacja działa poprawnie, nawet jeśli okna dialogowe UAC są nadal obecne.

Mój użytkownik jest już członkiem grupy "Administratorzy", więc co dokładnie robi "Uruchom jako administrator", co sprawia, że moja instalacja działa?

Moje konkretne pytanie brzmi dokładnie: co robi "Uruchom jako administrator"? Żadna z odpowiedzi do tej pory nie odnosi się do tego. (np. czy to uruchomić nowy proces jako użytkownik 'Administrator'? A może uruchamia proces jako bieżący użytkownik, ale z podwyższonymi uprawnieniami? Jeśli tak, to jakie przywileje? Czym to się różni od uprawnień, które uzyskuję od tego, że mój użytkownik jest w grupie "Administratorzy"?

(konkretnie, używam 'konsoli' z SourceForge, nie zwykłego okna CMD, ale nie sądzę, że to ważne. To wszystko podczas instalowania pakietu "distribute" Pythona, uruchamiając "python distribute_setup.py" na nowo zainstalowany Python3 MSI z python.org. to 32-bitowy Python na 64-bitowym systemie Windows. Zobacz też instalacja Pythona i dystrybucji w systemie Windows 7 daje " Pisanie nie powiodło się ... odmowa zgody")

Author: Community, 2012-01-24

8 answers

Po zalogowaniu Windows tworzy token dostępu. Identyfikuje cię, grupy, do których jesteś członkiem i twoje przywileje. I pamiętaj, że to, czy użytkownik jest administratorem, czy nie, zależy od tego, czy jest członkiem grupy Administratorzy.

Bez UAC, po uruchomieniu programu otrzymuje on kopię tokena dostępu, a to kontroluje, do czego program może uzyskać dostęp.

Z UAC, po uruchomieniu programu dostaje token ograniczonego dostępu. To jest oryginał token dostępu z "Administratorzy" usunięte z listy grup (i kilka innych zmian). Nawet jeśli użytkownik jest członkiem grupy Administratorzy, program nie może korzystać z uprawnień administratora.

Po wybraniu opcji "Uruchom jako Administrator", a twój użytkownik jest administratorem, program zostanie uruchomiony z oryginalnym tokenem nieograniczonego dostępu. Jeśli użytkownik nie jest administratorem, zostanie wyświetlony monit o utworzenie konta administratora, a program zostanie uruchomiony na tym koncie.

 106
Author: arx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-28 22:03:24

Więc ... więcej kopania, z wynikiem. Wydaje się, że chociaż uruchomiłem jeden proces normalny i jeden "jako Administrator", miałem wyłączony UAC. Zmiana UAC na medium pozwoliła mi zobaczyć różne wyniki. Zasadniczo wszystko sprowadza się do poziomu integralności, który wynosi 5.

Na przykład przeglądarki działają na niskim poziomie (1), podczas gdy usługi (użytkownik systemowy) działają na poziomie systemu (4). Wszystko jest bardzo dobrze wyjaśnione w konstrukcja mechanizmu integralności systemu Windows . Gdy UAC jest włączony, procesy są created with Medium level (SID S-1-16-8192 AKA 0x2000 jest dodany) podczas gdy "Uruchom jako Administrator", Proces jest tworzony z wysokim poziomem (SID S-1-16-12288 aka 0x3000).

Więc poprawny ACCESS_TOKEN dla normalnego użytkownika (średni poziom integralności) to:

0:000:x86> !token
Thread is not impersonating. Using process token...
TS Session ID: 0x1
User: S-1-5-21-1542574918-171588570-488469355-1000
Groups:
 00 S-1-5-21-1542574918-171588570-488469355-513
    Attributes - Mandatory Default Enabled
 01 S-1-1-0
    Attributes - Mandatory Default Enabled
 02 S-1-5-32-544
    Attributes - DenyOnly
 03 S-1-5-32-545
    Attributes - Mandatory Default Enabled
 04 S-1-5-4
    Attributes - Mandatory Default Enabled
 05 S-1-2-1
    Attributes - Mandatory Default Enabled
 06 S-1-5-11
    Attributes - Mandatory Default Enabled
 07 S-1-5-15
    Attributes - Mandatory Default Enabled
 08 S-1-5-5-0-1908477
    Attributes - Mandatory Default Enabled LogonId
 09 S-1-2-0
    Attributes - Mandatory Default Enabled
 10 S-1-5-64-10
    Attributes - Mandatory Default Enabled
 11 S-1-16-8192
    Attributes - GroupIntegrity GroupIntegrityEnabled
Primary Group:   LocadDumpSid failed to dump Sid at addr 000000000266b458, 0xC0000078; try own SID dump.
s-1-0x515000000
Privs:
 00 0x000000013 SeShutdownPrivilege               Attributes -
 01 0x000000017 SeChangeNotifyPrivilege           Attributes - Enabled Default
 02 0x000000019 SeUndockPrivilege                 Attributes -
 03 0x000000021 SeIncreaseWorkingSetPrivilege     Attributes -
 04 0x000000022 SeTimeZonePrivilege               Attributes -
Auth ID: 0:1d1f65
Impersonation Level: Anonymous
TokenType: Primary
Is restricted token: no.

Teraz różnice są następujące:

S-1-5-32-544
Attributes - Mandatory Default Enabled Owner

Dla "jako Admin", natomiast

S-1-5-32-544
Attributes - DenyOnly

Dla nie-adminów.

Zauważ, że S-1-5-32-544 is BUILTIN\Administrators. Ponadto jest mniej przywilejów, a najbardziej ważna rzecz do zauważenia:

Admin:

S-1-16-12288
Attributes - GroupIntegrity GroupIntegrityEnabled

While for non-admin:

S-1-16-8192
Attributes - GroupIntegrity GroupIntegrityEnabled
Mam nadzieję, że to pomoże.

Czytaj dalej: http://www.blackfishsoftware.com/blog/don/creating_processes_sessions_integrity_levels

 10
Author: Andrei,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-31 17:00:27

UPDATE

"Uruchom jako Aministrator" to tylko polecenie, umożliwiające programowi kontynuowanie niektórych operacji wymagających uprawnień administratora, bez wyświetlania alertów UAC.

Nawet jeśli twój użytkownik jest członkiem grupy administrators, niektóre aplikacje, takie jak twoja, potrzebują uprawnień administratora, aby kontynuować działanie, ponieważ aplikacja jest uważana za niebezpieczną, jeśli wykonuje jakąś specjalną operację, taką jak edycja pliku systemowego lub coś innego. To jest powód, dla którego System Windows potrzebuje uprawnień administratora do uruchomienia aplikacji i powiadamia Cię o tym alertem UAC. Nie wszystkie aplikacje potrzebują konta Amnistrator do uruchomienia, a niektóre aplikacje, takie jak twoja, potrzebują uprawnień administratora.

Jeśli wykonasz aplikację poleceniem "Uruchom jako administrator", powiadamiasz system, że Twoja aplikacja jest bezpieczna i robisz coś, co wymaga uprawnień administratora, z potwierdzeniem.

Jeśli chcesz uniknąć to, po prostu wyłącz UAC na panelu sterowania.

Jeśli chcesz iść dalej, przeczytaj pytanie różnica między "Uruchom jako Administrator" a grupą administratorów Windows 7 na forum Microsoft lub to SuperUser pytanie.

 3
Author: Alberto Solano,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-20 10:04:20

Rzeczy takie jak "podnosi przywileje", "Token ograniczonego dostępu", "uprawnienia administratora"... co to w ogóle za uprawnienia administratora? to nonsens.

Tutaj jest access_token dla procesu normalnie uruchamianego przez użytkownika należącego do grupy Administrators.

0: kd> !process 0 1 test.exe
PROCESS 87065030  SessionId: 1  Cid: 0d60    Peb: 7ffdf000  ParentCid: 0618
    DirBase: 2f22e1e0  ObjectTable: a0c8a088  HandleCount:   6.
    Image: test.exe
    VadRoot 8720ef50 Vads 18 Clone 0 Private 83. Modified 0. Locked 0.
    DeviceMap 8936e560
    Token                             935c98e0
0: kd> !token -n 935c98e0
_TOKEN 935c98e0
TS Session ID: 0x1
User: S-1-5-21-2452432034-249115698-1235866470-1000 (no name mapped)
User Groups: 
 00 S-1-5-21-2452432034-249115698-1235866470-513 (no name mapped)
    Attributes - Mandatory Default Enabled 
 01 S-1-1-0 (Well Known Group: localhost\Everyone)
    Attributes - Mandatory Default Enabled 
 02 S-1-5-32-544 (Alias: BUILTIN\Administrators)
    Attributes - Mandatory Default Enabled Owner 
 03 S-1-5-32-545 (Alias: BUILTIN\Users)
    Attributes - Mandatory Default Enabled 
 04 S-1-5-4 (Well Known Group: NT AUTHORITY\INTERACTIVE)
    Attributes - Mandatory Default Enabled 
 05 S-1-2-1 (Well Known Group: localhost\CONSOLE LOGON)
    Attributes - Mandatory Default Enabled 
 06 S-1-5-11 (Well Known Group: NT AUTHORITY\Authenticated Users)
    Attributes - Mandatory Default Enabled 
 07 S-1-5-15 (Well Known Group: NT AUTHORITY\This Organization)
    Attributes - Mandatory Default Enabled 
 08 S-1-5-5-0-85516 (no name mapped)
    Attributes - Mandatory Default Enabled LogonId 
 09 S-1-2-0 (Well Known Group: localhost\LOCAL)
    Attributes - Mandatory Default Enabled 
 10 S-1-5-64-10 (Well Known Group: NT AUTHORITY\NTLM Authentication)
    Attributes - Mandatory Default Enabled 
 11 S-1-16-12288 (Label: Mandatory Label\High Mandatory Level)
    Attributes - GroupIntegrity GroupIntegrityEnabled 
Primary Group: S-1-5-21-2452432034-249115698-1235866470-513 (no name mapped)
Privs: 
 05 0x000000005 SeIncreaseQuotaPrivilege          Attributes - 
 08 0x000000008 SeSecurityPrivilege               Attributes - 
 09 0x000000009 SeTakeOwnershipPrivilege          Attributes - 
 10 0x00000000a SeLoadDriverPrivilege             Attributes - 
 11 0x00000000b SeSystemProfilePrivilege          Attributes - 
 12 0x00000000c SeSystemtimePrivilege             Attributes - 
 13 0x00000000d SeProfileSingleProcessPrivilege   Attributes - 
 14 0x00000000e SeIncreaseBasePriorityPrivilege   Attributes - 
 15 0x00000000f SeCreatePagefilePrivilege         Attributes - 
 17 0x000000011 SeBackupPrivilege                 Attributes - 
 18 0x000000012 SeRestorePrivilege                Attributes - 
 19 0x000000013 SeShutdownPrivilege               Attributes - 
 20 0x000000014 SeDebugPrivilege                  Attributes - 
 22 0x000000016 SeSystemEnvironmentPrivilege      Attributes - 
 23 0x000000017 SeChangeNotifyPrivilege           Attributes - Enabled Default 
 24 0x000000018 SeRemoteShutdownPrivilege         Attributes - 
 25 0x000000019 SeUndockPrivilege                 Attributes - 
 28 0x00000001c SeManageVolumePrivilege           Attributes - 
 29 0x00000001d SeImpersonatePrivilege            Attributes - Enabled Default 
 30 0x00000001e SeCreateGlobalPrivilege           Attributes - Enabled Default 
 33 0x000000021 SeIncreaseWorkingSetPrivilege     Attributes - 
 34 0x000000022 SeTimeZonePrivilege               Attributes - 
 35 0x000000023 SeCreateSymbolicLinkPrivilege     Attributes - 
Authentication ID:         (0,14e4c)
Impersonation Level:       Anonymous
TokenType:                 Primary
Source: User32             TokenFlags: 0x2000 ( Token in use )
Token ID: d166b            ParentToken ID: 0
Modified ID:               (0, d052f)
RestrictedSidCount: 0      RestrictedSids: 00000000
OriginatingLogonSession: 3e7

... a tutaj jest ACCESS_TOKEN dla procesu normalnie uruchamianego przez tego samego Użytkownika z "Run as administrator".

TS Session ID: 0x1
User: S-1-5-21-2452432034-249115698-1235866470-1000 (no name mapped)
User Groups: 
 00 S-1-5-21-2452432034-249115698-1235866470-513 (no name mapped)
    Attributes - Mandatory Default Enabled 
 01 S-1-1-0 (Well Known Group: localhost\Everyone)
    Attributes - Mandatory Default Enabled 
 02 S-1-5-32-544 (Alias: BUILTIN\Administrators)
    Attributes - Mandatory Default Enabled Owner 
 03 S-1-5-32-545 (Alias: BUILTIN\Users)
    Attributes - Mandatory Default Enabled 
 04 S-1-5-4 (Well Known Group: NT AUTHORITY\INTERACTIVE)
    Attributes - Mandatory Default Enabled 
 05 S-1-2-1 (Well Known Group: localhost\CONSOLE LOGON)
    Attributes - Mandatory Default Enabled 
 06 S-1-5-11 (Well Known Group: NT AUTHORITY\Authenticated Users)
    Attributes - Mandatory Default Enabled 
 07 S-1-5-15 (Well Known Group: NT AUTHORITY\This Organization)
    Attributes - Mandatory Default Enabled 
 08 S-1-5-5-0-85516 (no name mapped)
    Attributes - Mandatory Default Enabled LogonId 
 09 S-1-2-0 (Well Known Group: localhost\LOCAL)
    Attributes - Mandatory Default Enabled 
 10 S-1-5-64-10 (Well Known Group: NT AUTHORITY\NTLM Authentication)
    Attributes - Mandatory Default Enabled 
 11 S-1-16-12288 (Label: Mandatory Label\High Mandatory Level)
    Attributes - GroupIntegrity GroupIntegrityEnabled 
Primary Group: S-1-5-21-2452432034-249115698-1235866470-513 (no name mapped)
Privs: 
 05 0x000000005 SeIncreaseQuotaPrivilege          Attributes - 
 08 0x000000008 SeSecurityPrivilege               Attributes - 
 09 0x000000009 SeTakeOwnershipPrivilege          Attributes - 
 10 0x00000000a SeLoadDriverPrivilege             Attributes - 
 11 0x00000000b SeSystemProfilePrivilege          Attributes - 
 12 0x00000000c SeSystemtimePrivilege             Attributes - 
 13 0x00000000d SeProfileSingleProcessPrivilege   Attributes - 
 14 0x00000000e SeIncreaseBasePriorityPrivilege   Attributes - 
 15 0x00000000f SeCreatePagefilePrivilege         Attributes - 
 17 0x000000011 SeBackupPrivilege                 Attributes - 
 18 0x000000012 SeRestorePrivilege                Attributes - 
 19 0x000000013 SeShutdownPrivilege               Attributes - 
 20 0x000000014 SeDebugPrivilege                  Attributes - 
 22 0x000000016 SeSystemEnvironmentPrivilege      Attributes - 
 23 0x000000017 SeChangeNotifyPrivilege           Attributes - Enabled Default 
 24 0x000000018 SeRemoteShutdownPrivilege         Attributes - 
 25 0x000000019 SeUndockPrivilege                 Attributes - 
 28 0x00000001c SeManageVolumePrivilege           Attributes - 
 29 0x00000001d SeImpersonatePrivilege            Attributes - Enabled Default 
 30 0x00000001e SeCreateGlobalPrivilege           Attributes - Enabled Default 
 33 0x000000021 SeIncreaseWorkingSetPrivilege     Attributes - 
 34 0x000000022 SeTimeZonePrivilege               Attributes - 
 35 0x000000023 SeCreateSymbolicLinkPrivilege     Attributes - 
Authentication ID:         (0,14e4c)
Impersonation Level:       Anonymous
TokenType:                 Primary
Source: User32             TokenFlags: 0x2000 ( Token in use )
Token ID: ce282            ParentToken ID: 0
Modified ID:               (0, cddbd)
RestrictedSidCount: 0      RestrictedSids: 00000000
OriginatingLogonSession: 3e7

Jak widzisz, jedyną różnicą jest token ID:

Token ID: d166b            ParentToken ID: 0
Modified ID:               (0, d052f)

Vs

Token ID: ce282            ParentToken ID: 0
Modified ID:               (0, cddbd)

Przepraszam, nie mogę dodać do tego jeszcze wiele światła, ale wciąż kopię.

 1
Author: Andrei,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-27 14:00:42

Windows 7 wymaga, abyś celowo poprosił o określone uprawnienia, aby złośliwy program nie mógł zrobić ci złych rzeczy. Jeśli pobrany darmowy kalkulator musi być uruchomiony jako administrator, wiedziałbyś, że coś się dzieje. Istnieją polecenia systemu operacyjnego, aby podnieść uprawnienia aplikacji (która zażąda potwierdzenia od użytkownika).

Dobry opis znajdziesz na stronie:

Http://msdn.microsoft.com/en-us/magazine/cc163486.aspx#S4

 0
Author: vextorspace,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-24 12:50:04

Polecenie Run as * Anything chroni przed wylogowaniem i zalogowaniem się jako użytkownik, dla którego używasz polecenia runas.

Powód, dla którego programy proszą o to podwyższone przywileje, zaczął się od Czarnego grzebienia i folderu Pantera. Istnieje 0 dostępu do jądra w systemie windows, chyba że poprzez monit administratora, a następnie jest to tylko wirtualna relacja z jądrem O / s.

Hoorah!

 0
Author: user5244305,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-19 16:29:20

Trochę jaśniej... Program, który ma dostęp do trybu jądra , ma całkowity dostęp do wszystkich danych komputera i jego sprzętu.

Ponieważ Windows Vista Microsoft wstrzymał wszystkie procesy wejścia/Wyjścia od bezpośredniego dostępu do jądra (pierścień 0) nigdy więcej. Najbliższy nam jest folder utworzony jako wirtualna partycja dostępu do jądra, ale technicznie nie ma dostępu do samego jądra; jądro spotyka się w połowie drogi.

Dzieje się tak dlatego, że samo oprogramowanie dyktuje, który token aby użyć, więc jeśli prosi o token dostępu administratora, zamiast po prostu zezwalać na komunikację z jądrem, jak w systemie Windows XP, jesteś proszony o zezwolenie dostępu do jądra, za każdym razem. Zmiana UAC może zmniejszyć monity, ale nigdy monity jądra.

Nawet gdy logujesz się jako Administrator, uruchamiasz procesy jako standardowy użytkownik, dopóki nie pojawi się monit o podniesienie posiadanych praw. Wierzę, że zalogowany jako administrator oszczędza przed wpisaniem danych uwierzytelniających. Ale to zapisuje również do struktury folderów użytkowników administratora.

Dostęp do jądra jest podobny do dostępu roota w Linuksie. Kiedy podnosisz swoje uprawnienia, izolujesz się od korzenia C:\ i wszelkich zmiennych środowiskowych zawartych w nim.

Jeśli pamiętasz BSODs to był wyłączanie systemu operacyjnego, gdy uważał, że złe We / Wy dotarło do jądra.

 0
Author: user5244305,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-11 16:26:57

Dobra, powtórzmy to...

Pytanie rzeczywiste (i w tym doskonałe)

"co robi "run as admin", czego nie robi członek grupy Administratorzy?"

[2] [odpowiedz] Pozwala na wywołanie uprawnień administratora podczas sesji użytkownika.

Uwaga: pytanie jest błędnie postawione; jedno jest poleceniem, a drugie jest obiektem grupy do stosowania zasad.

Otwórz wiersz polecenia i wpisz runas /?.

Wyświetli listę wszystkich przełączników, których może użyć linia poleceń runas.

Jeśli chodzi o grupę Administrators to jest to oparte na GPEDIT lub SECPOL i czy administrator domeny jest obecny, czy nie, czy sieć jest obecna, czy nie.

Zazwyczaj te rzeczy będą stosować ograniczenia na komputerach, na które grupa Administratorzy nie ma wpływu.

Pytanie powinno brzmieć

Co robi Runas admin, który działa tak jak użytkownik nie?

Lub

Co robi Grupa administratora, której niestandardowa grupa użytkowników nie może?

Mieszasz jabłka i pomarańcze.
 0
Author: user5244305,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-11 16:31:15