Ago 5, 2008 - Informatica    1 Comment

Realizzazione di un File Server SAMBA

Samba Server
Ho trovato nel sito dell’Osservatorio Tecnologico, un How To per la realizzazione di  un file server compatibile con gli ambienti Windows  e utilizzabile anche negli ambienti Linux e Mac OS X che ritengo molto ben fatto e completo. Facile da seguire e realizzare anche per i neofiti. Lo riporto integralmente per la comodità di chi dovesse averne bisogno. Mi sono limitato ad evidenziare le righe indicanti linee di comando dalle illustrazioni.

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_sambaFile_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* %nn *Re-enter*new*password* %nn *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 = scriptslogon.bat
  logon path = %Lprofiles%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 WindowsSystem > Users selezionando in sequenza

Finestra Webmin create user

Amministrare le password
L’utente può gestire in autonomia la password direttamente dal suo PC utilizzando i tastiCTRL+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

duric74 Un amico del PLC Forum ha segnalato anche un sito dove si indica il metodo per impostare il server Samba se non si è avvezzi all’utilizzo della shell.

Riporto la fonte: OPENSKILL e il contenuto:

Logo OpenSkillsQuando ci si appresta a configurare approfonditamente un samba server ci si scontra inevitabilmente con la grande quantita di opzioni globali e di share. Averne un prospetto completo a mente è un’impresa titanica e a questo scopo ci si può avvalere di un comodo strumento di configurazione, swat.

Swat, Samba Web Administation Tool, viene comunemente installato con il pacchetto Samba e se si utilizza una distribuzione che installa la suite non neces sita di ulteriori modifiche, a parte forse scommentarne la voce relativa nel file etc/inetd.conf a seconda della distribuzione.
In effetti si tratta di un servizio che viene generalmente invocato da inetd e fornisce un’interfaccia web utile per creare e modificare il file smb.conf e per studiarne le opzioni.
E’ buona norma comunque se si vuole utilizzarlo controllare prima di tutto due file:

/etc/services

e verificare che sia presente ed eventualmente aggiungere la voce:

swat 901/tcp

Definizione non ufficiale e che in alcune reti potrebbe entrare in conflitto con altri servizi

/etc/inetd.conf

e verificare o aggiungere la riga:

swat stream tcp nowait.400 root /percorso/eseguibile/swat swat

Dove il percorso al file può variare a seconda della distribuzione usata o dove si è deciso di installare Samba

Una volta eseguite queste semplici operazioni si può aprire il nostro web browser preferito e digitare: http://localhost:901/
Ci apparirà una finestra che ci chiede di inserire nome utente e password e dovre mo usare l’utente root e la sua relativa password di sistema.
A questo punto si ha accesso ad una serie di menu che in poco tempo ci permetterà di creare un file di configurazione per Samba. La cosa che trovo più
utile e importante è che per ogni opzione settabile si ha un link ad un help che ne descrive il significato, i valori di default e così via. Non solo, prima l’ho
descritto come tool anche per studiare, infatti sotto il menu
HOME si ha la possibilità di accedere comodamente a un grande quantità di documentazione,
pagine man e vari how-to, permettendo così di iniziare la nostra configurazione con un comodo appoggio per imparare.

Va ricordato che nonostante sia possibile collegarsi anche da macchine remote, swat non ha di default la possibilità di usare password crittografate con di conseguenza il rischio che qualcuno sulla rete possa sniffare i pacchetti e leggere in chiaro la password dell’utente root sul samba server. Esiste la possibilità di criptare le password anche se swat non lo supporta nativamente. Si può trovare un breve how-to introduttivo su www.samba.org chiamato swat_ssl.html.
Un’altro grande difetto di swat è il fatto che utilizzato su un file esistente ne modificherà anche il layout. Tutti i commenti eventualmente aggiunti e le opzioni include e copy verranno cancellati.
Questo ne fa a mio avviso un ottimo punto di partenza per il principiante, permettendo di creare un primo file di configurazione e in seguito editarlo finemente
con un editor di testi.

———————————————————————————————-
NOTA: Non ho testato personalmente il metodo, mi riprometto di aprofittare
quanto prima per farlo ed eventualmente indicare modifiche o quant’altro.

OGNI COMMENTO E’ DECISAMENTE GRADITO e concorrà all’affinamento dell’How To.

Fonti: Osservatorio Tecnologico e Openskill

Realizzazione di un File Server SAMBAultima modifica: 2008-08-05T21:16:46+02:00da geoline
Reposta per primo quest’articolo

1 Commento

  • Hello.
    🙂 reflects the couple’s low-key approach to their royal connections.
    Bye.