# Permessi

La procedura inizia con la creazione, dal DC, di una directory principale (ad esempio `Data`) all’interno della quale vengono definite le sottodirectory necessarie per l’organizzazione delle risorse

## Autenticazione e controllo degli accessi

L’accesso alle risorse condivise è regolato dal protocollo `Kerberos`, che opera secondo due fasi distinte:

- Il protocollo rilascia un ticket di logon al dominio Active Directory (AD) solo in caso di credenziali corrette
- Al tentativo di accesso a una risorsa specifica, Kerberos verifica le credenziali e, se valide, concede un ticket di accesso che abilita l’utilizzo della risorsa stessa

## Permessi di sharing

Si distinguono due livelli di permessi:

- `sharing permissions`: definiscono chi può accedere alla risorsa tramite rete
- `security permissions`: stabiliscono le azioni consentite (lettura, scrittura, esecuzione, ecc.) su file e cartelle

È prassi comune assegnare il permesso `Full Control` al gruppo `Everyone` (inteso come tutti gli utenti autenticati nel dominio AD) a livello di sharing: la gestione effettiva degli accessi avviene infatti tramite i `security permissions`, che devono essere configurati in modo da limitare l’accesso solo agli utenti o ai gruppi autorizzati.

![sharing-folder](asset/img/sharing-folder.png)

## Permessi di security

Per consentire a utenti specifici o appartenenti a una determinata Organizational Unit di accedere e modificare i contenuti della directory condivisa, è necessario intervenire sui permessi di sicurezza.

![security-permissions](asset/img/security-permissions.png)

## Gruppi

In `Active Directory Users and Computers` è possibile creare un nuovo gruppo. Prima della creazione, è necessario distinguere tra due tipologie di gruppi:

- `Gruppi di distribuzione`: utilizzati principalmente per la distribuzione di contenuti, ad esempio per l’invio di email a più destinatari
- `Gruppi di security`: impiegati per gestire i permessi di accesso alle risorse

I gruppi possono avere diversi scope:

- `Global`: generalmente utilizzato per creare utenti che operano esclusivamente all'interno del proprio dominio di competenza
- `Universal`:  consente la creazione di utenti che possono operare in tutti i domini della foresta

Dopo aver selezionato il tipo e lo scope, è possibile aggiungere i membri corrispondenti tramite l’apposita scheda `Members`

![groups](asset/img/groups.png)

### Assegnazione dei permessi

Una volta creato il gruppo, è possibile consentire l’accesso alle directory precedentemente condivise. Per fare ciò:

- Accedere alla scheda `Security > Advanced` della directory condivisa
- Disabilitare l’ereditarietà dei permessi dalla cartella superiore, qualora siano presenti sottocartelle a cui devono accedere solo utenti specifici
- Convertire i permessi ereditati in permessi espliciti

A questo punto, è possibile rimuovere il gruppo predefinito `Users` e aggiungere il gruppo creato in precedenza, in modo da limitare l’accesso alla risorsa solo agli utenti membri del gruppo specifico

![disable-inheritance](asset/img/disable-inheritance.png)

![access-deny](asset/img/access-deny.png)

### Gestione dei permessi per le sottodirectory

Nel caso in cui sia necessario creare una sottodirectory a cui deve accedere solo un utente specifico del gruppo, è possibile:

- Negare esplicitamente l’accesso agli altri utenti
- Rimuovere il gruppo dalla lista dei permessi

Si ricorda che i permessi di negazione hanno sempre la precedenza su quelli di concessione.
