2011-02-07 25 views
5

Ho un servizio (normalmente eseguito come NetworkService) che recupera le informazioni sul processo utilizzando StartInfo. Funziona bene.Autorizzazioni alternative per StartInfo

Ma un cliente desidera eseguire il servizio come utente con restrizioni. (una richiesta ragionevole)

Secondo MS docs StartInfo può essere utilizzato solo da un utente "completamente affidabile". Esiste un modo alternativo per ottenere la maggior parte delle informazioni da StartInfo senza essere "completamente affidabili" o per configurare un utente con restrizioni che sia "completamente affidabile" rispetto alle informazioni sul processo?

risposta

0

Fondamentalmente tutto ciò che riguarda i processi richiede piena fiducia.
Così non, non v'è alcun modo per ottenere informazioni sui processi senza la piena fiducia.

Utilizzare il Code Access Security Policy Tool per assegnare piena fiducia

2

Sembra che tu stia confondendo due sistemi di sicurezza ortogonali: Windows Sicurezza Sicurezza utente e il codice .NET di accesso (CAS). Mentre l'uso della classe System.Diagnostics.Process richiede CAS fiducia piena, non richiede autorizzazioni utente amministratore, ed è abbastanza fattibile per un non-admin/utente limitato a eseguire un (CAS WRT) applicazione completamente attendibile.

Detto questo, il sistema operativo impone anche limiti su ciò che gli utenti non-admin può fare con i processi, in particolare i processi che non sono in esecuzione con il proprio account. A seconda di cosa sta tentando di fare il codice con i processi, potrebbe essere possibile eseguire il servizio con un account che non dispone di autorizzazioni di amministratore effettive.