Samba OpenLDAP su Etch: Configurazione Samba: differenze tra le versioni
(Nuova pagina: {{Template:Samba e OpenLDAP}} Categoria:Reti con Windows Categoria:Samba == Configurazione di Samba == Prima di iniziare a configurare Samba è necessario creare le directory ...) |
S3v (discussione | contributi) mNessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
{{Template:Samba e OpenLDAP}} | {{Template:Samba e OpenLDAP}} | ||
== Configurazione di Samba == | == Configurazione di Samba == | ||
Prima di iniziare a configurare Samba è necessario creare le directory nelle quali risiederanno le homes degli utenti, gli script di netlogon e i profili centralizzati (o profili roaming). Alcune di queste directory sono già state indicate nel file <tt>/etc/smbldap-tools/smbldap.conf</tt>, quindi è bene stare attenti a non commettere errori.<br/> | Prima di iniziare a configurare Samba è necessario creare le directory nelle quali risiederanno le homes degli utenti, gli script di netlogon e i profili centralizzati (o profili roaming). Alcune di queste directory sono già state indicate nel file <tt>/etc/smbldap-tools/smbldap.conf</tt>, quindi è bene stare attenti a non commettere errori.<br/> |
Versione delle 01:06, 19 ott 2012
Configurazione di Samba
Prima di iniziare a configurare Samba è necessario creare le directory nelle quali risiederanno le homes degli utenti, gli script di netlogon e i profili centralizzati (o profili roaming). Alcune di queste directory sono già state indicate nel file /etc/smbldap-tools/smbldap.conf, quindi è bene stare attenti a non commettere errori.
# mkdir /dominio # mkdir /dominio/homes # mkdir /dominio/profiles # mkdir /dominio/netlogon
La configurazione di Samba si riduce a modificare il file /etc/samba/smb.conf. State attenti: il file è molto lungo ed è facile tralasciare qualcosa o inserire opzioni in conflitto tra loro. Per iniziare ci si basi sul file di esempio, funzionante e testato, riportato di seguito con gli opportuni commenti:
# mv /etc/samba/smb.conf /etc/samba/smb.conf.original # touch /etc/samba/smb.conf # nano /etc/samba/smb.conf
/etc/samba/smb.conf:
[global] ### Configurazione di base del server ### workgroup = DOMINIO netbios name = SERVER server string = DOMINOP PDC Server - Samba %v ### Imposto il server come controller di dominio ### os level = 65 preferred master = yes local master = yes domain master = yes domain logons = yes ### Opzioni di connessione e sicurezza. Configurazione Wins ### security = user guest ok = no encrypt passwords = yes null passwords = no hosts allow = 127.0.0.1 10.0.0.0/255.0.0.0 wins support = yes idmap uid = 10000-90000 idmap gid = 10000-90000 idmap backend = ldap:ldap://127.0.0.1 name resolve order = wins lmhosts host bcast dns proxy = no time server = yes socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192 ### Configuro Winbind winbind uid = 10000-90000 winbind gid = 10000-90000 winbind enum users = yes winbind enum groups = yes winbind separator = + password server = server_name winbind use default domain = Yes encrypt passwords = yes ### Impedisco gli errori getpeername dei client XP smb ports = 139 ### Configurazione dei log ### log file = /var/log/samba/log.%m log level = 2 max log size = 50 ### Impostazione charset corretto ### hide unreadable = yes hide dot files = yes unix charset = ISO8859-1 panic action = /usr/share/samba/panic-action %d ### Configurazione del supporto a LDAP ### passdb backend = ldapsam:ldap://127.0.0.1 ldap suffix = dc=dominio,dc=local ldap machine suffix = ou=machines ldap user suffix = ou=users ldap group suffix = ou=groups ldap admin dn = cn=admin,dc=dominio,dc=local enable privileges = yes ### Permetto il cambio password da Windows ldap password sync = yes ### Profili mobili, directory home, script di logon ### logon home = \\%L\homes\%U\ logon drive = H: logon path = \\%L\profiles\%U logon script = %U.bat OR netlogon.bat ### Script LDAP per gestione utenti e gruppi ### passwd program = /usr/sbin/smbldp-passwd %u passwd chat = *New*password* %n\n *Retype*new*password* %n\n *all*authentication*token*updated* add user script = /usr/sbin/smbldap-useradd -m "%u" ldap delete dn = Yes delete user script = /usr/sbin/smbldap-userdel "%u" add machine script = /usr/sbin/smbldap-useradd -w "%u" add group script = /usr/sbin/smbldap-groupadd -p "%g" delete group script = /usr/sbin/smbldap-groupdel "%g" add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u" ### Sistema di stampa ### load printers = yes printcap name = /etc/printcap printing = cups printcap name = cups ; Se desidero che solo il gruppo indicato possa amministrare le stampanti ; NOTA: il gruppo deve essere creato nella struttura LDAP ;printer admin = @sambaadmins ### Condivisioni ### ### Percorso degli script di logon [netlogon] comment = Network Logon Service path = /dominio/netlogon guest ok = no writable = no browseable = no share modes = no ### Percorso per i roaming profiles [profiles] comment = Profili degli utenti path = /dominio/profiles writeable = yes browseable = no guest ok = no hide files = /desktop.ini/ntuser.ini/NTUSER.*/ create mask = 0600 directory mask = 0700 csc policy = disable ### Condivisione stampanti [printers] comment = Stampanti browseable = no path = /var/spool/samba printable = yes public = no writable = no create mode = 0700 ### I client Windows si aspettano questa cartella come fonte per i drivers [print$] comment = Drivers delle stampanti path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no ### Home folders degli utenti [homes] path = /home/users/%U comment = Home directory browseable = no writeable = yes valid users = %S read only = no guest ok = no inherit permissions = yes ### Directory condivisa [pubblica] path = /home/pubblica read only = No create mask = 0660 directory mask = 2770 hide special files = yes hide files = /lost+found/ acl group control = yes inherit acls = yes map acl inherit = yes inherit permissions = yes map archive = no # Per condividere l'unità CD del server ;[cdrom] ; comment = Samba server CD ; writable = no ; locking = no ; path = /media/cdrom0 ; public = yes ; Per il mount - umount automatico del CD ; Perchè funzioni il file /etc/fstab deve contenere una ; voce: /dev/hdc0 /media/cdrom iso9660 defaults,noauto,ro,user 0 0 ;preexec = /bin/mount /cdrom ; postexec = /bin/umount /cdrom
Una volta che abbiamo il file di configurazione pronto, possiamo verificare che non contenga errori con il comando:
# testparm
Ora possiamo cambiare la password di amministratore e riavviare il servizio:
# smbpasswd -w password # /etc/init.d/samba restart
Popolamento del database LDAP
Per un funzionamento corretto SAMBA ha bisogno di diversi gruppi predefiniti e 2 utenti: Administrator e nobody.
La tabella seguente riepiloga i gruppi e gli utenti di default di un dominio Windows:
Inoltre, affinché si riesca ad aggiungere computer al dominio in modo automantico (da macchine Windows), deve esistere un utente con uid = 0 da utilizzare per questa operazione. Tale utente può essere un utente root (da aggiungere a mano) o lo stesso Administrator cambiandogli l'uid. Quest'ultima è la scelta presa in questa configurazione, in modo da avere un utente Administrator che è Administrator per Samba e root per il "dominio" UNIX. Per creare i gruppi predefiniti e gli utenti utilizzati da Samba è possibile procedere in due modi.
1 - Utilizzo degli script forniti con smbldap-tools
La prima via consiste nel fare uso di alcuni script forniti con il pacchetto smbldap-tools che abbiamo già installato:
# smbldap-populate -k 0 # smbldap-useradd -a -m -c "Admin" Administrator # smbldap-usermod -G "Domain Admins" Administrator # smbldap-usermod -u 0 Administrator # smbldap-populate -a Administrator -k 0
Il parametro "-k 0" imposta l'UID di Administrator a 0, facendolo di fatto coincidere con l'utente root. Gli altri comandi fanno sì che Administrator sia aggiunto al gruppo dei Domain Admins. Durante l'esecuzione del comando vengono riepilogati i record aggiunti e vi verrà chiesto di cambiare (se volete) la password di Administrator; potete tranquillamente riscrivere la stessa password già impostata precedentemente.
Per verificare lo stato del database LDAP e i record aggiunti potete usare i comandi:
# ldapsearch -x | less
e:
# ldapsearch -x uid=Administrator
Su alcuni howto ho trovato suggerito, a questo punto, di cambiare ancora la password di Administrator con il comando:
# smbldap-passwd Administrator
Sebbene non mi sia chiaro il motivo, l'ho fatto, reinserendo nuovamente la stessa password utilizzata fino a questo punto della guida. Questo sarà anche il comando che dovrà essere normalmente utilizzato per la gestione delle password.
2 - Utilizzo della GUI phpLDAPadmin
Il secondo metodo prevede l'utilizzo della GUI di phpLDAPadmin. Per operazioni così lunghe e ripetitive come il popolamento iniziale di un database LDAP è un metodo che sconsiglio, ma può essere utile a questo punto osservare il funzionamento di questa GUI.
Innanzitutto bisogna collegarci con un browser al nostro server:
https://10.0.0.11/phpldapadmin
Cliccate sul link di login e inserite le seguenti informazioni:
Login DN: cn=admin,dc=dominio,dc=local Password: password
Quindi, nella sezione di sinistra, espandete la radice LDAP relativa al vostro dominio. Cliccate sull'unità organizzativa che vi interessa (ou=Users oppure ou=Groups) e selezionate la voce Create ner entry here".
Selezionate il template corretto (Samba3 Account se volete creare un nuovo utente e Samba3 Group Mapping se volete creare un nuovo gruppo) e immettete le voci nei campi di definizione del template stesso.
Per questo motivo solitamente consiglio di utilizzare i smbldap-tools per la creazione di nuovi gruppi e nuovi utenti e di utilizzare phpldapadmin per modifiche a utenti e gruppi già esistenti, quando navigare da console tra le proprietà di ogni entry può diventare difficoltoso.
Ricordatevi, al termine del processo di creazione di gruppi e utenti, di cambiare la password di Administrator come indicato nel paragrafo precedente:
smbldap-passwd Administrator