Realizzazione File server base (Samba) Stampa
Venerdì 14 Settembre 2007 09:19
There are no translations available.

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

  1. 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.
  2. Gli utenti devono poter cambiare la password in autonomia ed in ottemperanza alle norme del codice sulla privacy.
  3. Gli utenti devono poter avere accesso ad un'area riservata sul server.
  4. Gli utenti devono poter avere accesso ad un'area condivisa sul server.
  5. 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

Impostazioni avanzate TCP/IP

 

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

Proprietà di sistema cambiamento nome computer

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)

Finestra Login to webnmin

Selezionare in sequenza Servers -> Samba -> Configure automatic Unix and Samba Users syncronisation

pulsante configure user sync

 

impostare le opzioni della figura seguente e confermare col clic sul bottone Apply.

Impostazioni Sync

Creare gli utenti utilizzando le stesse credenziali di autenticazione dei client Windows selezionando in sequenza System -> Users

Finestra Webmin create user

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
Finestra cambio password
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:

  1. verificare che sia installato il "Client per Reti Microsoft" fra le proprietà di rete;
  2. selezionare il Client per Reti Microsoft come protocollo di rete primario (Pannello di Controllo -> Rete -> Logon di rete primario);
  3. 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

MAC OS X connessioe 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

Ultimo aggiornamento Lunedì 08 Ottobre 2007 08:02