Scopo di questo How To è quello di proporre un file server compatibile con gli ambienti Windows e utilizzabile anche negli ambienti Linux e Mac OS X.
Specifiche desiderate - La gestione delle credenziali di autenticazione, nome utente e password, deve essere centralizzata in modo da consentire agli utenti di cambiare postazione di lavoro. L'autenticazione deve essere compatibile con i sistemi operativi Windows 9X e Me.
- Gli utenti devono poter cambiare la password in autonomia ed in ottemperanza alle norme del codice sulla privacy.
- Gli utenti devono poter avere accesso ad un'area riservata sul server.
- Gli utenti devono poter avere accesso ad un'area condivisa sul server.
- Gli utenti devono poter accedere ad una stampante condivisa sul server.
Software - Qualunque distribuzione Linux (abbiamo utilizzato Debian 3.1).
- Samba.
Hardware Considerata la funzione vitale svolta dal file server consigliamo l'impiego di hardware affidabile, con memoria RAM e hard disk di capacità adeguate al numero di utenti da servire; Pentium IV, 512 MB di RAM, 120 GB di hard disk sono indicazioni minime per un ufficio di segreteria. Prerequisiti Le operazioni che seguono richiedono una certa conoscenza del sistema operativo Linux e dei principi di networking. Installazione/Configurazione Samba Nella maggior parte delle distribuzioni Linux Samba è un’opzione dell’installazione, ci concentriamo di conseguenza sul file di configurazione smb.conf. Scegliamo di attivare un domino ad es.“SEGRETERIA”. I passi per configurare Samba possono essere tratti da: http://us3.samba.org/samba/docs/man/Samba-Guide/ 1 - Nel file /etc/hosts inserire il nome del server samba che dovrà fornire l’autenticazione, ad. Esempio: 192.168.2.2 nome_server_samba 2 - Aggiungere l’utente root agli utenti samba: root# smbpasswd -a root New SMB password: XXXXXXX Retype new SMB password: XXXXXXX root# nel file /etc/samba/smbusers inserire la linea root = Administrator l’utente root è ora l’amministratore del domini windows, non dimenticare la password. 3 - Creare la corrispondenza tra i gruppi dei domini windows e i gruppi unix utilizzando lo script reperibile all’url: http://us3.samba.org/samba/docs/man/Samba-Guide/small.html#initGrps 4 - Creare gli utenti Unix e i corrispodenti utenti samba utilizzando i comandi adduser e smbpasswd. 5 - Configurare il Name Service Switch per utilizzare la risoluzione dei nomi windows modificando la seguente linea nel file /etc/nsswitch.conf hosts: files wins dns 6 - Per la risoluzione dei nomi netbios è necessario installare il daemon winbindd, con Debian: apt-get install winbind 7 – Creare le directory necessarie e assegnare i permessi root# mkdir -p /var/spool/samba root# mkdir -p /var/lib/samba/{netlogon/scripts,profiles} root# chown -R root:root /var/spool/samba root# chown -R root:root /var/lib/samba root# chmod a+rwxt /var/spool/samba Per ogni utente devono essere eseguiti i seguenti comandi: root# mkdir /var/lib/samba/profiles/’nome_utente’ root# chown ’nome_utente’:'gruppo_utente' /var/lib/samba/profiles/’nome_utente’ root# chmod ug+wrx,o+rx,-w /var/lib/samba/profiles/’nome_utente’ 8 – Creare lo script per il logon (logon.bat) NET TIME \\nome_server_samba /SET /YES NET USE W: \\nome_server_samba\File_comuni Poiché i file di testo negli ambienti Linux e Windows differiscono nell'interpretazione del fine linea, lo script deve essere creato in ambiente windows e poi trasferito (ftp) sul server samba nella directory /var/lib/samba/netlogon Segue il file smb.conf (normalmente localizzato in /etc/samba) # Global parameters [global] workgroup = SEGRETERIA passwd chat = *New*Password* %n\n *Re-enter*new*password* %n\n *Password*changed* username map = /etc/samba/smbusers syslog = 0 name resolve order = wins bcast hosts printcap name = CUPS show add printer wizard = No add user script = /usr/sbin/useradd -m %u delete user script = /usr/sbin/userdel -r %u add group script = /usr/sbin/groupadd %g delete group script = /usr/sbin/groupdel %g add user to group script = /usr/sbin/usermod -G %g %u add machine script = /usr/sbin/useradd -s /bin/false -d /dev/null %u logon script = scripts\logon.bat logon path = \\%L\profiles\%U logon drive = X: logon home = \\%L\%U domain logons = Yes preferred master = Yes wins support = Yes printing = cups time server = Yes [homes] comment = Directory private degli utenti valid users = %S read only = No browseable = No [printers] comment = Samba Print Spool path = /var/spool/samba guest ok = Yes printable = Yes use client driver = Yes default devmode = Yes browseable = No [netlogon] comment = Network Logon Service path = /var/lib/samba/netlogon guest ok = Yes [profiles] comment = Profile share path = /var/lib/samba/profiles read only = No profile acls = Yes [File_comuni] comment = documenti comuni path = /home/pippo read only = No force user = pippo force group = pippo guest ok = Yes Test Test della configurazione di samba (smb.conf): testparm -s Test della connettività client/server Da un client qualsiasi eseguite: ping 192.168.2.2 (192.168.2.2 è l'indirizzo ip del server samba) Verifica delle condivisioni disponibili (share), dalla finestra di comando di windows eseguite: NET VIEW \\nome_del_server_samba Configurazione client Win XP Professional Occorre prima di tutto configurare il protocollo TCP/IP e la risoluzione dei nomi Windows. Impostazioni -> Pannello di controllo -> Connessioni di rete -> Connessione alla rete locale -> clic destro -> Proprietà -> Protocollo internet (TCP/IP) Ciccare in seguito su Avanzate e WINS 
Dove 192.168.2.2 è l’indirizzo IP del server samba. Occorre poi aggiungere il client al domino: Start -> Impostazioni -> Pannello di controllo -> Sistema -> Nome del computer -> Cambia 
Occorre ricordare che è necessario agire come amministratore del dominio (utente root). Configurare la stampante Supponiamo che la stampante sia collegata sulla porta parallela del server; occorre innanzitutto creare la coda di stampa per mezzo del seguente comando: lpadmin –p PRINTQ –v parallel:/dev/lp0 –E Nel caso in cui la stampante é direttamente collegata alla rete il precedente comando diventa: lpadmin –p PRINTQ –v socket://192.168.2.3:9100 –E La coda di stampa è impostata come “raw device”, ovvero cups non processa in modo intelligente i dati; i driver della stampante sono installati sui client (i PC degli utenti). In seguito è necessario modificare il file /etc/cups/mime.convs e decommentare le seguenti due linee: application/octet-stream application/vnd.cups-raw Infine è necessario modificare il file /etc/cups/mime.types e decommentare la linea: application/octet-stream Amministrare gli utenti Chi ha familiarità con lo shell testuale può utilizzare i comandi adduser e smbpasswd. Per operare attraverso l'interfaccia browser è necessario installare e configurare il servizio Webmin: apt-get install webmin webmin-core webmin-samba Collegarsi per mezzo del browser al seguente URL: https://indirizzo_ip_o_nome_del_server:10000 (nel nostro caso https://192.168.2.2:10000) 
Selezionare in sequenza Servers -> Samba -> Configure automatic Unix and Samba Users syncronisation
impostare le opzioni della figura seguente e confermare col clic sul bottone Apply. 
Creare gli utenti utilizzando le stesse credenziali di autenticazione dei client Windows selezionando in sequenza System -> Users 
Amministrare le password L’utente può gestire in autonomia la password direttamente dal suo PC utilizzando i tasti CTRL+ALT+CANC e cliccando sul bottone Cambia Password (Windows XP e 2000). Per consentire all’utente di cambiare agevolmente la propria password per mezzo di un qualsiasi browser consigliamo di scaricare ed installare il software changepassword presso il sito: http://changepassword.sourceforge.net/ Il file README contiene le istruzioni per l’installazione, riportiamo di seguito quelle da noi utilizzate: tar xvzf changepassword-0.9.tar.gz cd changepassword-0.9 ./configure --enable-cgidir=/usr/lib/cgi-bin \ --enable-language=Italian \ --disable-squidpasswd --enable-sambapasswd=/etc/samba/smbpasswd make make install Per cambiare la password è necessario collegarsi per mezzo del browser all’indirizzo: http://indirizzo_ip_del_server/cgi-bin/changepassword.cgi_ per esempio: http://192.168.2.2/cgi-bin/changepassword.cgi  in cui 192.168.2.2 è l’indirizzo IP del server. Windows XP Home Windows XP Home non ha il modulo d’autenticazione su un server di dominio, gestisce gli account utente solo in locale. Ciò significa che può accedere alle risorse di un dominio (stampanti e spazio disco), ma non autenticare gli utenti dal dominio. E’ necessario duplicare gli utenti (e le password), in locale e sul server e ricordarsi di cambiare la password sul server tutte le volte che l'utente la cambia in locale. Una notevole complicazione per l’amministratore, in caso di nuovi acquisti vale la pena prendere in considerazione la versione professional di Windows XP. Windows 95/98/ME Tali sistemi operativi non permettono di gestire l’autenticazione individuale costituita da codice identificativo utente e password; possono tuttavia far parte di un dominio. Per unire ad un dominio un PC con sistema operativo Windows 95/98/ME: - verificare che sia installato il "Client per Reti Microsoft" fra le proprietà di rete;
- selezionare il Client per Reti Microsoft come protocollo di rete primario (Pannello di Controllo -> Rete -> Logon di rete primario);
- andare su Pannello di Controllo -> Rete -> Client per reti Microsoft -> Proprietà -> Logon su Dominio NT e inserire il nome del dominio.
Mac OS X Dal Finder selezionare Vai -> Connessione al server
Linux Per accedere a una directory sul file server utilizzando Konqueror è sufficiente digitare nella barra dell'indirizzo: smb://nome_del_server_samba/pippo Per automatizzare il processo è possibile procedere come segue (Debian 3.1): apt-get install smbfs echo 'smbfs' >> /etc/modules inserire nel file /etc/fstab la riga seguente: //192.168.2.2/pippo /mnt/smb smbfs defaults,credentials=/etc/samba/cred 0 0 (dove 192.168.2.2. è l'indirizzo ip del file server) preparare il file con le credenziali di accesso: # # file /etc/samba/cred # username = pippo password = password_di_pippo rendere sicuro il file delle credenziali: chmod 600 /etc/samba/cred chown root.root /etc/samba/cred Riferimenti http://us3.samba.org/samba/ http://www.webmin.com http://changepassword.sourceforge.net ^top
|