Windows e i permessi per l'accesso a file e cartelle: cosa sono i SID

Come stabilire di quali permessi è dotato l'account utente in uso e due parole sul significato e sull'utilità dei SID.
Windows e i permessi per l'accesso a file e cartelle: cosa sono i SID

Windows offre più livelli di protezione per i file e le cartelle. Nell’articolo Autorizzazioni cartelle condivise in Windows: come gestirle abbiamo visto com’è possibile condividere il contenuto di file e cartelle in rete locale stabilendo gli account che hanno titolo per accedere a una risorsa e quali permessi possono usare (ad esempio accesso in sola lettura o possibilità di modificare i contenuti).

A livello di file system ogni account presente sul sistema può avere o meno accesso a determinate risorse. Non solo file e cartelle ma anche chiavi di registro, stampanti, oggetti di sistema come processi, servizi, aree di memoria condivisa e così via.

Anche utilizzando un account amministratore, com’è noto, se si prova ad accedere a risorse per le quali non si dispone dei corrispondenti privilegi, si otterrà la comparsa del messaggio Non si dispone delle autorizzazioni necessarie per accedere alla cartella.

Questo è dovuto al fatto che Esplora risorse (explorer.exe) viene sempre eseguito con i diritti normali e non con i privilegi di amministratore.

Provate ad esempio a premere Windows+R quindi digitare C:\Users per accedere alla cartella di sistema contenente tutte le cartelle dei singoli account utente.
Facendo doppio clic su quella corrispondente a un account che non è il proprio si vedrà apparire il messaggio riprodotto nella figura pubblicata in precedenza.

Nel caso in cui si utilizzasse un account amministratore, però, basterà cliccare sul pulsante Continua per ottenere il “via libera” per l’accesso alla cartella indicata.

In generale, comunque, tutti i processi godono solo dei diritti di un utente limitato, anche se vengono avviati con un account che fa parte del gruppo “Administrators“. Quando un programma richiedesse dei diritti più ampi, Windows mostrerà – almeno nella configurazione predefinita – la richiesta di sicurezza UAC.

Le uniche eccezioni sono alcuni strumenti di Windows per la modifica delle impostazioni di sistema (finestra Impostazioni di Windows e Pannello di controllo). In questi casi si otterranno pieni diritti senza ulteriori verifiche, a meno di non intervenire su aspetti della configurazione del sistema particolarmente profondi.

Lo si può verificare anche usando l’utilità Process Explorer della quale abbiamo spesso parlato.
Si provi ad aprire una finestra del prompt dei comandi premendo Windows+R quindi digitando cmd quindi se ne apra un’altra usando i diritti di amministratore (digitare cmd nel menu Start di Windows quindi premere CTRL+MAIUSC+INVIO).
Si vedrà che avviando Process Explorer con i diritti di amministratore (tasto destro sul suo eseguibile, Esegui come amministratore) e cliccando due volte sulle due istanze di cmd.exe in elenco, accedendo alla scheda Security in un caso il gruppo BUILTIN\Administrators sarà indicato come Owner mentre nell’altro risulterà su Deny: nel primo caso si tratta del prompt dei comandi aperto con i diritti di amministratore, nel secondo quello aperto con i privilegi più limitati.

Come determinare a quale gruppo di utenti fa parte il proprio account

Da prompt dei comandi (cmd o PowerShell), è possibile digitare whoami per risalire istantaneamente al nome del proprio account utente, anche nel caso in cui – in Windows 10 – si adoperasse un account Microsoft.

A questo punto, digitando net user seguito dal nome dell’account, è possibile verificare a quale gruppo esso appartiene (controllare cosa appare accanto alle voci Appartenenze al gruppo).

Si può anche usare il comando net localgroup Administrators così da ottenere come risultato la lista degli account appartenenti al gruppo degli amministratori.
Di solito si noterà anche la presenza di un account amministrativo chiamato Administrator: non è selezionabile dalla schermata di logon di Windows perché risulta generalmente disattivato.
Tale account può essere eventualmente abilitato e usato in caso di necessità: Account Windows danneggiati: come fare per ripararli.
Allo stesso modo, con il comando net localgroup Users si avrà l’elenco di account appartenenti al gruppo Users, con privilegi più limitati.

In alternativa si può premere Windows+R quindi digitare netplwiz oppure (solo con Windows 10 Pro ed edizioni “superiori”) scrivere Gestione computer nel menu Start di Windows e selezionare Utenti e gruppi locali, Utenti.
Cliccando due volte sul nome dell’utente quindi scegliendo la scheda Membro di, si troverà l’informazione relativo al gruppo o ai gruppi di appartenenza.

Premendo Windows+R quindi digitando gpedit.msc in Windows 10 Pro ed edizioni “superiori”, “navigando” nella sezione Configurazione computer, Impostazioni di Windows, Impostazioni di sicurezza, Criteri locali, Assegnazione diritti utente, si troveranno alcune policy che consentono di attribuire autorizzazioni speciali a utenti e gruppi.

Cosa sono i SID in Windows

Acronimo di security identifier, un SID è un identificativo alfanumerico, più o meno lungo, che viene usato da Windows riferirsi in modo univoco ad account utente e gruppi. Il sistema operativo non utilizza insomma le denominazioni dei singoli account, per esempio, ma proprio il loro identificativo (SID).

Esistono SID condivisi tra account o altri componenti di sistema comuni a tutte le installazioni di Windows (vedere questa pagina di supporto) mentre quelli generati per i singoli account utente sono assolutamente univoci. Tant’è vero che un account pippo creato in un’installazione di Windows non ha lo stesso SID di un account pippo creato nell’ambito di un’altra installazione, anche sulla stessa macchina (si pensi alle configurazioni dual boot o multi boot).

Il seguente comando PowerShell consente di ricevere la lista di tutti i SID configurati sul sistema insieme con la corrispondenza con i vari account:

gcim Win32_Account | ft Nome, SID

Se si fosse interessati ai soli account utente, basterà usare il comando gcim Win32_UserAccount | ft Nome, SID. Per ottenere i SID dei gruppi: gcim Win32_Group | ft Nome, SID.

Cliccando con il tasto destro del mouse su qualunque file o cartella quindi sulla scheda Sicurezza e infine sul pulsante Avanzate, si può verificare la lista dei privilegi o delle restrizioni in essere per quella specifica risorsa (che possono essere o meno ereditate dalla cartelle di livello superiore).

È raro l’incontro con un SID: ciò può accadere però, ad esempio, allorquando si provassero a recuperare file da un’installazione di Windows che non si avvia o comunque da un’altra installazione di Windows presente sulla stessa macchina. Accendo alle proprietà di una cartella quindi alla scheda Sicurezza si troveranno i SID in luogo dei nomi degli account utente.

Se si avessero problemi ad accedere a una risorsa ricorrendo a un account amministratore, è possibile usare il comando takeown per assumere il pieno controllo sul contenuto di una cartella. Lo abbiamo spiegato nell’articolo Non si dispone delle autorizzazioni necessarie per accedere alla cartella: come risolvere.

Nel caso dei sistemi Windows che non si avviano, è possibile risalire alla corrispondenza tra SID e account utente caricando la chiave HKEY_LOCAL_MACHINE dell’installazione problematica e portandosi quindi in corrispondenza della chiave HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ (controllare il valore ProfileImagePath nel pannello di destra). La procedura è illustrata nell’articolo Aprire il registro di sistema all’avvio del PC e modificarne il contenuto.

Suggeriamo anche la lettura dell’articolo Account Windows, come trasferire i dati e le preferenze da un PC all’altro.

Ti consigliamo anche

Link copiato negli appunti