Sicurezza e diritti di accesso per 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.
È possibile specificare un descrittore di sicurezza per un oggetto processo quando si chiama la funzioneCreateJobObject. 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 ilGetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfoo funzione 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) | Obbligatorio 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. |
SYNCHRONIZE (0x00100000L) | Diritto di utilizzare l'oggetto per la sincronizzazione. Ciò consente a un thread di attendere fino a quando l'oggetto non si trova nello stato segnalato. |
WRITE_DAC (0x00040000L) | Necessario per modificare il DACL 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 validi agli oggetti processo. |
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) | Necessario 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 JobObjectSecurityLimitInformation classe di informazioni 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) | Necessario 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 funzioneOpenJobObject, 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 elenchi di Access-Control (ACL) e SACL Access Right.
È necessario impostare le limitazioni di sicurezza singolarmente per ogni processo associato a un oggetto processo, anziché impostarle per l'oggetto processo stesso. Per informazioni, vedere Process Security and Access Rights.
Windows Server 2003 e Windows XP: È possibile utilizzare la funzioneSetInformationJobObjectper impostare limitazioni di sicurezza per l'oggetto processo. Questa funzionalità è stata rimossa in Windows Vista e Windows Server 2008.