Capire i SID di Windows
A ogni account utente del sistema è assegnato automaticamente un SID (Security Identifier) di Windows. I SID vengono utilizzati per tutte le entità utilizzate nel sistema informatico, ovvero un SID viene assegnato alla macchina, agli account di dominio, agli utenti e ai gruppi di sicurezza. I nomi leggibili dagli utenti che corrispondono ai SID servono per semplificare le cose quando si tratta di amministrazione del sistema. Ad esempio, puoi modificare il nome di un utente, ma il SID non cambia. Pertanto non devi preoccuparti di passare attraverso i vari elenchi di controllo degli accessi per aggiornarli per il nuovo nome, poiché il SID sottostante non è cambiato.
I SID sono valori numerici di lunghezze variabili. Sono costituiti da un numero di revisione della struttura, un valore dell’autorità dell’identificatore e un numero variabile di valori dell’autorità secondaria. I valori di subauthority forniscono i mezzi con cui Windows può creare SID univoci basati su un SID di base comune.
C’è un simpatico strumento gratuito di Sysinternals chiamato PsGetSid, che può essere ottenuto da questo sito:
http://technet.microsoft.com/en-us/sysinternals/bb897417.aspx
Quando esegui PsGetSid senza parametri otterrai il SID del computer corrente:
C:\>PsGetSid PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com SID for \\DYSERT-PC: S-1-5-21-205299875-3125232665-432278398
Dal numero visualizzato è possibile determinare le varie parti del SID; sono separati da trattini. In questo caso, il SID inizia con “S-1-5”, che indica il numero di revisione della struttura (1) e il valore dell’autorità dell’identificatore (5). I numeri rimanenti, di nuovo, ciascuno separato da trattini, sono i valori dell’autorità secondaria.
Windows viene fornito con alcuni account integrati, quindi questi hanno SID già assegnati prima che venga aggiunto un account utente. Tra gli account integrati ci sono quelli per amministratore e ospite. L’esecuzione di PsGetSid su ciascuno di questi rivela i seguenti incarichi:
C:\>PsGetSid Administrator PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com SID for Dysert-PC\Administrator: S-1-5-21-205299875-3125232665-432278398-500 C:\>PsGetSid Guest PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com SID for Dysert-PC\Guest: S-1-5-21-205299875-3125232665-432278398-501
Come puoi vedere, Windows ha aggiunto un numero a ciascuno dei SID dell’account (500 e 501) per garantirne l’unicità. Questi suffissi univoci sono chiamati identificatori relativi (RID). Man mano che vengono aggiunti nuovi account, i RID iniziano da 1000 e vengono incrementati secondo necessità. Quindi eseguire PsGetSid sull’account “Dysert” produce questo:
C:\>PsGetSid Dysert PsGetSid v1.44 - Translates SIDs to names and vice versa
Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com SID for Dysert-PC\Dysert: S-1-5-21-205299875-3125232665-432278398-1000
Per verificare che questo SID sia associato al mio accesso, posso usare un altro strumento di Sysinternals chiamato LogonSession, disponibile qui:
http://technet.microsoft.com/en-us/sysinternals/bb896769.aspx
Ecco l’output prodotto dallo strumento:
C:\LogonSessions Logonsesions v1.21 Copyright (C) 2004-2010 Bryce Cogswell and Mark Russinovich Sysinternals - wwww.sysinternals.com [6] Logon session 00000000:00468835: User name: Dysert-PC\Dysert Auth package: NTLM Logon type: Interactive Session: 1 Sid: S-1-5-21-205299875-3125232665-432278398-1000 Logon time: 4/11/2014 3:20:29 AM Logon server: DYSERT-PC DNS Domain: UPN:
Anche i SID vengono assegnati ai gruppi. Il SID assegnato al gruppo Administrators può essere ottenuto in questo modo:
C:\>PsGetSid \Administrators PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com SID for \Administrators: S-1-5-32-544
Se, per qualche motivo, non desideri utilizzare lo strumento PsGetSid, puoi comunque ottenere le informazioni SID dall’utilità integrata, wmic. Dalla riga di comando, digita “wmic useraccount get name, sid” (senza virgolette). Apparirà il seguente output:
C:\wmic useraccount get name,sid Name SID Administrator S-1-5-21-205299875-3125232665-432278398-500 ASPNET S-1-5-21-205299875-3125232665-432278398-1003 Dysert S-1-5-21-205299875-3125232665-432278398-1000 Guest S-1-5-21-205299875-3125232665-432278398-501 SQLDebugger S-1-5-21-205299875-3125232665-432278398-1007
Questo suggerimento (13106) si applica a Windows 7, 8 e 10.