Local User profiles, Roaming User profiles, Mandatory profiles: facciamo un po’ di chiarezza

Windows, in qualunque versione, definisce per ogni utente che si connette al sistema un profilo utente che contiene le informazioni base, le impostazioni e più in generale l’ambiente che identifica e modella l’utente stesso sul sistema.

Normalmente, se non intervengono configurazioni particolari, il profilo utente è contenuto su ogni sistema al quale l’utente fa accesso e quindi le impostazioni ed i contenuti saranno differenti da sistema a sistema.

Tuttavia, in ambienti distribuiti o con una elevata mobilità degli utenti è possibile configurare i profili in modo che siano decentrati rispetto ad un singolo sistema, e quindi l’utente abbia le medesime configurazioni e contenuti a prescindere dalla postazione alla quale ha fatto accesso.

Le tipologie di profilo che possono essere configurate per ogni utente sono le seguenti

  • Local User Profiles. È definito localmente al sistema che permette l’accesso dell’utente viene creato la prima volta che questo si connette. Le impostazioni rimangono presenti localmente alla postazione

  • Roaming User Profiles. Un profilo in Roaming è un’ambiente utente che contiene le stesse informazioni di un profilo locale, ma a differenza del precedente viene copiato esternamente al sistema di accesso, su una cartella di rete apposita. All’atto del login utente, il profilo viene copiato localmente. In occasione della disconnessione dell’utente dal sistema, il profilo viene copiato ed allineato sulla share di rete.

  • Mandatory User Profiles. Il “mandatory user profile” è un profilo vincolato dall’amministratore. Viene utilizzato per rendere immodificabili le configurazioni del sistema da parte degli utenti. L’utente ha comunque la possibilità di modificare alcune impostazioni, ma all’atto del log off vengono perse. Questo tipo di profilo è ulteriormente impostabile in:
    • Normal Mandatory User Profile un profilo diventa di tipo Mandatory quando viene rinominato il file NTUSER.DAT in NTUSER.MAN , la semplice modifica dell’estensione del file è sufficiente a definire questa tipologia di profilo utente
    • Super Mandatory User Profile questo tipo di profilo è simile al precedente ma con la differenza che un utente non può effettuare il logon se la cartella di rete che ospita il mandatory profile non è disponibile

    • Temporary User Profiles. Un profilo utente temporaneo è creato per ogni utente in caso di problemi che non consentono al profilo “normale” di essere caricato. Anche in questo caso come per il mandatory profile, le impostazioni vengo perse all’atto del logoff

Strutturalmente un profilo utente si presenta come una serie di Directory e File di default contenute in c:\Users\<NomeUtente> nei sistemi da Windows 7 in poi.

All’interno della cartella cono contenute tutte le directory che formano l’ambiente del profilo

Figura 1: elenco delle cartelle all’interno del profilo utente

Ad esempio il Desktop che utilizziamo e su cui sono presenti file e collegamenti è anch’esso una cartella (Desktop) all’interno del profilo stesso, analogamente per quanto riguarda i Documenti i Download, le Immagini e così via.

Il profilo contiene anche una serie di impostazioni che sono parte integrante del registro di sistema. Più precisamente contiene tutte le impostazioni di pertinenza dell’utente che risiedono nel registro stesso nel ramo HKEY_CURRENT_USER. Questo ramo del registro viene archiviato nel file NTUSER.DAT

I profili in ambiente di dominio

In ambiente di dominio i profili utente sono configurabili dal tab Profile della console Active Directory Users and Computers, come mostrato nell’immagine sotto:

Figura 2: Impostazioni relative al profilo utente in AD

Le impostazioni che è possibile configurare sono:

  1. Posizione dell’intero profilo in rete esternamente ai singoli sistemi, è questa la configurazione impostare in caso di profili di tipo Roaming
  2. Script di logon, in questo campo possiamo definire eventuali script che saranno eseguiti all’atto del logon dell’utente su qualunque sistema in join al dominio
  3. Local path
  4. Connect

Per comprendere meglio queste ultime due impostazioni, è necessario, fare un cenno alle variabili di ambiente disponibili sul sistema e riferite alla posizione del profilo utente.

Da un prompt dei comandi digitando il comando “SET” vengono visualizzati i valori assegnati ad una serie di variabili (sia di sistema che utente) che possono essere utilizzate da script o da programmi in esecuzione sul sistema.

Figura 3: elenco delle variabili di sistema in ambiente utente

Le variabili HOMEPATH ed HOMEDRIVE sono il punto di partenza della home utente, che di default è impostata su a C:\Users\<NomeUtente>

Le impostazioni presenti nel tab Profile permettono la configurazione di questo valore, per cui se nel campo LocalPath viene configurato un percorso locale questo diverrà la home utente. Analogamente nel campo 4 dove è possibile definire la mappatura automatica di una lettera di unità ad un determinato percorso di rete che diventerà quindi la home del profilo utente.

Figura 4: elenco delle variabili di sistema con l’impostazione HomeFolder rediretta su share di rete

