Configurare SAMBA
In questo tutorial impareremo ad inserire Linux in una rete
Windows (lo so, sembra una cosa orribile, ma pensate ai soldi
che risparmierete in azienda senza essere obbligati ad
acquistare la costosissima licenza di Windows NT o di Windows
2000).
Il programma che utilizzeremo (una scelta obbligata
poiche' mi risulta essere l'unico di questo tipo) si
chiama SAMBA. Il nome del prodotto (open source ovviamente)
deriva dal nome del protocollo SMB (in alcuni casi chiamato
Netbios) utilizzato da Windows per la condivisione delle
risorse (filesystem o stampanti che siano). Il compito di
SAMBA e' proprio l'emulazione (oserei dire perfetta)
di questo protocollo sia dal lato server (condivisione di un
filesystem ext2 su rete windows) che dal lato client
(possibilita' di montare su linux risorse condivise con
Windows).
Installazione
Samba e' diventato molto popolare ultimamente ed e'
quindi di base in ogni distribuzione che si rispetti, se
avete una distribuzione un po datata o volete essere
aggiornatissimi (cosa buona e giusta per aumentare la
sicurezza della vostra rete) potete scaricare il pacchetto
dal sito della casa
madre.
Come sempre per l'installazione del programma e'
necessario seguire i passi descritti nel tutorial apposito.
Avvio dei servizi
Per il corretto funzionamento del programma e' necessario l'avvio di due demoni (processi che lavorano sempre in background):
-
smbd: utilizzato per ricevere le connessioni SMB;
-
nmbd: che gestisce la risoluzione dei nomi durante le connessioni SMB.
inserendo in uno dei file di init (/etc/rc.d/rc.local) le seguenti righe:
nmbd -D
smbd -D
Configurazione
Per la configurazione di SAMBA si utilizza il file /etc/smb.conf (come sempre un normalissimo files ASCII, ma questa volta diviso per sezioni come richiede lo stile Windows).
Preparativi
Prima di editare il e' necessario creare alcune directory , quindi:
mkdir /directory/condivisa
chmod a+rwx /directory/condivisa
per creare la directory pubblica per SAMBA e:
mkdir /var/spool/samba
chmod a+rwx /var/spool/samba
Per creare la directory di spool.
Ok possiamo passare alla modifica, o alla creazione, del
file.
La sezione [global]
E' la sezione generale e forse la piu' importante del file, un esempio, ovviamente da personalizzare, e':
[global]
workgroup = gruppo_di_lavoro
guest account = nobody
printing = bsd
printcap name = /etc/printcap
Vediamo di spiegare il significato delle righe sopra proposte:
-
workgroup: informa SAMBA che dovra' inserire la macchina linux nel gruppo specificato;
-
guest account: permette di definire il nome di un utente generico al quale consentire l'accesso ai servizi pubblici (di solito e' nobody);
-
printing: assegnando alla variabile la stringa bsd permettiamo a SAMBA di utilizzare lpr per le stampe;
-
pintcap name: il percorso del file del file con le specifiche delle stampanti (in Linux /etc/printcap).
La sezione [homes]
Questa sezione permette agli utenti loggati sulla macchina Windows di accedere alla loro Home Directory Linux. Ovviamente questa sezione e' opzionale.
[homes]
Comment = Home directory
browsable = no
read only = no
printable = no
create mode = 0750
-
comment: setta il commento che windows visualizzera' durante la connessione;
-
browsable: settando al variabile a no si impedisce che la risorsa venga visualizzata da tutti gli utenti;
-
read only: non lo spiego per non offendervi :-);
-
printable: ovviamente non si tratta di una stampante;
-
create mode: ogni file creato dall'utente dalla macchina windows avra' questi di permessi.
La sezione [public]
comment = Directory Pubblica
path = /dir/condivisa
browsable = yes
read only = no
public = yes
create mode = 0777
La directory /dir/condivisa sara' utilizzabile e visibile da tutti, scrivibile, e i file che vi saranno memorizzati avranno permessi massimi (rwx per tutti).
La sezione [lp]
[lp]
comment = Stampante Pubblica
path = /var/spool/samba
browsable = yes
printable = yes
writable = no
public = yes
Conclusione della configurazione
Il nostro file e' pronto e possiamo finalmente salvarlo. Adesso dobbiamo riavviare i servizi smbd e nmbd con i comandi:
smbd restart && nmbd restart
Adesso tutte le macchine Windows saranno in grado di "vedere" la macchina Linux come se fosse un loro simile (giammai).
Configurazione delle macchine Windows (o findus che dir si voglia)
Se adesso provassimo ad accedere alla macchina Linux da Windows sicuramente verremmo respinti.Per accedere alle macchine windows occorre l'inserimento di una chiave nel registro di configurazione (detto anche "miiiiiiiiiiiiiii che casinoooooooooo"). Avviiamo l'editor del registro con Start - Esegui - regedit
Windows 95, 98, ME
Andiamo in "Hkey_local_Machine/System/CurrentControlSet/Services/VxD/VNETSUP" e selezioniamo "Modifica - Nuovo Valore DWORD" diamo alla chiave il nome "EnablePlainTextPassword" e premendo invio il valore esadecimale 1.
Windows NT
Dobbiamo inserire la medesima chiave nella sezione:
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/ Rdr/Parameters/
Windows 2000
Dobbiamo inserire la medesima chiave nella sezione:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices LanmanWorkStationParameters
Nel pacchetto di SAMBA esistono dei file .reg che permettono di aggiungere le chiavi in automatico.
Ora riavviando le macchine Windows (mi pareva strano) potremo finalmente accedere alla macchina Linux fornendo all'avvio di Microsoft Network un nome utente attivo sulla macchina Linux e la password al momento dell'accesso alle risorse condivise.
Linux e i file in Windows
Eccovi ora il comando grazie al quale potrete montare le risorse condivise di una macchina Windows sulla vostra Linux Box:
smbmount //nome_pc_sulla_rete/nome_risorsa /punto/di/mount
mentre per smontarle
smbumount /punto/di/mount
Adesso abbiamo finito siamo finalmente in grado di poter lavorare con Linux in una rete Windows. Che aspettare a buttar via Windows NT? Come diceva un noto spot (non mi ricordo quale) "Fatelo e' bello".
- Articolo precedente Configurare apache con supporto PHP e MySQL
- Articolo successivo Guida all'installazione della KDE2