Implementazione delle ACL con Active Directory
Per completare il discorso iniziato nell’articolo Samba Complete Active Directory Domain Integration vediamo ora come gestire gli accessi multipli un po’ come si fa con i permessi su Windows.
Innanzitutto occorre installare il pacchetto acl:
1 |
sudo apt-get install acl |
Ora andiamo a modificare il tipo di mount della cartella che ci interessa gestire, quindi editiamo /etc/fstab:
1 |
sudo nano /etc/fstab |
E alla riga che ci interessa aggiungiamo il parametro acl, esempio:
1 |
/dev/sdb1 /media/shared ext4 defaults,acl 0 0 |
Alcuni dicono che basta rimontare il percorso altri che serve il riavvio, nel dubbio se ci costa poco riavviamo.
Ora passiamo alla parte di configurazione delle cartelle, per esempio andiamo a dare alla cartella common i permessi completi agli utenti del dominio pino e pippo e in sola lettura al gruppo vendite:
1 2 3 |
sudo setfacl -m u:mydomain+pino:rwx /media/shared/common sudo setfacl -m u:mydomain+pippo:rwx /media/shared/common sudo setfacl -m g:mydomain+vendite:r /media/shared/common |
e se ci serve che questi permessi siano ricorsivi anche nelle sotto cartelle:
1 2 3 |
sudo setfacl -m d:u:mydomain+pino:rwx /media/shared/common sudo setfacl -m d:u:mydomain+pippo:rwx /media/shared/common sudo setfacl -m d:g:mydomain+vendite:r /media/shared/common |
In caso si stesse aggiungendo una regola su una struttura di file e cartelle già esistente e si vuole che la regola venga applicata a tutto serve il parametro -R:
1 2 |
sudo setfacl -R -m u:mydomain+pino:rwx /media/shared/common sudo setfacl -R -m d:u:mydomain+pino:rwx /media/shared/common |
Ora andiamo a configurare i permessi su samba:
1 |
sudo nano /etc/samba/smbd.conf |
E sulla condivisione che ci interessa mettiamo per esempio:
1 2 |
write list = mydomain+pino,mydomain+pippo read list = @mydomain+vendite |
Se avessimo spazi usiamo gli apici:
1 |
read list = @"mydomain+domain users" |
E riavviamo samba:
1 |
sudo service restart smbd |
Ora volessimo rimuovere un permesso usiamo l’opzione -x:
1 2 3 4 |
sudo setfacl -x u:mydomain+pippo /media/shared/common sudo setfacl -x d:u:mydomain+pippo /media/shared/common sudo setfacl -x g:mydomain+vendite /media/shared/common sudo setfacl -x d:g:mydomain+vendite /media/shared/common |
Se invece volessimo rimuovere tutti i permessi in un colpo solo:
1 |
sudo setfacl -b /media/shared/common |
Rimuovendo poi anche l’opzione nel smbd.conf e riavviando di nuovo samba.
In caso volessimo controllare che regole sono attive su un file o cartella usiamo il invece comando getfacl:
1 |
getfacl /media/shared/common |