Sicurezza e diritti di accesso degli oggetti processo
Il modello di sicurezza di Microsoft Windows consente di controllare l'accesso agli oggetti processo. Per altre informazioni sulla sicurezza, vedere Access-Control Model.For more information about security, see Access-Control Model.
È possibile specificare un descrittore di sicurezza per un oggetto processo quando si chiama la funzione CreateJobObject . Se si specifica NULL, l'oggetto processo ottiene un descrittore di sicurezza predefinito. Gli ACL nel descrittore di sicurezza predefinito per un oggetto processo provengono dal token primario o di rappresentazione dell'autore.
Per ottenere o impostare il descrittore di sicurezza per un oggetto processo, chiamare la funzione GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo o SetSecurityInfo .
I diritti di accesso validi per gli oggetti processo includono i diritti di accesso standard e alcuni diritti di accesso specifici del processo. Nella tabella seguente sono elencati i diritti di accesso standard utilizzati da tutti gli oggetti .
Valore | Significato |
---|---|
DELETE (0x00010000L) | Obbligatorio per eliminare l'oggetto. |
READ_CONTROL (0x00020000L) | Necessario per leggere le informazioni nel descrittore di sicurezza per l'oggetto, senza includere le informazioni nell'elenco SACL. Per leggere o scrivere SACL, è necessario richiedere il diritto di accesso ACCESS_SYSTEM_SECURITY . Per altre informazioni, vedere SACL Access Right.For more information, see SACL Access Right. |
SYNCHRONIZE (0x00100000L) | Diritto di utilizzare l'oggetto per la sincronizzazione. Ciò consente a un thread di attendere fino a quando l'oggetto non è nello stato segnalato. |
WRITE_DAC (0x00040000L) | Obbligatorio per modificare l'elenco di controllo di accesso alla riga di comando nel descrittore di sicurezza per l'oggetto . |
WRITE_OWNER (0x00080000L) | Obbligatorio per modificare il proprietario nel descrittore di sicurezza per l'oggetto . |
Nella tabella seguente sono elencati i diritti di accesso specifici del processo.
Valore | Significato |
---|---|
JOB_OBJECT_ALL_ACCESS (0x1F001F) | Combina tutti i diritti di accesso agli oggetti processo validi. |
JOB_OBJECT_ASSIGN_PROCESS (0x0001) | Necessario per chiamare la funzione AssignProcessToJobObject per assegnare processi all'oggetto processo. |
JOB_OBJECT_QUERY (0x0004) | Necessario per recuperare determinate informazioni su un oggetto processo, ad esempio attributi e informazioni di contabilità (vedere QueryInformationJobObject e IsProcessInJob). |
JOB_OBJECT_SET_ATTRIBUTES (0x0002 ) | Obbligatorio per chiamare la funzione SetInformationJobObject per impostare gli attributi dell'oggetto processo. |
JOB_OBJECT_SET_SECURITY_ATTRIBUTES (0x0010) | Questo flag non è supportato. È necessario impostare singolarmente le limitazioni di sicurezza per ogni processo associato a un oggetto processo. Windows Server 2003 e Windows XP: Obbligatorio per chiamare la funzione SetInformationJobObject con la classe di informazioni JobObjectSecurityLimitInformation per impostare le limitazioni di sicurezza per i processi associati all'oggetto processo. Il supporto per questo flag è stato rimosso in Windows Vista e Windows Server 2008. |
JOB_OBJECT_TERMINATE (0x0008) | Obbligatorio per chiamare la funzione TerminateJobObject per terminare tutti i processi nell'oggetto processo. |
L'handle restituito da CreateJobObject ha JOB_OBJECT_ALL_ACCESS accesso all'oggetto processo. Quando si chiama la funzione OpenJobObject , il sistema controlla i diritti di accesso richiesti rispetto al descrittore di sicurezza dell'oggetto. Se un oggetto processo si trova in una gerarchia di processi annidati, un chiamante con accesso all'oggetto processo ha implicitamente accesso a tutti i processi figlio nella gerarchia.
È possibile richiedere il diritto di accesso ACCESS_SYSTEM_SECURITY a un oggetto processo se si desidera leggere o scrivere l'elenco SACL dell'oggetto. Per altre informazioni, vedere Access-Control Lists (ACL) e SACL Access Right.For more information, see Access-Control Lists (ACL) and SACL Access Right.
È necessario impostare singolarmente le limitazioni di sicurezza per ogni processo associato a un oggetto processo, anziché impostarle per l'oggetto processo stesso. Per informazioni, vedere Process Security and Access Rights.For information, see Process Security and Access Rights.
Windows Server 2003 e Windows XP: È possibile utilizzare la funzione SetInformationJobObject per impostare le limitazioni di sicurezza per l'oggetto processo. Questa funzionalità è stata rimossa in Windows Vista e Windows Server 2008.