====== Creazione di uno share per le home degli utenti ====== ** Provato su Samba 4.22 in Debian 13. Vecchie versioni hanno logiche leggermente diverse** Riferimento: https://wiki.samba.org/index.php/Windows_User_Home_Folders Lo scopo e` quello di avere degli share privati per i vari utenti, compatibili con il metodo usato di recente in Windows. Il nome dello share, "users", e` quello che usa windows di default e lo voglio mantenere. Gli share degli utenti saranno visibili sotto lo share "users" in una directory con il nome dell'utente, accessibile ovviamente solo all'utente. * Prima di tutto, configurare lo share in Samba, come faremmo per uno share "normale". Possiamo scegliere dove salvare le nostre home, e qui non abbiamo problemi di scelta a meno che non vogliamo integrare le home degli utenti Linux con quelle di Samba. Io in particolare in questo caso non voglio farlo, anche perche` non ho di fatto utenti che accedono in shell al file server contenente le home. [users] path = /srv/home/%D/ read only = No * Creare il percorso di base delle home, in questo caso e` ''/srv/home/NOME_DOMINIO'', quindi diciamo ''/srv/home/AD''. * Ricaricare samba con il comando smbcontrol all reload-config * Configurare i permessi minimi per permettere agli amminstratori di gestire lo share da windows. Qui uso "domain admins" ma se avete dato il permesso ''SeDiskOperatorPrivilege'' a qualcun altro potete usare questo qualcun altro: mkdir /srv/home/AD chown root:"ad\domain admins" /srv/home/AD chmod 0770 /srv/home/AD * Attenzione: i permessi di tutto l'albero di directory precedente devono contenere rx per tutti, ovvero "other" deve avere "rx" se (come è logico) il path precedente è di "root.root". Se i permessi dell'albero precedente non permettono "rx" a tutti, probabilmente succede che i vari gruppi e account speciali di Samba (di Windows, a dire il vero) non hanno accesso, e nemmeno il gruppo "domain users" ce l'ha. Il risultato è che riceverete errori mentre cercate di impostare i permessi da windows, e che gli utenti non accedereanno alle loro home. L'errore che ho ricevuto io è questo: Il criterio di controllo corrente per il computer specificato non ha attivato il controllo. Se il criterio di protezione dei computer proviene dal dominio, chiedere a un amministratore di dominio di attivare l' Editor criteri di gruppo. In caso contrario, utilizzare l' Editor criteri del computer locale per configurare i criteri di controllo del computer localmente. **Io spero che ci sia una giustizia divina per chi scrive simili messaggi di errore** ===== Configurazione dei permessi da Windows ===== Da un client windows, modificare i permessi dello share home appena creato. * Eseguire "Gestione Computer" * Connettersi a un altro computer, e selezionare il server samba * Espandere "Utilità di sistema" / "Cartelle condivise" * Andare alle proprieta` del nuovo share "users" (basta farci doppio click sopra) * **Solo per vecchie versioni di Samba:** Cliccare sul tab "Autorizzazioni condivisione" e modificare le autorizzazzioni come segue: * Aggiungere "domain users" con autorizzazione modifica e lettura * Aggiungere "domain admins" con autorizzazione "controllo completo", "modifica", "lettura" * Togliere "everyone" * Cliccare sul tab "sicurezza" * Cliccare "avanzate" e poi "cambia autorizzazioni" * Se siete in windows 7, togliere il check da "Includi autorizzazioni ereditabili ..." * Se siete in windows 10, cliccate il bottone "Disabilita ereditarietà" * Rimanendo dentro alle impostazioni avanzate, modificare i permessi in modo da ottenere questa impostazione: * Domain Admins: controllo completo / "la cartella selezionata, le sottocartelle e i files" * CREATOR OWNER: controllo completo / "solo sottocartelle e files" (questo c'era gia` e lo lasciamo) * Domain users: Lettura ed esecuzione / "solo la cartella selezionata" * Nota: la colonna "ereditato da" deve contenere "NESSUNA" in tutte le righe. ===== Configurazione degli utenti ===== Di default gli utenti non hanno una home definita, ne` un mapping della stessa. Il mapping puo` essere definito da Linux usando pdbedit, o da Windows usando il gestore utenti. Se lo si fa da Windows, e` possibile farlo anche selezionando utenti multipli, il che rende molto piu` veloce l'operazione. Facendo il mapping da Windows, vengono anche generate automaticamente le directory dei singoli utenti sotto a ''/home/MBUTI''. * Aprire "Utenti e computer di Active Directory" * Selezionare uno o piu` utenti * Cliccare destro, e scegliere "proprieta`" * Selezionare il tab "profilo" * Selezionare il box "Home directory", poi "Connetti", e selezionare un disco che vogliamo mappare come home * Inserire il percorso SMB della home, nella forma ''\\server\users\%USERNAME%'', quindi nel nostro caso per esempio e` ''\\samba4\users\%USERNAME%''. Usando la variabile %USERNAME% mi risparmio di indicare il nome utente di ogni utente singolarmente. A questo punto puo` essere che, se vi sono alcune home gia` create, Windows vi segnali un errore perche` non puo` crearla. Questo non e` un problema. ===== Test ===== * Ogni utente dovrebbe mappare automaticamente la sua home al login * Andando a mano sullo share "\\server\home" si dovrebbero vedere le home di tutti gli utenti. * Come Administrator, posso entrare nella home di chiunque * Come utente normale, non posso accedere alle home degli altri * (opzionale) entrando in ssh sulla macchina con uno username di Samba, posso accedere alla mia home correttamente.