Funzione SetServiceObjectSecurity (winsvc.h)
[SetServiceObjectSecurity è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. Usare invece la funzione SetNamedSecurityInfo .]
La funzione SetServiceObjectSecurity imposta il descrittore di sicurezza di un oggetto servizio.
Sintassi
BOOL SetServiceObjectSecurity(
[in] SC_HANDLE hService,
[in] SECURITY_INFORMATION dwSecurityInformation,
[in] PSECURITY_DESCRIPTOR lpSecurityDescriptor
);
Parametri
[in] hService
Handle per il servizio. Questo handle viene restituito dalla funzione OpenService o CreateService . L'accesso necessario per questo handle dipende dalle informazioni di sicurezza specificate nel parametro dwSecurityInformation .
[in] dwSecurityInformation
Specifica i componenti del descrittore di sicurezza da impostare. Questo parametro può essere una combinazione dei valori seguenti. Si noti che i flag non gestiti da SetServiceObjectSecurity verranno ignorati automaticamente.
Valore | Significato |
---|---|
|
Imposta l'elenco di controllo di accesso discrezionale (DACL) dell'oggetto . L'handle specificato da hService deve avere WRITE_DAC accesso oppure il processo chiamante deve essere il proprietario dell'oggetto. |
|
Imposta l'identificatore di sicurezza del gruppo primario (SID) dell'oggetto . L'handle specificato da hService deve avere accesso WRITE_OWNER oppure il processo chiamante deve essere il proprietario dell'oggetto. |
|
Imposta il SID del proprietario dell'oggetto . L'handle specificato da hService deve avere accesso WRITE_OWNER oppure il processo chiamante deve essere il proprietario dell'oggetto o avere il privilegio SE_TAKE_OWNERSHIP_NAME abilitato. |
|
Imposta l'elenco di controllo di accesso di sistema (SACL) dell'oggetto . L'handle specificato da hService deve avere accesso ACCESS_SYSTEM_SECURITY.
Per ottenere l'accesso ACCESS_SYSTEM_SECURITY
|
[in] lpSecurityDescriptor
Puntatore a una struttura SECURITY_DESCRIPTOR contenente le nuove informazioni di sicurezza.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero.
Se la funzione ha esito negativo, restituisce zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
I codici di errore seguenti possono essere impostati dal gestore di controllo del servizio. Altri codici di errore possono essere impostati dalle funzioni del Registro di sistema chiamate dal gestore di controllo del servizio.
Codice restituito | Descrizione |
---|---|
|
L'handle specificato non è stato aperto con l'accesso richiesto oppure il processo chiamante non è il proprietario dell'oggetto. |
|
L'handle specificato non è valido. |
|
Le informazioni di sicurezza o il descrittore di sicurezza specificati non sono validi. |
|
Il servizio specificato è stato contrassegnato per l'eliminazione. |
Commenti
La funzione SetServiceObjectSecurity imposta le parti specificate del descrittore di sicurezza dell'oggetto servizio in base alle informazioni specificate nel buffer lpSecurityDescriptor . Questa funzione sostituisce qualsiasi o tutte le informazioni di sicurezza associate all'oggetto servizio, in base ai flag impostati nel parametro dwSecurityInformation e soggetti ai diritti di accesso del processo chiamante.
Quando viene creato un servizio, gestione controllo del servizio assegna un descrittore di sicurezza predefinito all'oggetto servizio. Per recuperare una copia del descrittore di sicurezza per un oggetto servizio, chiamare la funzione QueryServiceObjectSecurity . Per una descrizione del descrittore di sicurezza predefinito per un oggetto servizio, vedere Sicurezza del servizio e diritti di accesso.
Si noti che la concessione di determinati accessi a utenti non attendibili (ad esempio SERVICE_CHANGE_CONFIG o SERVICE_STOP) può consentire loro di interferire con l'esecuzione del servizio e possibilmente consentire l'esecuzione di applicazioni con l'account LocalSystem.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winsvc.h (include Windows.h) |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |
Vedi anche
Controllo di accesso di basso livello