Creare e gestire uno share
In samba, se usato come domain controller AD o membro di un dominio AD, gli share fanno totalmente affidamento sulle ACL posix, questo rende le cose piu` semplici (all'apparenza) rispetto a Samba 3, ma in realta` si aprono scenari da incubo nei quali ogni file ha permessi tutti suoi, e tutto si incasina fino al punto in cui non riesce piu` a capire una ciolla, esattamente come e` sempre stato quando troppa gente clicca allegramente sulle impostazioni di sicurezza dei files in uno share.
Creare uno share
- Creare la entry per lo share in smb.conf. Notare la voluta semplicita` della entry. I permessi li diamo dal file system e non da qui.
[documenti] path = /ud0/documenti read only = no
- Creare la directory e dare i permessi minimi. Qui c'e` da discutere sulla soluzione migliore. C'e` chi sostiene che sia meglio fare tutto dall'interfaccia di windows, ma a me infastidisce. In ogni caso, un minimo va fatto, ergo per il momento questa e` la mia idea. Sicuramente si puo` fare meglio. Il concetto e` che dopo aver tolto accesso a "others" con il chmod 770, imposto il gruppo a "domain admins".
mkdir documenti chmod 770 documenti chgrp "domain admins" documenti
- A questo punto posso gestire i permessi da Windows (che tristezza) aprendo "gestione computer", poi connettendomi ad un altro computer (il domain controller) e sotto a Utilita` di sistema / Cartelle Condivise / Condivisioni posso modificare i permessi (nel tab "sicurezza", e non in quello "condivisione").
- Vi sono alcune entry "spurie" causate dai permessi "di base" (non posix), in quanto la directory appartiene a root.root di default. Queste entry possono essere tolte. Tipicamente sono un account sconosciuto con UID corto che finisce per zero (root) e "administrator" (un alias di root) che hanno solo "Autorizzazioni speciali" flaggato.
- Assicuriamoci che "Domain admins" abbia tutto, compreso "full control", ed escluso "Autorizzazioni speciali"
- Volendo credo che possiamo togliere ogni altra cosa a parte la entry per "Domain admins"
- Aggiungiamo se serve "Domain users" senza "full control" ma con tutto il resto, o altro gruppo che deve usare lo share.
- Dovremmo avere ottenuto una ACL Posix che suona piu` o meno cosi` (users = domain users, hanno lo stesso ID, cosi` come root = administrator):
getfacl documenti # file: documenti # owner: root # group: DOMINIO\134domain\040admins user::rwx user:root:rwx user:DOMINIO\134domain\040admins:rwx group::rwx group:users:rwx group:DOMINIO\134domain\040admins:rwx mask::rwx other::--- default:user::rwx default:user:root:rwx default:user:DOMINIO\134domain\040admins:rwx default:group::--- default:group:users:rwx default:group:DOMINIO\134domain\040admins:rwx default:mask::rwx default:other::---
- Se vogliamo tentare di evitare il passaggio per windows, possiamo tentare con questi comandi:
# configurazione di base con solo domain admins: chmod 770 documenti chgrp "domain admins" documenti setfacl -m g:"domain admins":rwx documenti setfacl -m d:g:"domain admins":rwx documenti setfacl -m d:"domain admins":rwx documenti setfacl -m "domain admins":rwx documenti # aggiunta dei permssi per domain users: setfacl -m g:"domain users":rwx documenti setfacl -m d:g:"domain users":rwx documenti
- Per finire, proviamo da Windows a creare files e directory sia come Administrator che come utente normale, e dovremmo in questo caso vedere che in ogni caso l'utente ha diritto di scrivere / leggere / cancellare files e directory create da Administrator (e` voluto).
Shares speciali
Per il momento, in attesa di fare prove personalmente, mi e vi rimando al sito di Samba.org: