it-swarm.com.de

Was genau macht "Als Administrator ausführen"?

Unter Windows 7 habe ich ein Befehlszeilenprogramm, das aufgrund von Fehlern beim Schreiben von Dateien fehlschlägt und bei jedem Ausführen der Befehlszeile nervige UAC -Dialogfelder auftaucht Programme, die von einem "unbekannten Verleger" stammen.

Wenn ich meine Konsole jedoch durch Klicken mit der rechten Maustaste und Auswahl von "Als Administrator ausführen" starte, funktioniert die Installation einwandfrei, auch wenn die UAC-Dialogfelder noch vorhanden sind.

Mein Benutzer ist bereits Mitglied der Gruppe "Administratoren". Was genau bewirkt "Als Administrator ausführen", dass meine Installation funktioniert?

Meine spezifische Frage lautet genau: Was macht "Als Administrator ausführen"? Keine der bisherigen Antworten spricht dies an. (Führt es beispielsweise den neuen Prozess als Administrator aus? Oder führt es den Prozess als aktueller Benutzer mit erhöhten Rechten aus? Wenn ja, welche Rechte? Wie unterscheidet sich das von den Rechten, die ich von meinem bekomme?) Benutzer in der Gruppe "Administratoren"?

(Insbesondere verwende ich die 'Konsole' von SourceForge , kein reguläres CMD-Fenster, aber ich denke nicht, dass das wichtig ist. Dies alles während der Installation von Python '. Verteilen Sie "package", indem Sie "python distribute_setup.py" auf einer neu installierten Python3-MSI von python.org ausführen. Es ist ein 32-Bit-Python unter 64-Bit-Windows. Siehe Wenn Sie Python installieren und unter Windows 7 verteilen, wird die Berechtigung "Schreiben fehlgeschlagen ..." verweigert.)

60

Wenn Sie sich anmelden, erstellt Windows ein Zugriffstoken. Dies identifiziert Sie, die Gruppen, in denen Sie Mitglied sind, und Ihre Privilegien. Beachten Sie außerdem, dass die Entscheidung, ob ein Benutzer ein Administrator ist oder nicht, davon abhängt, ob der Benutzer Mitglied der Gruppe Administratoren ist.

Wenn Sie ein Programm ohne Benutzerkontensteuerung ausführen, wird eine Kopie des Zugriffstokens abgerufen. Dadurch wird gesteuert, auf was das Programm zugreifen kann.

Wenn Sie mit der Benutzerkontensteuerung ein Programm ausführen, erhält es ein Token mit eingeschränktem Zugriff. Dies ist das ursprüngliche Zugriffstoken, bei dem "Administratoren" aus der Gruppenliste entfernt wurden (und einige andere Änderungen). Obwohl Ihr Benutzer Mitglied der Gruppe Administratoren ist, kann das Programm keine Administratorrechte verwenden.

Wenn Sie "Als Administrator ausführen" auswählen und Ihr Benutzer ein Administrator ist, wird das Programm mit dem ursprünglichen Token für uneingeschränkten Zugriff gestartet. Wenn Ihr Benutzer kein Administrator ist, werden Sie zur Eingabe eines Administratorkontos aufgefordert, und das Programm wird unter diesem Konto ausgeführt.

100
arx

Also ... mehr Graben mit dem Ergebnis. Es scheint, als hätte ich die Benutzerkontensteuerung deaktiviert, obwohl ich einen normalen Prozess und einen "Als Administrator" ausgeführt habe. Indem ich die Benutzerkontensteuerung auf Mittel stellte, konnte ich unterschiedliche Ergebnisse sehen. Grundsätzlich läuft alles auf die Integritätsstufe von 5 hinaus.

Browser werden beispielsweise auf niedriger Ebene (1) ausgeführt, während Dienste (Systembenutzer) auf Systemebene (4) ausgeführt werden. Alles ist sehr gut erklärt in Windows Integrity Mechanism Design. Wenn die Benutzerkontensteuerung aktiviert ist, werden Prozesse mit mittlerer Ebene erstellt (SID S-1-16-8192 AKA 0x2000 wird hinzugefügt), während bei "Als Administrator ausführen" der Prozess mit hoher Ebene erstellt wird (SID S-1-16-12288 aka 0x3000).

Das richtige ACCESS_TOKEN für einen normalen Benutzer (mittlere Integritätsstufe) ist also:

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.

Nun sind die Unterschiede wie folgt:

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

für "Als Admin", während

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

für Nicht-Administratoren.

Beachten Sie, dass S-1-5-32-544 BUILTIN\Administrators ist. Außerdem gibt es weniger Berechtigungen und das Wichtigste, das Sie beachten sollten:

administrator:

S-1-16-12288
Attributes - GroupIntegrity GroupIntegrityEnabled

während für Nicht-Admin:

S-1-16-8192
Attributes - GroupIntegrity GroupIntegrityEnabled

Ich hoffe das hilft.

Weitere Informationen: http://www.blackfishsoftware.com/blog/don/creating_processes_sessions_integrity_levels

10
Andrei

[~ # ~] Update [~ # ~]

"Als Administrator ausführen" ist nur ein Befehl, mit dem das Programm einige Vorgänge fortsetzen kann, für die Administratorrechte erforderlich sind, ohne dass die UAC-Warnungen angezeigt werden.

Selbst wenn Ihr Benutzer Mitglied der Administratorgruppe ist, benötigen einige Anwendungen wie Ihre die Administratorrechte, um weiter ausgeführt zu werden, da die Anwendung als nicht sicher angesehen wird, wenn sie bestimmte Vorgänge ausführt, z. B. das Bearbeiten einer Systemdatei oder etwas anderes. Aus diesem Grund benötigt Windows das Administratorrecht, um die Anwendung auszuführen, und benachrichtigt Sie mit einer UAC-Warnung. Nicht für alle Anwendungen ist ein Amnistrator-Konto erforderlich, und für einige Anwendungen, z. B. für Ihre, sind Administratorrechte erforderlich.

Wenn Sie die Anwendung mit dem Befehl "Als Administrator ausführen" ausführen, teilen Sie dem System mit, dass Ihre Anwendung sicher ist, und führen mit Ihrer Bestätigung eine Aktion aus, für die Administratorrechte erforderlich sind.

Wenn Sie dies vermeiden möchten, deaktivieren Sie einfach die Benutzerkontensteuerung in der Systemsteuerung.

Wenn Sie weiter gehen möchten, lesen Sie die Frage Unterschied zwischen "Als Administrator ausführen" und Windows 7-Administratorengruppe im Microsoft-Forum oder this SuperUser Frage.

1
Alberto Solano

Dinge wie "erhöht die Rechte", "eingeschränktes Zugriffstoken", "Administrator-Privileg" ... was zum Teufel ist Administrator-Privileg überhaupt? sind Unsinn.

Hier ist ein ACCESS_TOKEN für einen Prozess, der normalerweise von einem Benutzer ausgeführt wird, der zur Gruppe Administratoren gehört.

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

... und hier ist ein ACCESS_TOKEN für einen Prozess, der normalerweise von demselben Benutzer mit "Als Administrator ausführen" ausgeführt wird.

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

Wie Sie sehen, ist der einzige Unterschied die Token-ID:

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

vs

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

Entschuldigung, ich kann noch nicht viel Licht hinzufügen, aber ich grabe immer noch.

1
Andrei

Ein bisschen klarer ... Ein Softwareprogramm mit Kernel- Moduszugriff hat vollständigen Zugriff auf alle Daten des Computers und dessen Hardware.

Seit Windows Vista hat Microsoft alle E/A-Prozesse daran gehindert, jemals wieder direkt auf den Kernel (Ring 0) zuzugreifen. Der nächste Ordner, den wir erhalten, ist ein Ordner, der als virtuelle Kernel-Zugriffspartition erstellt wurde, aber technisch gesehen keinen Zugriff auf den Kernel selbst hat. Der Kernel trifft sich auf halbem Weg.

Dies liegt daran, dass die Software selbst festlegt, welches Token verwendet werden soll. Wenn Sie also nach einem Administratorzugriffstoken gefragt werden, werden Sie jedes Mal aufgefordert, den Zugriff auf den Kernel zuzulassen, anstatt nur die Kommunikation mit dem Kernel wie unter Windows XP zuzulassen. Wenn Sie die Benutzerkontensteuerung ändern, werden möglicherweise weniger Eingabeaufforderungen angezeigt, jedoch niemals die Kernel-Eingabeaufforderungen.

Selbst wenn Sie sich als Administrator anmelden, führen Sie Prozesse als Standardbenutzer aus, bis Sie aufgefordert werden, Ihre Rechte zu erhöhen. Ich glaube, dass Sie als Administrator angemeldet sind, um die Eingabe der Anmeldeinformationen zu verhindern. Es wird jedoch auch in die Ordnerstruktur des Administrators geschrieben.

Der Kernel-Zugriff ähnelt dem Root-Zugriff unter Linux. Wenn Sie Ihre Berechtigungen erhöhen, isolieren Sie sich vom Stammverzeichnis von C:\und den darin enthaltenen Umgebungsvariablen.

Wenn Sie sich an BSODs erinnern, wurde das Betriebssystem heruntergefahren, als angenommen wurde, dass eine fehlerhafte E/A den Kernel erreicht hatte.

0
user5244305

Der Befehl Ausführen als * Alles erspart Ihnen das Abmelden und Anmelden als der Benutzer, für den Sie den Befehl runas verwenden.

Die Grundprogramme, die nach diesem erhöhten Recht fragen, begannen mit Black Comb und dem Panther-Ordner. In Windows gibt es keinen Zugriff auf den Kernel, es sei denn, dies geschieht über die Administrator-Eingabeaufforderung, und dann handelt es sich nur um eine virtuelle Beziehung zum O/S-Kernel.

Hoorah!

0
user5244305

Okay, lassen Sie uns noch einmal wiederholen ...

Die eigentliche Frage (und eine ausgezeichnete dazu)

" Was bedeutet" Als Administrator ausführen ", wenn Sie nicht Mitglied der Administratorgruppe sind? "

(Antwort 1. Sie können Administratorrechte während einer Benutzersitzung aufrufen.

Hinweis: Die Frage ist falsch gestellt. Einer ist ein Befehl und der andere ist ein Gruppenobjekt zum Anwenden von Richtlinien.

Öffnen Sie eine Eingabeaufforderung und geben Sie runas /?.

Dies listet alle Schalter auf, die die runas Befehlszeile verwenden kann.

Die Administratorengruppe basiert auf GPEDIT oder SECPOL und darauf, ob ein Domänenadministrator vorhanden ist oder nicht oder ob ein Netzwerk vorhanden ist oder nicht.

In der Regel gelten für diese Dinge Einschränkungen für Computer, von denen die Administratorgruppe nicht betroffen ist.

Die Frage sollte sein

Was macht runas admin, das als Benutzer nicht läuft?

OR

Was macht die Administratorgruppe, was eine angepasste Benutzergruppe nicht kann?

Sie mischen Äpfel und Orangen.

0
user5244305

Windows 7 erfordert, dass Sie absichtlich nach bestimmten Berechtigungen fragen, damit ein Schadprogramm Ihnen keine schlechten Dinge antun kann. Wenn der kostenlose Rechner, den Sie heruntergeladen haben, als Administrator ausgeführt werden muss, wissen Sie, dass etwas nicht stimmt. Es gibt Betriebssystembefehle zum Erhöhen der Berechtigungen Ihrer Anwendung (die vom Benutzer eine Bestätigung anfordern).

Eine gute Beschreibung finden Sie unter:

http://msdn.Microsoft.com/en-us/magazine/cc163486.aspx#S4

0
vextorspace