articoli.png
Titolo: Samba: linux e win
Autore: takedown

Testato con debian unstable su un pc e windows xp sull'altro. Kernel linux 2.6.14.
Lan composta da 2 pc collegati insieme tramite switch. A quest'ultimo è collegato il router.
Il router è 192.168.1.1, il pc linux ha indirizzo 192.168.1.2, il pc windows 192.168.1.3 tutti e due netmask 255.255.255.0

Per impostare l'indirizzo ip in linux editate il file /etc/network/interface.
Il mio si presenta così:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
# iface eth0 inet dhcp

# statica
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1

Per windows basta fare dei click sul mouse :-P

Partiamo!
Installiamo samba:
debian:/home/takedown# apt-get install samba smbfs

Per prima cosa facciamo una copia del file di configurazione originale di samba:
debian:/home/takedown# cp /etc/samba/smb.conf smb.conf-default
Adesso configuriamo il server tramite un nuovo file di configurazione di samba:
debian:/home/takedown# vi /etc/samba/smb.conf

[global]
# impostiamo quei parametri che saranno il modello generale per tutte le sezioni.

allow hosts = 192.168.1.0/24
# range di ip al quale è possibile accedere

workgroup = CASA
# il gruppo di lavoro che deve essere lo stesso per i 2 pc

server string = samba
# identificazione del server

browseable = yes
# la condivisione è visibile

create mask = 0755
# permessi sui files condivisi

security = share
# questa istruzione istruisce Samba affinché controlli gli accessi a livello di condivisione.
Questo livello di sicurezza viene adottato quando gli utenti Windows e Linux non coincidono e si desidera condividere dei files mantenendo gli stessi diritti. Per la nostra "lan casalinga" andrà benissimo :-)

Adesso mettiamo in rete una cartella che nel mio caso ho chiamato shared:

[shared]
# nome della cartella condivisa

comment = Shared
# commento alla cartella (che fantasia che ho avuto nel commento :-P)

path = /home/takedown/shared
# percorso della cartella

browsable = yes
# la condivisione è visibile

read only = yes
# i files sono in sola lettura

public = yes
# la directory è di libero accesso

create mask = 0755 # permessi sui files condivisi

guest ok = yes
# bisogna metterlo in quanto il livello di sicurezza è "share" ( si può mettere anche: guest only = yes)

Ecco come si proporrà il nostro file /etc/smb.conf senza commenti (facciamo un po' di "pulizia")

[global]
allow hosts = 192.168.1.0/24
workgroup = CASA
server string = samba
browseable = yes
create mask = 0755
security = share

[shared]
comment = Shared
path = /home/takedown/shared
browsable = yes
read only = yes
public = yes
create mask = 0755
guest ok = yes

Adesso testiamo se il nostro file di configurazione è valido:

debian:/home/takedown# testparm /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
Processing section "[shared]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
workgroup = CASA
server string = samba
security = SHARE
create mask = 0755
hosts allow = 192.168.1.0/24

[shared]
comment = Shared
path = /home/takedown/shared
guest ok = Yes

Bene. Ora facciamo:
debian:/home/takedown# smbclient -L 192.168.1.2
Password: (diamo invio)

Domain=[CASA] OS=[Unix] Server=[Samba 3.0.20b-Debian]
Sharename Type Comment
--------- ---- -------
shared Disk Shared
IPC$ IPC IPC Service (samba)
ADMIN$ IPC IPC Service (samba)
Domain=[CASA] OS=[Unix] Server=[Samba 3.0.20b-Debian]

Server Comment
--------- -------
DEBIAN samba
PC2-59CA12F058D 550

Workgroup Master
--------- -------
CASA DEBIAN

Con il comando smbclient -L hostname "listiamo" tutti gli share di un determinato host
Vediamo in Sharename il nome della directory condivisa e il suo commento
In Server vediamo i pc facenti parte della nostra lan con i relativi commenti
In Workgroup vediamo il gruppo di lavoro e in Master vediamo il pc che ha il ruolo di domain master browser.

Bene adesso per vedere i files condivisi su windows da linux aprite konqueror (nel mio caso) e digitate smb://seguito dall'indirizzo ip dell'altro pc. Nel mio caso smb://192.168.1.3
Vi verranno presentati i files condivisi del pc con windows

Per fare il contrario aprite il Gestione Risorse di windows e digitate (nel mio caso) \\debian\shared e vedrete i files dentro la directory (chiaramente mettete qualcosa se no non vedrete niente :-P). Se no Risorse di Rete -> Pc del gruppo di lavoro.

Per farlo alla "maniera linux" digitate in konsole:
takedown@debian:~$ smbclient //PC2-59CA12F058D/SharedDocs (questo nel mio caso voi magari mettete il nome al pc con windows un po' più semplice)
Password: (Invio)
Domain=[PC2-59CA12F058D] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
smb: \>

date "ls" per vedere i files

smb: \>ls
. DR 0 Mon Dec 5 23:43:39 2005
.. DR 0 Mon Dec 5 23:43:39 2005
Adobe PDF D 0 Wed Nov 30 14:41:56 2005
desktop.ini 141 Sat Nov 12 18:49:47 2005
Immagini DR 0 Wed Jun 22 23:43:54 2005
Musica DR 0 Wed Jun 22 23:43:55 2005
prova.txt A 5 Mon Dec 5 23:43:48 2005
Video DR 0 Wed Jun 22 23:38:34 2005
32851 blocks of size 262144. 12196 blocks available
smb: \>


ora digitate:

smb: \>get prova.txt
getting file \prova.txt of size 5 as prova.txt (4.9 kb/s) (average 4.9 kb/s)

e così facendo avrete copiato il file prova.txt nella vostra linuxbox.

Bene è tutto, spero che questo articolo vi sarà di aiuto.


Linux-Zone.it la zona Linux - Linux, Opensource, informatica libera