Logo PJ
Home
Arcade
Musica
Bicicletta
FabLab
Linux
DreamBox
Giochi
 
   Introduzione   Perle   Programmi   SSH   SAMBA   Firewall   GPS   WIFI   Jukebox   PCcar 

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.
Comments