Installazione del server Samba

Novembre 2016

Installazione e configurazione d'un server Samba versione 3.0.2a
Linux Mandrake versione 10.0.


Prerequisiti

Installazione della distribuzione Mandrake 10.0 (Server) e possesso di un dominio.

Introduzione

Il server Samba è l'utility privilegiata per installare una rete LAN (Local Area Network) che funziona con il protocollo SMB (Server Message Block). Così facendo è possibile mixare, in modo efficiente nella stessa rete, terminali Linux e PC Windows, grazie proprio a questo software-server.

Samba è un sistema per la condivisione di file e stampanti tra Unix e Windows in modo trasparente e stabile.

Architettura di Samba

Samba è costituito da un server, da un client e da alcuni strumenti che permettono la realizzazione di servizi pratici o di provare le impostazioni:

Il server presenta da due applicazioni (chiamate Daemon), smbd, il server core, che fornisce servizi di autenticazione e di accesso alle risorse e nmbd, che permette di visualizzare i servizi offerti da Samba (visualizzazione dei server Samba nelle risorse di reti, ecc.).

Il client, smbclient è un client per Linux con un'interfaccia per il trasferimento di file e l'accesso alle stampanti. Smbtar permette di fare un trasferimento da o verso un file TAR su Linux, mentre testparm controlla la sintassi del file smb.conf e il file di configurazione di Samba.

Il protocollo di comunicazione che consente la comunicazione tra Windows e Linux è chiamato SMB (Server Message Block). Sviluppato da Microsoft nel 1987, utilizzando un concetto sviluppato da IBM nel 1985 (NetBIOS), questo protocollo si basa su NetBEUI (e il protocollo TCP/IP). Il vantaggio di TCP/IP deriva dal fatto che è stato ampiamente implementato nella maggior parte dei sistemi operativi (Unix, Linux, AmigaOS, MacOS, OS/2, ecc.), come nello schema seguente:

Applicazione  
SMB
NetBios
TCP/IP
NetBeui
IPX/SPX
Driver rete

Installazione dei pacchetti necessari al server samba