Nella figura precedente si possono notare le impostazioni differenti rispetto ad una configurazione di default come riportato in figura 3.

È bene tenere presente che la share di rete che ospita gli HomeFolder rediretti sia configurata in modo che ad ogni utente sia possibile accedere esclusivamente ai propri dati.

L’utilizzo di questa impostazione può essere di aiuto per la redirezione di alcune cartelle predefinite del profilo utente quali la cartella Documenti, senza reindirizzare il profilo completo come vedremo più avanti in questo articolo.

Figura 5: Configurazione dei permessi della share di rete in cui vengono rediretti gli Home Folder

Configurazione dei Roaming Profile

Per gestire correttamente il profilo in roaming è necessario definire una share di rete che possa ospitare i profili dei vari utenti.

È bene definire una serie di permessi minimi al fine di proteggere opportunamente i dati archiviati nella share stessa.

Per semplificare la configurazione è consigliabile creare un gruppo di sicurezza al quale far appartenere i vari utenti che utilizzeranno il profilo in Roaming. Sulla condivisione verranno assegnati i permessi direttamente a questo gruppo. In questo esempio il gruppo si chiama UserProfileGroup mentre la condivisione è stata definita con il nome RoamingProfile$ (il carattere $ alla fine del nome della condivisione permette di mantenere la condivisione nascosta).

Nelle due figure a successive sono riportati i permessi sulla cartella che ospita i profili

Figura 6: Permessi generali della cartella

Figura 7: Permessi speciali definiti al gruppo di utenti che utilizzeranno il Roaming Profile

Nella figura successiva sono riportate le impostazioni generali relative alla condivisione a cui viene consentito l’accesso esclusivamente al gruppo di utenti che utilizzeranno il Profilo Roaming

Figura 8: Permessi relativi alla Share che ospiterà i profili roaming

Figura 9: Impostazioni della condivisione

Il flag Enable Acces-Based-Enumeration in una condivisione permette la visualizzazione esclusivamente di file o cartelle su cui l’utente ha permesso di lettura o equivalente. La sua attivazione non ha impatto diretto sulla sicurezza dell’ambiente in quanto comunque il profilo è protetto fin dalla sua creazione tramite ACL puntuali. Il fatto che sia attivato previene a tutti gli utenti che accedono alla condivisione di individuare quali altri utenti hanno un profilo di tipo Roaming

Il flag Allow Caching of Share è abilitato per default all’atto della creazione di una condivisione in generale e permette all’utente di definire quali file acceduti tramite Share debbano essere conservati localmente quando la postazione è off-line. Nel caso dei Profili in roaming è ininfluente in quanto per i files contenuti nel profilo, quali ad esempio nel Desktop, non è possibile dichiararli disponibili off-line.

Il flag Encrypt data access abilita la cifratura dell’accesso ai file remoti durante lo scambio in rete.

Configurazione del roaming profile

Preparato l’ambiente di condivisione, nella configurazione dell’utente lato AD, è sufficiente indicare il percorso di rete dove verrà archiviato il profilo. A completamento del percorso UNC è necessario indicare un percorso univoco per ogni utente. Si può utilizzare la variabile di ambiente %username%, che verrà sostituita con il nome utente corrente.

Figura 10: Configurazione percorso del profilo roaming

L’ultimo passo della configurazione richiede di assegnare l’utente al gruppo con i permessi di accesso alla share configurata in precedenza

Figura 11: assegnazione dell’utente al gruppo di sicurezza che ha accesso alla share di rete dove verranno salvati i profili roaming

A questo punto l’ambiente utente è pronto per essere automaticamente rediretto sulla condivisione di rete.

Elencando il contenuto della cartella, saranno visibili le varie cartelle contenti i profili utente. Ogni cartella riporta il nome utente con un’estensione che può essere variabile a seconda del sistema operativo dal quale l’utente ha fatto accesso.

Figura 12: Elenco utenti con il profilo configurato in roaming

Nella figura sopra è riportato un elenco di cartelle contenenti il profilo in roaming. Queste cartelle hanno il nome dell’utente e come estensione .V6. Il fatto che sia presente questa estensione indica in modo preciso la versione del sistema operativo in uso e la relazione tra versione e sistema operativo è riportata nella tabella seguente.

Figura 13: Tabella riepilogativa delle versioni dei profili in roaming

È necessario considerare quanto riportato nell’articolo Incompatibilità tra Windows 8.1 i profili utente e quelli di versioni precedenti di Windows (microsoft.com) relativamente alla compatibilità tra versioni di profilo in ambienti misti in cui possono ancora essere presenti sistemi operativi di versione Windows 7 ed 8/8.1

After you use a user account that has an existing Windows 7 profile to log on to a Windows 8.1-based computer for the first time, the components from Windows 8.1 read and modify the profile state.

Certain Windows 8.1 features may not work as expected because the expected profile state is not present.

When you try to use the same user account to log on to a Windows 7-based computer, the user profile modification that was performed in Windows 8.1 may not work as expected in Windows 7.

