Mandriva Box
Configuriamo Samba
Guide - Guide
Scritto da Vittorio   

Questa non vuole essere una vera e propria guida alla configurazione di Samba, bensì degli appunti per poter iniziare a condividere files del proprio sistema all'interno della propria rete. Dando per scontato che l'applicazione Samba sia già installata sulla vostra macchina vediamo subito i passi da compiere per poter condividere qualcosa. 


Samba è composto da due demoni, nmbd e smbd: il primo si occupa di tutte le operazioni di risoluzione dei nomi. Questo demone è responsabile della gestione della master browser list e del servizio WINS.
La master browser list è un servizio molto importante. Quando si fa clic su Risorse di rete e si vedono le icone dei computer presenti si sta in realtà leggendo un elenco mantenuto da un computer ben preciso assegnato a questo scopo.
Quando si accende un altro computer in rete questo cerca il gestore dell’elenco e segnala a tale sistema la propria presenza, aggiornando l’elenco. È per questo motivo che i computer che entrano per la prima volta in rete impiegano un po’ di tempo prima di essere visibili in Risorse di rete.
Allo stesso modo quando si spegne un computer questo rimane ancora visibile nell’elenco per un certo periodo di tempo.
Durante lo spegnimento non viene infatti eseguita una notifica al gestore e il proprio nome rimane attivo per un certo numero di minuti prima che venga automaticamente ripulito.
Il gestore dell’elenco dei computer è definito Master Browser List. Il ruolo viene assegnato a una delle macchine presenti attraverso un meccanismo di elezione. Durante questa fase sono presi in considerazione diversi parametri tra cui il periodo di uptime, la versione dei protocolli usati, il sistema operativo utilizzato (client o server) ecc. Il migliore sistema diventa il master browser list fino a quando viene spento o quando le elezioni sono nuovamente indette e il sistema locale risulta inferiore come numeri a un nuovo sistema. Questo può succedere se in una rete di soli client Windows si attiva un sistema Linux con Samba. Tale macchina ha i numeri migliori rispetto ai client, se non altro perché è un server e vince le elezioni acquisendo la gestione della master browser list.
Un altro servizio molto importante in una rete di computer Windows è WINS. Si tratta di un meccanismo che permette la risoluzione di un nome esteso (per esempio amministrazione4) nel suo indirizzo IP (per esempio 192.168.100.14).
 
Passiamo alla configurazione
Verifichiamo inizialmente che il demone smb sia attivo, pertanto apriamo una shell, logghiamoci da root e diamo il seguente comando, service smb status, nel caso risultasse fermo, avviamolo con service smb start.
Una cosa molto importante da ricordare è che quando si modiica il suo file di configurazione smb.conf non è strettamente necessario riavviare il servizio con service smb restart, in quanto il suo file viene letto ogni 60 secondi dal sistema. Premesso questo, procediamo con la configurazione del servizio. Spostiamoci consecutivamente su mcc, condivisioni in rete, condividi dischi e cartelle con sistemi Uindows (SMB), a questo punto ci comparirà il messaggio "sembra che sia la prima volta che utilizzi etcc ..." diamo ok. Il sistema ora ci mostrera la maschera seguente:
 

selezioniamo e confermiamo standalone.

La successiva ci chiede il grppo di lavoro di appartenenza, attenzione che tale nome coincida con il nome del gruppo di lavoro assegnato agli altri computer della rete, compreso Uindows!! Su hostname potete lasciarlo anche in bianco se non avete assegnato alcun nome al vostro sistema.

Ora impostiamo la modalità di sicurezza con la quale Samba deve lavorare, questo parametro permette di impostare la tipologia di accesso alle vostra risorse condivise, se con password o senza, comunque, sono tutti parametri che anche successivamente potrete cambiare in ogni momento.

Nella prossima schermata credo sia già chiaro e vi basta confermare cliccando su OK.

Qui il sistema ci chiede alcune informazioni relativo ai log del servizio, vi consiglio di impostare almeno a 3 il livello di verbosità dei log.

Ora ci verrà comunicato che abbiamo terminato la prima fase di configurazione di samba e se vogliamo memorizzare le impostazioni dovremo cliccare su OK:

Terminata la prima fase di configurazione dobbiamo procedere con l'assegnazione deigli utenti e delle password. Gli utenti e le relative password devono essere quelle presenti sui computer appartenenti alla stessa rete.

Samba gestisce gli utenti con le relative password in maniera del tutto indipendente, pertanto per aggiungere agli utenti Samba la relativa password, basterà dare il seguente comando da root:

smbpasswd -a nome_utente

e poi assegnare la relativa pssword. E' opportuno ricordare che gli utenti aggiunti in Samba devono risultare anche nel sistema operativo.

N.B.: Per evitare che sorgano problemi relativi ai permessi di scrittura di un detrminato utente su una condivisione, impostate i seguenti permessi: chmod 777 directory_condivisa. In questo modo sarà consentito la lettura/scrittura a tutti gli utenti definiti nel file smb.conf. Ricordiamoci che ad ogni modifica al file smb.conf dobbiamo riavviare il servizio con samba restart.

 

Per poter iniziare ad utilizzare le risorse condivise della propria rete, è opportuno impostare qualche direttiva. Peratnto apriamo una shell e logghiamoci da root, editiamo il nostro file di configurazione di Samba, /etc/samba/smb.conf. Noterete che il file è molto lungo e ben commentato, ma possiamo benissimo cancellare il suo contenuto (fate prima un copia), per copiare ed incollare seguente:

