Desktopsicherheit und -zugriffsrechte

Mit Sicherheit können Sie den Zugriff auf Desktopobjekte steuern. Weitere Informationen zur Sicherheit finden Sie unter Access-Control Model.

Sie können einen Sicherheitsdeskriptor für ein Desktopobjekt angeben, wenn Sie die Funktion CreateDesktop oder CreateDesktopEx aufrufen. Wenn Sie NULL angeben, ruft der Desktop einen Standardsicherheitsdeskriptor ab. Die ACLs im Standardsicherheitsdeskriptor für einen Desktop stammen von der übergeordneten Fensterstation.

Um den Sicherheitsdeskriptor eines Fensterstationsobjekts abzurufen oder festzulegen, rufen Sie die Funktionen GetSecurityInfo und SetSecurityInfo auf.

Wenn Sie die Funktion OpenDesktop oder OpenInputDesktop aufrufen, überprüft das System die angeforderten Zugriffsrechte mit dem Sicherheitsdeskriptor des Objekts.

Zu den gültigen Zugriffsrechten für Desktopobjekte gehören die Standardzugriffsrechte und einige objektspezifische Zugriffsrechte. In der folgenden Tabelle sind die Standardzugriffsrechte aufgeführt, die von allen Objekten verwendet werden.

Wert Bedeutung
DELETE (0x00010000L) Erforderlich, um das Objekt zu löschen.
READ_CONTROL (0x00020000L) Erforderlich, um Informationen im Sicherheitsdeskriptor für das Objekt zu lesen, ohne dass die Informationen in der SACL enthalten sind. Zum Lesen oder Schreiben der SACL müssen Sie das zugriffsrecht ACCESS_SYSTEM_SECURITY anfordern. Weitere Informationen finden Sie unter SACL-Zugriffsrecht.
SYNCHRONIZE (0x00100000L) Wird für Desktopobjekte nicht unterstützt.
WRITE_DAC (0x00040000L) Erforderlich, um die DACL im Sicherheitsdeskriptor für das -Objekt zu ändern.
WRITE_OWNER (0x00080000L) Erforderlich, um den Besitzer im Sicherheitsdeskriptor für das Objekt zu ändern.

 

In der folgenden Tabelle sind die objektspezifischen Zugriffsrechte aufgeführt.

Zugriffsrecht BESCHREIBUNG
DESKTOP_CREATEMENU (0x0004L) Erforderlich, um ein Menü auf dem Desktop zu erstellen.
DESKTOP_CREATEWINDOW (0x0002L) Erforderlich, um ein Fenster auf dem Desktop zu erstellen.
DESKTOP_ENUMERATE (0x0040L) Erforderlich für die Aufzählung des Desktops.
DESKTOP_HOOKCONTROL (0x0008L) Erforderlich, um einen der Fensterhaken einzurichten.
DESKTOP_JOURNALPLAYBACK (0x0020L) Erforderlich, um die Journalwiedergabe auf einem Desktop auszuführen.
DESKTOP_JOURNALRECORD (0x0010L) Erforderlich zum Ausführen der Journalaufzeichnung auf einem Desktop.
DESKTOP_READOBJECTS (0x0001L) Erforderlich zum Lesen von Objekten auf dem Desktop.
DESKTOP_SWITCHDESKTOP (0x0100L) Erforderlich, um den Desktop mit der SwitchDesktop-Funktion zu aktivieren.
DESKTOP_WRITEOBJECTS (0x0080L) Erforderlich zum Schreiben von Objekten auf dem Desktop.

 

Im Folgenden finden Sie die generischen Zugriffsrechte für ein Desktopobjekt, das in der interaktiven Fensterstation der Anmeldesitzung des Benutzers enthalten ist.

Zugriffsrecht BESCHREIBUNG
GENERIC_READ
DESKTOP_ENUMERATE
DESKTOP_READOBJECTS
STANDARD_RIGHTS_READ
GENERIC_WRITE
DESKTOP_CREATEMENU
DESKTOP_CREATEWINDOW
DESKTOP_HOOKCONTROL
DESKTOP_JOURNALPLAYBACK
DESKTOP_JOURNALRECORD
DESKTOP_WRITEOBJECTS
STANDARD_RIGHTS_WRITE
GENERIC_EXECUTE
DESKTOP_SWITCHDESKTOP
STANDARD_RIGHTS_EXECUTE
GENERIC_ALL
DESKTOP_CREATEMENU
DESKTOP_CREATEWINDOW
DESKTOP_ENUMERATE
DESKTOP_HOOKCONTROL
DESKTOP_JOURNALPLAYBACK
DESKTOP_JOURNALRECORD
DESKTOP_READOBJECTS
DESKTOP_SWITCHDESKTOP
DESKTOP_WRITEOBJECTS
STANDARD_RIGHTS_REQUIRED

 

Sie können das ACCESS_SYSTEM_SECURITY Zugriffsrecht auf ein Desktopobjekt anfordern, wenn Sie die SACL des Objekts lesen oder schreiben möchten. Weitere Informationen finden Sie unter Zugriffssteuerungslisten (Access-Control Lists, ACLs) und SACL-Zugriffsberechtigung.