SambaServer.2

Da Wiki-itsos.

Configurare un servizio di condivisione tramite Samba (base) In informatica Samba è un progetto libero che fornisce servizi di condivisione di file e stampanti a client SMB/CIFS. Samba è liberamente disponibile, al contrario di altre implementazioni SMB/CIFS, e permette di ottenere interoperabilità tra Unix, Linux, Mac OS X e Windows.

Cosa ci serve Macchina virtuale Ubuntu Server 14.04

Azioni da svolgere Configurare il file /etc/network/interfaces in base alle nostre esigenze Sambacorrect1.png


Eseguire i seguenti comandi:
sudo apt-get update
sudo apt-get upgrade

Installazione Samba:

Installare samba con il comando:
sudo apt-get install samba samba-common	
Installare i pacchetti suggeriti per samba con:
sudo apt-get install python-glade2 system-config-samba 

Configurazione del servizio Samba(smbd):

Iniziamo con un backup di smb.conf
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 
Cancellare tutto il contenuto di smb.conf oppure cancellare il file e ricrearlo
sudo rm /etc/samba/smb.conf
sudo touch /etc/samba/smb.conf
Modifcare il file appena creato, oppure quello di default
sudo nano /etc/samba/smb.conf

All'interno di smb.conf abbiamo una sezione globale e una sezione di cartelle utenti. Questa seconda sezione sarà settata in modo tale da permettere a tutti gli utenti di samba di leggere e scrivere nella cartella /samba/Condivisione. Inoltre ogni utente avrà, all'interno di /samba/Condivisione, una cartella con accesso riservato. Vediamo il settaggio del file smb.conf:

#======================= Global Settings ============== 
[global]
workgroup = WORKGROUP
#gruppo di lavoro dei pc che utilizzano il server
server string = Samba Server %v
#commento associato dall'admin al nome del server 
netbios name = testSamba			
#nome del server visualizzato in rete
security = user
#accesso al server con login e password
map to guest = bad user
map to guest = bad user 
#will map login attempts with bad user names to the guest account you specify with guest account = nobody. That is, if you attempt to login to the share with a user name not set up with smbpasswd the you will be logged in as the user nobody.
dns proxy = no
#to tell Samba to don't use the DNS server
#============== CartellaCondivisa =================== 
[CartellaCondivisa]
path = /samba/Condivisione  
#percorso cartella da condividere
valid users=@utentisamba	
#nome del gruppo di utenti che ha accesso alla cartella
browsable = yes
#la cartella è accessibile agli utenti del workgroup 'WORKGROUP'
writable = yes
guest ok = no
# non consente ai client di connettersi alla condivisione senza dover fornire una password
read only = no

termino I commenti e riporto il file smb.conf
Sambacorrect2.png
Sambacorrect3.png

Il file smb.conf deve trovare corrispondenza, su server per quanto concerne: l'albero delle cartelle gli utenti

Creiamo, come root, la cartella che vogliamo condividere
sudo mkdir /samba
sudo mkdir /samba/Condivisione
Aggiungere un nuovo gruppo di utenti(il gruppo definito sopra come 'valid users'):
sudo addgroup utentisamba
Settato il gruppo utentisamba proprietario di /samba/Condivisione
sudo chgrp -R utentisamba /samba/Condivisione
Abbiamo dato i seguenti permessi
sudo chmod -R 770 /samba/Condivisione

in questo modo utenti appartenenti al gruppo 'utentisamba' possono leggere e scrivere e eseguire in /samba/Condivisione. Sambacorrect4.png

Abbiamo creato l'utente Roberto per la macchina Server
adduser Roberto
Abbiamo creato la cartella, su server, dedicata a Roberto
sudo mkdir /samba/Condivisione/Roberto
Aggiunto Roberto al gruppo utentisamba
sudo adduser Roberto utentisamba
Abbiamo settato la pwd di Robero per entrare nel server samba
sudo smbpasswd -a Roberto (suppRoberto)
Abbiamo settato Roberto proprietario di /samba/Condivisione/Roberto
sudo chown -R Roberto /samba/Condivisione/Roberto
Abbiamo creato l'utente Luca per la macchina Server
adduser Luca
Abbiamo creato la cartella, su server, dedicata a Luca
sudo mkdir /samba/Condivisione/Luca
Per aggiungere Luca al gruppo utentisamba
sudo adduser Luca utentisamba
Abbiamo settato la pwd di Luca per entrare nel server samba
sudo smbpasswd -a Luca (suppLuca)
Abbiamo settato Luca proprietario di /samba/Condivisione/Luca
sudo chown -R Luca /samba/Condivisione/Luca

Sambacorrect5.png
In /samba/Condivisione hanno accesso Luca e Roberto /samba/Condivisione/Roberto ha accesso solo Roberto /samba/Condivisione/Luca ha accesso solo Luca

Domanda: perchè devo specificare sia in Linux che in smb.conf che /samba/Condivisione/Roberto è scrivibile da Roberto?

Riavviare il servizio samba
 sudo service smbd restart

Sambacorrect6.png


Per cercare errori di sintassi
 sudo testparm 

Sambacorrect7.png

Dal punto di vista del clinet avro' la seguente situazione
Sambacorrect8.png