Sicherheit und Zugriffsrechte für Auftragsobjekt
Mit dem Microsoft Windows-Sicherheitsmodell können Sie den Zugriff auf Auftragsobjekte steuern. Weitere Informationen zur Sicherheit finden Sie unter Access-Control Model.
Sie können eine Sicherheitsbeschreibung für ein Auftragsobjekt angeben, wenn Sie die CreateJobObject-Funktion aufrufen. Wenn Sie NULL angeben, ruft das Auftragsobjekt einen Standardsicherheitsdeskriptor ab. Die ACLs in der Standardsicherheitsbeschreibung für ein Auftragsobjekt stammen aus dem primären Token oder Identitätswechseltoken des Erstellers.
Rufen Sie die Funktion GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfooder SetSecurityInfo auf, um die Sicherheitsbeschreibung für ein Auftragsobjekt zu erhalten oder zu festlegen.
Die gültigen Zugriffsrechte für Auftragsobjekte umfassen die Standardzugriffsrechte und einige auftragsspezifische 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 in der Sicherheitsbeschreibung für das Objekt zu lesen, nicht die Informationen in der SACL. Zum Lesen oder Schreiben der SACL müssen Sie das Zugriffsrecht ACCESS _ SYSTEM _ SECURITY anfordern. Weitere Informationen finden Sie unter SACL Access Right. |
| SYNCHRONIZE (0x00100000L) | Das Recht, das Objekt für die Synchronisierung zu verwenden. Dadurch kann ein Thread warten, bis sich das Objekt im signalisierten Zustand befindet. |
| WRITE _ DAC (0x00040000L) | Erforderlich, um die DACL in der Sicherheitsbeschreibung für das Objekt zu ändern. |
| WRITE _ OWNER (0x00080000L) | Erforderlich, um den Besitzer in der Sicherheitsbeschreibung für das Objekt zu ändern. |
In der folgenden Tabelle sind die auftragsspezifischen Zugriffsrechte aufgeführt.
| Wert | Bedeutung |
|---|---|
| JOB _ OBJECT _ ALL _ ACCESS (0x1F001F) | Kombiniert alle gültigen Zugriffsrechte für Auftragsobjekt. |
| JOB _ OBJECT _ ASSIGN _ PROCESS (0x0001) | Erforderlich zum Aufrufen der AssignProcessToJobObject-Funktion, um dem Auftragsobjekt Prozesse zu zuweisen. |
| JOB _ OBJECT _ QUERY (0x0004) | Erforderlich, um bestimmte Informationen zu einem Auftragsobjekt abzurufen, z. B. Attribute und Buchhaltungsinformationen (siehe QueryInformationJobObject und IsProcessInJob). |
| JOB _ OBJECT _ SET _ ATTRIBUTES (0x0002) | Erforderlich zum Aufrufen der SetInformationJobObject-Funktion zum Festlegen der Attribute des Auftragsobjekts. |
| JOB _ OBJECT _ SET _ SECURITY _ ATTRIBUTES (0x0010) | Dieses Flag wird nicht unterstützt. Sie müssen sicherheitseinschränkungen für jeden Prozess, der einem Auftragsobjekt zugeordnet ist, einzeln festlegen. Windows Server 2003 und Windows XP: Erforderlich zum Aufrufen der SetInformationJobObject-Funktion mit der JobObjectSecurityLimitInformation-Informationsklasse, um Sicherheitseinschränkungen für die Dem Auftragsobjekt zugeordneten Prozesse festlegen zu können. Die Unterstützung für dieses Flag wurde in Windows Vista und Windows Server 2008 entfernt. |
| JOB _ OBJECT _ TERMINATE (0x0008) | Erforderlich zum Aufrufen der TerminateJobObject-Funktion, um alle Prozesse im Auftragsobjekt zu beenden. |
Das von CreateJobObject zurückgegebene Handle verfügt über JOB OBJECT ALL _ _ _ ACCESS-Zugriff auf das Auftragsobjekt. Wenn Sie die OpenJobObject-Funktion aufrufen, überprüft das System die angeforderten Zugriffsrechte mit dem Sicherheitsdeskriptor des Objekts. Wenn sich ein Auftragsobjekt in einer Hierarchie geschachtelter Aufträge befindet,hat ein Aufrufer mit Zugriff auf das Auftragsobjekt implizit Zugriff auf alle untergeordneten Aufträge in der Hierarchie.
Sie können das Zugriffsrecht ACCESS _ SYSTEM _ SECURITY für ein Auftragsobjekt anfordern, wenn Sie die SACL des Objekts lesen oder schreiben möchten. Weitere Informationen finden Sie unter Zugriffssteuerungslisten (ACCESS-Control Lists, ACLs) und SACL Access Right.
Sie müssen Sicherheitseinschränkungen für jeden Prozess, der einem Auftragsobjekt zugeordnet ist, einzeln festlegen, anstatt sie für das Auftragsobjekt selbst festlegen zu müssen. Weitere Informationen finden Sie unter Prozesssicherheit und Zugriffsrechte.
Windows Server 2003 und Windows XP: Mit der Funktion SetInformationJobObject können Sie Sicherheitseinschränkungen für das Auftragsobjekt festlegen. Diese Funktion wurde in Windows Vista und Windows Server 2008 entfernt.