Prima di tutto assicurarsi che i pacchetti necessari siano installati, in caso contario provvedere ad installarli digitando il MCC (Mandrake Control Center), nel terminale, accedendo in quanto root (digitare "su" poi la password per l'utente root), andare nel software manager e poi da Installa, selezionare i tre seguenti pacchetti:

samba-client-3.0.2a-3mdk 
samba-common-3.0.2a-3mdk
samba-server-3.0.2a-3mdk


Poi fare clic su Installa.

Primo avvio di Samba

Dopo l'installazione è possibile avviare il server Samba (senza alcuna condivisione di file o di stampanti) eseguendo il comando seguente:

/etc/rc.d/init.d/smb start 
Starting SMB services: [OK]
Starting NMB services: [OK]


Questo comando consente di controllare se i due Daemon siano stati correttamente avviati:

/etc/rc.d/init.d/smb status (o service smb status)


smbd (pid 1054) is running... 
nmbd (pid 1056) is running...

I comandi utili

A partire dal terminal essendo root


Test delle sintassi della scrittura del file smb.conf:

testparm/etc/samba/smb.conf

Arresto dei servizi Samba:

/etc/rc.d/init.d/smb stop

Avviare il server Samba:

/etc/rc.d/init.d/smb start

Riavviare Samba:

/etc/rc.d/init.d/smb restart

Visualizzare le connessioni attive tramite Samba

/smbstatus

Configurazione del file smb.conf

La configurazione di Samba è effettuata attraverso un file di configurazione unico: smb.conf. Questo file si trova nella cartella /etc/samba/.

Nota Bene: ad ogni modificazione del file smb.conf con un editor di testo, salvarlo e poi digitare il comando /etc/rc.d/init.d/smb restart (per riavviare il server samba e allo stesso tempo, tenere conto delle modifiche nel file smb.conf). Questo file descrive le risorse che si desidera condividere, e le autorizzazioni/restrizioni ad essi associati. Il file smb.conf è suddiviso in base alle rubriche (ognuna riferita da una riga contenente il nome della sezione fra parentesi quadre) e ciascuna composta da una serie di linee di parametri del tipo: attributo = valore. Una riga che inizia con un "#" è una riga di commento e una riga che inizia con un ";" è inattiva. Ci sono 3 sezioni principali:

La sezione [global], definisce i parametri generali sul server;

La sezione [homes], definisce la condivisione di una cartella personale;

La sezione [printers], definisce le stampanti condivise dal server.

Sezione Global

Ecco un esempio della sezione [global] (l'esempio è quello della rete R2D4):

[global]

# stesso nome del gruppo che si trova su Windows (Risorse di rete)
workgroup = MSHOME

# nome del server come visualizzato nella rete
netbios = samba server

# quello che appare nella rubrica dettagli della rete, %v visualizza
# il n° della versione di samba
server string = Samba Server %v

# le password passano criptate
encrypt passwords = Yes
smb passwd file = /etc/samba/smbpasswd

# directory di memorizzazione degli eventi
log file = /var/log/samba/log.%m

# dimensione massima del LOG
max log size = 50

# Nessun account Guest (facoltativo)
guest account = nobody

# Accesso multiutente (facoltativo)
Share modes = yes

# postazione del file printcap (stampanti sul server Linux)
printcap = /etc/printcap

# condivisione di tutte le stampanti definite in printcap
printcap name = cups
load printers = yes
printing = cups
printer adm = @ adm

# file LOG di Samba
log level = 1
log file = /var/log/samba/log.%m

# sicurezza: (user / share / server)
security = user

# Autorizzare l'accesso ad alcune reti (è importante il punto alla fine)
hosts allow = 192.168.1.

# Si può autorizzare tutti i terminali di questa rete ad eccezione di 192.168.1.10
hosts allow = 192.168.1. EXCEPT 192.168.1.10

# Imposta gli indirizzi IP dei terminali ai quali si vuole proibire l'accesso
# al Server Samba per esempio: ALL, per vietare a tutti tranne le
# macchine autorizzate dal <hosts allow>.
Host deny = ALL

# alcun proxy dns
dns proxy = No

# lasciare questa riga come è di défaut
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

# attivare la funzione del tempo del server
time server = yes

# lo script di connessione porta il nome del gruppo, %g che è la variabile
# samba per il gruppo primario
logon script = %g.bat

# autorizza la connessione degli utenti sul dominio
domain logons = yes

# se vogliamo che il server sia il master del dominio
domain master = yes

# nel caso ci siano diversi controller del dominio, il
# server sarà il favorito
prefered master = yes

# Nel caso il server master permetta di predominare sulle le altre macchine
# windows
os level = 255

# si da l'accesso alla cartella netlogon che contiene gli script di avvio
[netlogon]

# percorso d'accesso alla cartella
path = /home/netlogon

# solo gli utenti menzionati possono utilizzare questa cartella
public = no

# non si può scrivere in questa cartella
writable = no

# la cartella non appare nell'arborescenza
browseable = no

# lista degli utenti che hanno i diritti root su questa cartella,
admin users = giacomo

Sezione Home

Condivisione della cartella personale

La sezione [homes] permette di definire l'accesso alla cartella personale di ciascun utente. Ecco un esempio di sezione:

[HOMES]

# commento visibile dalla rete
comment = Home Directories

# visualizzazione della risorsa per tutti
browseable = no

# possibilità di scrittura sulla risorsa
writable = yes

Sezione Documents

Condividere una cartella qualsiasi

È possibile definire un accesso personalizzato a qualsiasi cartella del terminale creando una sezione che porta il nome che si desidera dare alla risorsa. Questo conterrà, tra l'altro, un parametro path che darà il percorso d'accesso alla risorsa. Questa cartella sarà disponibile per la lettura e la scrittura sulla stazione Windows secondo l'utente loggato. Ecco un esempio di sezione personalizzata:

[DOCUMENTS]

# commento visibile dalla rete
comment = /home/Cartella_qualsiasi

# percorso d'accesso alla risorsa
# Attenzione alla case sensitive!!
path = /home/Cartella_qualsiasi

# visualizzazione della cartella per tutti
browseable = no
guest ok = yes

# inserire i nomi degli utenti che saranno convalidati, la procedura per
# inserirli sarà spiegata in seguito
valid users = nome_utenti

# percorso d'accesso alla risorsa
#dal momento che gli utenti inseriti vi possano accedere, mettiamo no
public = no

# utenti che hanno i diritti root su questa cartella
admin users = nome_utenti

# possibilità di scrittura sulla risorsa
writable = yes

Sezione CD-ROM

Condivisione di un lettore CD-ROM.

E' possibile condividere un'unità CD-ROM (che dovrebbero essere installato precedentemente), creando per esempio una sezione [cd-rom] come segue:

[CD-ROM]

# commento visibile dalla rete
comment = unità CD-ROM

# percorso d'accesso al lettore
path = /mnt/cdrom

# accessibile a tutti
public = yes

# impossibilità di scrittura nella risorsa
writable = no

create mask = 0750

Accedere a una risorsa Samba su Linux

Il client Samba (smbclient) permette di fornire un'interfaccia in riga di comando per accedere alle risorse di Samba da una terminale di tipo Unix. Smbclient permette innanzitutto di verificare l'esistenza di un server Samba sulla rete ed elencare le risorse che essa condivide grazie al comando:

smbclient nome_server_smb 


Una volta le risorse sono identificate è possibile accedere in ciascuna di loro con il comando:

smbclient \\\nome_server_smb\\risorsa -U nome_utente  


Una password dovrebbe essere richiesta all'utente. Poi, è sufficiente inviare dei comandi FTP per inviare/ricevere file o sfogliare le cartelle della risorsa. L'accesso ad una stampante si fa attraverso il comando:

smbclient \\\nome_server_smb\\risorsa -P 


Stampare il file /usr/local/samba/lib/etc.conf si fa con il comando:

print /usr/local/samba/lib/etc.conf 


La visualizzazione della coda di stampa:

queue


L'arresto del smbclient:

exit 


Nota Bene: per accedere alla rete su Linux, aprire Konqueror et digitare nella barra degli indirizzi l'URL smb:/.

Creazione di un utente Samba e accesso all'account di questo utente

Creare un utente nel server Samba sotto Linux Mandrake versione 10 (server).

Graficamente

In riga di comando digitare mcc accedendo come root (o tramite il menu «configure your computer»), per accedere a Mandrake Control Center, poi andare su « sistema », poi «Utenti e Gruppi » e in fine «aggiungi utente».


In riga di comando digitare:

adduser Nome_Utente


Quindi, inserire la password dell'utente nel file smbpasswd in /etc/samba nel modo seguente (in riga di comando):

smbpasswd -a Nome-Utente 


In risposta:

New SMB password: dare la stessa password quando si ha aggiunto l'utente
Retype new SMB password, reinserire la stessa password.

Creare lo stesso utente con la stessa password su una macchina Windows (Client):

Vai su Pannello di controllo e poi in account utente per creare un utente con diritti di amministratore. Ripetere l'operazione per ogni utente da creare.

Nota Bene: Se esistono già degli utenti sul computer Windows, ricreateli solo sul server Linux e, in particolare, non rinominare un utente, o esiste già o è necessario crearlo. Ad ogni utente creato in Windows, riavviare la stazione.

La condivisione delle cartelle

C'è una condivisione della cartella personale, che visualizza la condivisione secondo l'utente registrato e c'è la condivisione di una cartella comune. Attenzione, se si condivide una cartella che non si trova nell'arborescenza « Home », sarà negato l'accesso, dunque la cartella «Home» o una delle sue sottocartelle deve contenere la cartella comune per un miglior uso di essa.

I messaggi d'errore

Possono visualizzarsi dei messaggi di errore del seguente tipo:

Problemi, come Rete introvabile (su Windows) o ancora Internal Error, Please send a full bug at http://kde.org, Unknown error condition in stat Network is unreahable (su Linux), questo tipo di errore significa che non siete connessi alla rete, controllate i collegamenti, i cavi della rete, le impostazioni di rete e il file /etc/samba/smb.conf.

Se si visualizza un messaggio d'errore come questo:

Impossibile connettersi al server Samba
In questo caso verificate l'impostazione del file /etc/samba/smb.conf. Il server Samba, appare nel dominio, ma visualizza il messaggio di errore generato quando ci si clicca, in questo caso, verificare il percorso della cartella di condivisione qualsiasi o personale nel file di dati personali o il file smb.conf.

Potrebbe anche interessarti :
Il documento intitolato « Installazione del server Samba » da CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.