Per verificare se il profilo utente è realmente in roaming è sufficiente sulla macchina dell’utente andare in: Pannello di controllo, /Sistema e sicurezza/Sistema/Impostazioni di sistema avanzate/Impostazioni nella sezione Profili utente e quindi individuare il profilo nella colonna Tipo.

Figura 14: Verifica della tipologia di profilo sulla macchina utente

Configurazione di Profilo in Roaming di tipo “Normal Mandatory”

Come già riportato in precedenza, questo tipo di profilo è anch’esso un profilo di tipo Roaming e può essere utilizzato per mantenere le impostazioni predefinite agli utenti per cui è impostato.

In questo tipo di profilo ogni modifica che viene fatta durante la sessione di lavoro, così come i vari file archiviati, vengono persi all’atto del logout dell’utente.

Non differisce dalle impostazioni viste in precedenza per il roaming profile, tranne che il file NTUSER.DAT contenuto nel profilo stesso (una volta configurato e preparato con le impostazioni volute). Il Profilo in Roaming, ma la stessa impostazione può essere definita anche per profili locali, diventa di tipo Mandatory quando il file NTUSER.DAT viene rinominato in NTUSER.MAN.

I Passi per creare un profilo in Roaming di tipo Normal Mandatory sono gli stessi visti in precedenza a cui si aggiunge la sequenza di operazioni necessarie a rinominare il file NTUSER.DAT

La cartella creata all’atto del login utente viene automaticamente protetta e l’accesso consentito esclusivamente all’utente stesso. Siccome quando quest’ultimo è connesso non è possibile rinominare il file NTUSER.DAT è necessario che l’utente non sia collegato e bisogna:

  1. Assumere il controllo della cartella
  2. Rinominare il file NTUSER.DAT in NTUSER.MAN
  3. Riassegnare i permessi esclusivi all’utente

Normalmente queste operazioni si eseguono con i privilegi di Amministratore

Selezionando la cartella del profilo il tab Security non permette la visualizzazione di permessi

Figura 15: Accesso non consentito al percorso del profilo

Proseguendo con Advanced si accede al tab di gestione dei permessi; per prima cosa è necessario ottenere la proprietà della cartella assegnandola all’utente corrente.

Figura 16: Assegnazione della proprietà della cartella all’utente

Figura 17: Assegnazione della proprietà della cartella all’utente (Administrator)

Figura 18: Assegnazione della proprietà della cartella all’utente (Administrator) comprese le sottocartelle

Ottenuta la proprietà della cartella è necessario ripetere i passaggi assegnando il permesso di Controllo Completo all’utente con cui si effettua la modifica del profilo

Figura 19: Modifica dei permessi effettivi sulla cartella

Terminata l’operazione con OK è possibile accedere alla cartella del profilo e dopo aver attivata la visualizzazione dei file nascosti si può procedere a rinominare il file NTUSER.DAT

Figura 20 attivazione della visualizzazione dei file nascosti

Figura 21: Modifica dell’estensione del file NTUSER.DAT

Prima di rendere operativo il profilo, è necessario ripercorrere a ritroso i passaggi di modifica dei permessi della cartella, riassegnando la proprietà ed i permessi esclusivamente all’utente, rimuovendoli dall’amministratore.

A questo punto il profilo è impostato come obbligatorio e quindi tutte le configurazioni o modifiche che l’utente eseguirà nel corso della sessione di lavoro andranno perse all’atto della disconnessione

N.B. Prima di “convertire” un profilo in Mandatory è necessario eseguire tutte le configurazioni che si vorranno rendere permanenti all’utente, terminate queste configurazioni , ossia cartelle sul desktop, collegamenti icone presenti etc.

Configurazione di Profilo in Roaming di tipo “Super Mandatory Profile”

Questo tipo di profilo è anch’esso un profilo in Roaming a cui sono state definite le caratteristiche di Mandatory, quindi obbligatorio, ma con un’ulteriore peculiarità, ossia che per l’accesso l’utente a cui è imposto questo tipo di profilo deve avere disponibile in server che ospita la share del profilo stesso. È un’ulteriore irrobustimento di sicurezza nei confronti di accessi verso i quali si vuole essere assolutamente certi del controllo. Questo tipo di profilo non permette il salvataggio locale delle impostazioni del profilo stesso.

Figura 22: Super Mandatory Profle, tentativo di accesso con server Share non disponibile

Per fare sì che un utente abbia assegnato un profilo di tipo Super Mandatory è necessario che la share che ospita il profilo abbia il nome che termina con .MAN e che l’utente in AD recepisca questa impostazione

Figura 23: Impostazione utente con profilo di tipo Super Mandatory

L’impostazione dei profili utente può essere occasione di problemi che impegnano molto tempo agli amministratori; basti pensare ad ambienti come ad esempio le scuole o le aule corsi, dove è necessario avere ambienti configurati sempre allo stesso modo e senza eccessive personalizzazioni.

Lo scenario descritto sopra che implementa l’uso dei profili obbligatori e super obbligatori può essere una delle soluzioni da esplorare.