Realizzazione FILE SERVER BASE (SAMBA)
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
|