Configurazione avanzata di SAMBA
Voglio sperare che se vi siete messi a leggere questa
pagina sappiate già bene o male di cosa stiamo parlando, anche
perché si tratta di un argomento molto particolare che non
interessa a molti. SAMBA è
l'implementazione sotto Linux del
protocollo NetBios, utilizzato da Windows per la condivisione delle
risorse tra più computer collegati in rete; lo stesso protocollo
Samba è stato portato anche in ambiente Amiga ricompilando e
adattando i sorgenti.
Questa pagina vuole essere un approfondimento riguardo
appunto la configurazione del protocollo SAMBA su un sistema Linux, in
particolare il riuscire a definire le partizioni che ci interessa montare
direttamente nel file /etc/fstab permettendoci quindi di
effettuare il mount automatico al boot o quello dinamico tramite
autoboot. Trattandosi appunto di un approfondimento, una serie di
argomenti saranno dati come scontati, in particolare prima di continuare
la lettura di questa pagina sarebbe consigliabile aver soddisfatto i
seguenti requisiti:
-
Essersi letti con attenzione il
SAMBA HOWTO,
che spiega come funziona la suite di programmi forniti, come configurarli e quali sono i comandi
a disposizione.
-
Avere a disposizione una macchina già configurata
per condividere le proprie risorse tramite NetBios.
Se si tratta di un sistema Windows controllare di aver abilitato la
condivisione per i volumi che ci interessano, in caso di sistemi Linux
suggerisco caldamente di passare al protocollo NFS che
è molto più efficiente.
-
Aver configurato in maniera corretta il proprio sistema
per lavorare con Samba (controllate attentamente di aver inserito lo
stesso gruppo di lavoro per le macchine, altrimenti
non si vedranno mai!)
Per quello che riguarda invece i requisiti software
sinceramente non sono in grado di dirvi a partire da che versioni del
vari programmi questa cosa funziona; credo comunque che sia richiesto un
kernel che presenta le opzioni del filesystem Samba direttamente al suo
interno (basta attivarlo come modulo), un pacchetto del Samba abbastanza
recente, che contenga il comando smbmount con il parametro -c per
definire il comando associato (le prime versioni del comando utilizzavano
un'altra sintassi per il mount) e per finire una versione molto recente
del comando mount (il mount della redhat 5.2 è troppo vecchio,
quello della 6.0, versione 2.9, è perfetto).
Innanzitutto possiamo provare a dare due comandi
giusto per vedere se entrambi i sistemi sono configurati correttamente e
condividono le risorse: negli esempio che farò avremo una macchina
chiamata sylvia che condivide la risorsa DH0 utilizzando la
password polpo.
Utilizziamo il comando smbclient per vedere quali sono le risorse
che la macchina remota ci permette di condividere:
[~]# smbclient -L sylvia
Added interface ip=192.168.4.14 bcast=192.168.4.255 nmask=255.255.255.0
Password: <polpo>
Domain=[UNIVISION] OS=[AmigaOS] Server=[Samba 2.0.4b]
Sharename Type Comment
--------- ---- -------
All Disk All volumes in the system
CDROM Disk Frullatore di CD
Epson Printer Epson Stylus Color 800
DH0 Disk Hard Disk
IPC$ IPC IPC Service (Amiga 2000 060/50MHz)
Server Comment
--------- -------
SYLVIA Amiga 2000 060/50MHz
Workgroup Master
--------- -------
UNIVISION
dopodiché proviamo a montare la risorsa nella
directory /mnt/sylvia utilizzando il comando smbmount:
[~]# smbmount //sylvia/dh0 -c 'mount /mnt/sylvia/'
Added interface ip=192.168.4.14 bcast=192.168.4.255 nmask=255.255.255.0
Server time is Tue Jun 29 23:24:33 1999
Timezone is UTC+2.0
Domain=[UNIVISION] OS=[AmigaOS] Server=[Samba 2.0.4b]
security=share
Se uno dei programmi non avesse dato i risultati
sperati forse è il caso di mettere mano alle configurazioni e
sistemare il tutto prima di procedere con la lettura, anche perché
è difficile che le cose si mettano a posto da sole. Se invece
l'ultimo comando non vi ha riportato errori e nella directory
/mnt/sylvia trovate il contenuto dell'HD della macchina remota
allora possiamo procedere con il nostro discorso.
In pratica è giunto il momento di mettere mano
al nostro file /etc/fstab ed aggiungere le voci per le risorse
condivise nel solito formato utilizzato da SAMBA e indicando come tipo di
filesystem smbfs. Giusto per darvi una idea di come debbano essere
inserite queste nuove righe vi posto il mio file di configurazione:
/dev/hda5 / ext2 defaults 1 1
/dev/hda6 swap swap defaults 0 0
/dev/fd0 /mnt/floppy vfat user,noauto 0 0
/dev/cdrom /mnt/cdrom iso9660 user,noauto,ro 0 0
/dev/cdr /mnt/cdr iso9660 user,noauto,ro 0 0
/dev/zip /mnt/zip vfat user,noauto,nosuid 0 0
/dev/hda1 /mnt/win vfat user,noauto,nosuid 0 0
/dev/hdc1 /mnt/dos vfat user,noauto,nosuid 0 0
sonja:/ /mnt/sonja nfs user,noauto,nosuid 0 0
\\sylvia\All /mnt/sylvia smbfs user,noauto,nosuid 0 0
\\eliza\All /mnt/eliza smbfs user,noauto,nosuid 0 0
none /proc proc defaults 0 0
Le due righe che precedono la definizione del
filesystem virtuale proc sono quelle che appunto definiscono i
filesystem SAMBA, quella subito prima invece definisce quello in NFS per
condividere il disco di un'altra macchina Linux. In particolare la
risorsa All la ho configurata sui miei Amiga in modo che siano
direttamente visibili tutti i volumi condivisibili da queste macchine
senza doverli specificare uno per uno (cosa che su Windows non si
può fare).
Manca ora un piccolo particolare: dobbiamo definire le
password per poter accedere ai sistemi remoti. Per fare questo ci viene
in aiuto il comando smbpasswd con il quale andremo a generare il file
/etc/smbpasswd:
[~]# smbpasswd
New SMB password:
Retype new SMB password:
Password changed for user root.
A questo punto siamo pronti per montare il disco remoto della
macchina come qualsiasi altra periferica locale oppure NFS,
ovvero utilizzando il comando:
[~]# mount /mnt/sylvia/
Added interface ip=192.168.4.14 bcast=192.168.4.255 nmask=255.255.255.0
Server time is Tue Jun 29 23:35:44 1999
Timezone is UTC+2.0
Domain=[UNIVISION] OS=[AmigaOS] Server=[Samba 2.0.4b]
security=share
senza dover specificare alcun altro parametro. Questo
inoltre ci permette di montare automaticamente il filesystem al boot
eliminando il parametro noauto dal file di configurazione. L'unica
cosa che al momento non son riuscito a fare è stato permettere ad
un utente normale di effettuare il mount, quindi se nelle vostre prove
riuscite ad ottenere un risultato in questo senso, vi pregherei di
mandarmi una mail.
RIFERIMENTI
- SAMBA è un software open source che permette la condivisione di file e stampanti con l'ambiente Windows.
- Il SAMBA HOWTO è una guida completa per l'installazione, la configurazione e il tuning di SAMBA. Spiega anche come configurare un server Linux per diventare il controller di dominio primario di una rete Windows.