Samba: guida estesa
Introduzione
Samba e' un software open source che permette la condivisione di risorse come directory, stampanti, masterizzatori ed altro, avvalendosi del protocollo netbios il quale, come noto, puo' permettere anche condivisioni fra macchine Linux e windows.
Configurazione del server
Configureremo il programma server, ovvero cio' che permettera' la condivisione. Installiamolo col comando:
# apt-get update && apt-get install samba smbfs
Rechiamoci nella dir /etc/samba per editare il file smb.conf.
Qui di seguito offro un modello che potrete (dovrete) personalizzarvi poi:
[global] allow hosts = 192.168.1.0/24 workgroup = debianizzati server string = server@debianizzati.org browsable = yes create mask = 0755
Con la sezione “global” all'interno del file smb.conf abbiamo settato quei parametri che saranno il modello generale di tutte le eventuali sezioni che verranno.
Ad esempio se nella successiva sezione, non specificassimo il parametro “allow hosts”, verra' preso come riferimento “192.168.1.0/24".
ok, in breve:
- allow hosts = range di ip ai quali e' permesso l'accesso alla risorsa
- workgroup = nome del gruppo di lavoro
- server string = stringa che identifica il server
- browsable = rende visibile lo share
- create mask = determina i permessi dei file in condivisione
Adesso sempre dentro il nostro smb.conf, creiamo la sezione specifica per la risorsa che vogliamo condividere. In questo esempio condivideremo una directory.
[shared] comment = Directory Shared path = /dir/da/condividere browsable = yes read only = yes public = yes create mask = 0755
Altri parametri:
- comment = commento per la directory
- path = percorso della dir condivisa
- public = rende la dir di libero accesso
- read only = setta i files della dir condivisa in sola lettura.
Ok, a questo punto il file puo' considerarsi configurato. Tuttavia questi sono solo pochissimi parametri. Potrete trovarli tutti a questa pag. tratta dal sito ufficiale di Samba.
Preoccupiamoci ora dell'accesso vero e proprio alla directory messa in condivisione. Possiamo creare un utente samba con smbpasswd, tenendo presente che un utente samba deve anche essere un utente presente sulla macchina.
# smbpasswd -a utente New SMB password: **** Retype new SMB password: ****
Questi sono user e pass coi quali ci loggheremo nel momento in cui monteremo dai client la dir condivisa.
Se volessimo inoltre consentire l'accesso a tutti gli utenti indistintamente, basterebbe inserire il parametro “guest ok = yes” nelle sezioni desiderate. Ad es. nella sezione shared:
[shared] comment = Directory Shared path = /dir/da/condividere browsable = yes read only = yes public = yes create mask = 0755 guest ok = yes
Cosi' facendo potremo loggarci come ospiti digitando solo “invio” come password.
Bene, riavviamo il server:
# /etc/init.d/samba restart
Adesso testiamo la validita' del file /etc/samba/smb.conf col comando:
# testparm
Dovra' restituirvi fra le altre questa stringa:
Loaded services file OK.
Lato client
Spostiamoci sul client e installiamo smbfs:
# apt-get install smbfs
montiamo quindi la risorsa shared col comando:
$ smbmount //ip_del_server/shared /path/del/mountpoint
al momento che ci verra' chiesta la password, possiamo scegliere (in questo nostro caso) di digitare la pass assegnata all'utente samba, o digitare semplicemente “invio” per la presenza, nella sezione shared, del parametro guest ok = yes.
adesso possiamo listiare il contenuto della dir condivisa:
$ ls /path/del/mountpoint
Autore: zmo