[global]
allow hosts = 192.168.0.0/255.255.255.0
workgroup = MDKGROUP
server string = %h
load printer = yes
printcap name = /etc/printcap
map to guest = Bad User
invalid users = root,admin,administrator,ftp,guest
log level = 3
log file = /var/log/samba/%m.log
max log size = 100
interfaces = 192.168.0.2
os level = 34
prefered master = yes
domain master = yes
dead time = 5
status = yes
read prediction = true

[printers]
comment = stampanti
guest ok = yes
path = /var/spool/samba
create mask = 0700
printable = yes
print command = lpr-cups -P %p -o raw %s -r
use client driver = yes
browseable = no

[CONDIVISA_1]
path = /media/directory/condivisa1
invalid users = root,admin,administrator,ftp,guest
valid users = user1
comment = Condivisa_1
read only = no
write list = user1
admin users = user1
create mask = 777
directory mask = 777

[CONDIVISA_2]
path = /media/directory/condivisa2
invalid users = root,admin,administrator,ftp,guest
valid users = user1,user2
comment = Condivisa_2
write list = user2
admin users = user1
create mask = 777
directory mask = 777

[CONDIVISA_3]
path = /media/directory/condivisa3
invalid users = root,admin,administrator,ftp,guest
valid users = user1,user2
comment = Condivisa_3
write list = user1
admin users = user1
create mask = 777
directory mask = 777

[CONDIVISA_4]
path = /media/directory/condivisa4
invalid users = root,admin,administrator,ftp,guest
valid users = user1
comment = Condivisa_4
write list = user1
admin users = user1
create mask = 777
directory mask = 777

[CONDIVISA_5]
path = /media/directory/condivisa5
invalid users = root,admin,administrator,ftp,guest
valid users = user1,user2,user3
comment = Condivisa_5
admin users = user1
create mask = 777
directory mask = 777
read list = user2
write list = user1

 In CONDIVISA 1, che risiede sul sistema dove gira il server, ho voluto rendere accessibile una risorsa soltanto all'utente USER_1, che avrà anche i diritti di amministratore, impedendo al tempo stesso, che alcuni user potessero essere utilizzati,  come root, admin, administrator, ftp, guest;

In CONDIVISA 2 ho voluto rendere accessibile una risorsa soltanto a due utenti USER_1 e USER_2, con diritti di amministratore per USER_1;

Insomma, se provate a copiare il file di configurazione proposto, cambiando ovviamente il percorso delle directory e gli user, vi accorgerete che potrete immediatamente collegare le macchine della vostra rete, rendendo accessibii le risorse della vostra LAN.

Per poter capire come funziona il file /etc/samba/smb.conf, diamo uno sguardo ad alcune direttive molto importanti:

workgroup = MDKGROUP

quì è importante assegnare il nome del gruppo di lavoro uguale a quello di Uindows e privo  spazi

netbios name = mandrivabox

il nome della nostra macchina se lo abbiamo, altrimenti lasciarlo in bianco.

security = USER oppure SHARE

nella modalità SHARE l'accesso viene garantito per mezzo di una semplice password se richiesta, in modalità USER invece richiede una user id oltre alla pas

map to guest = Bad User

Trasforma in anonimi gli utenti che forniscono utenti inesistenti (Bad User) o password errate (Bad Password). Questa impostazione consente di utilizzare l’accesso anonimo anche con la modalità security su user

invalid users = utenti_nonautorizzati

Consente di specificare gli utenti separati dallo spazio, ai quali sarà sempre vietato di accedere alla condivisione,

comment = Condivisione su Server Samba

è il commento che compare di fianco al nome della condivisione quando si viuslizzano i dettagli di file e directory

path = /home/directory_user

imposta la directory della condivisione

guest ok = no

Consente l’accesso alla condivisione da parte di utenti anonimi. Se ci si connette con un utente autorizzato sarà connesso quell’utente altrimenti si verrà connessi come guest/anonimo

browsable = Yes

mostra (yes) o nasconde (no) la condivisione quando si sfoglia la rete. Una condivisione nascosta è funzionale al 100% ma chi non ne conosce il nome non potrà accedervi

host allow = IP

permette di selezionare gli IP che possono sempre accedere al servizio, se ne possono inserire diversi separati da una virgola, se invece viene lasciato vuto, non viene posto alcun limite

host deny = IP

permette di selezionare quali IP NON possono accedere al servizio, se ne possono inserire diversi separati da una virgola, e invece viene lasciato vuto, non viene posto alcun limite

read list = nome_utente

utenti che sono autorizzati ad accedere alla condivisione solo in LETTURA

read only = yes

Opzione che abilita o disabilita gli attributi di scrittura nella directory di riferimento.
I valori di default permettono la sola lettura (read only = yes e writable = no).

admin user = nome_utente

Specifica un utente/i che potranno accedere alla condivisione con i permessi di root, superando qualsiasi limitazione imposta sia da Samba che dai permessi su files e cartelle.

Con questo non crediamo assolutamente di aver detto tutto su Samba, ma  almeno il minimo sindacale affinchè si possa iniziare a poter condividere le risorse all'interno della propria LAN. Ovviamente l'argomento è molto più complesso e consigliamo di approfondirlo meglio.

 
Il Bloggatore Tecnosquare.com