Configurare SAMBA
In questo tutorial impareremo ad inserire Linux in una reteWindows (lo so, sembra una cosa orribile, ma pensate ai soldiche risparmierete in azienda senza essere obbligati adacquistare la costosissima licenza di Windows NT o di Windows2000).
Il programma che utilizzeremo (una scelta obbligatapoiche' mi risulta essere l'unico di questo tipo) sichiama SAMBA. Il nome del prodotto (open source ovviamente)deriva dal nome del protocollo SMB (in alcuni casi chiamatoNetbios) utilizzato da Windows per la condivisione dellerisorse (filesystem o stampanti che siano). Il compito diSAMBA e' proprio l'emulazione (oserei dire perfetta)di questo protocollo sia dal lato server (condivisione di unfilesystem ext2 su rete windows) che dal lato client(possibilita' di montare su linux risorse condivise conWindows).
Installazione
Samba e' diventato molto popolare ultimamente ed e'quindi di base in ogni distribuzione che si rispetti, seavete una distribuzione un po datata o volete essereaggiornatissimi (cosa buona e giusta per aumentare lasicurezza della vostra rete) potete scaricare il pacchettodal sito della casamadre.
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' necessariol'avvio di due demoni (processi che lavorano sempre inbackground):
-
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) leseguenti righe:
nmbd -D
smbd -D
Configurazione
Per la configurazione di SAMBA si utilizza il file/etc/smb.conf (come sempre un normalissimo files ASCII, maquesta volta diviso per sezioni come richiede lo stileWindows).
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, delfile.
La sezione [global]
E' la sezione generale e forse la piu' importante delfile, 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 sopraproposte:
-
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 macchinaWindows 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 visibileda tutti, scrivibile, e i file che vi saranno memorizzatiavranno 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 icomandi:
smbd restart && nmbd restart
Adesso tutte le macchine Windows saranno in grado di"vedere" la macchina Linux come se fosse un lorosimile (giammai).
Configurazione delle macchine Windows (o findus che dir sivoglia)
Se adesso provassimo ad accedere alla macchina Linux daWindows sicuramente verremmo respinti.Per accedere allemacchine windows occorre l'inserimento di una chiave nelregistro 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_MACHINESYSTEMCurrentControlSetServicesLanmanWorkStationParameters
Nel pacchetto di SAMBA esistono dei file .reg che permettonodi aggiungere le chiavi in automatico.
Ora riavviando le macchine Windows (mi pareva strano) potremofinalmente accedere alla macchina Linux fornendoall'avvio di Microsoft Network un nome utente attivosulla macchina Linux e la password al momentodell'accesso alle risorse condivise.
Linux e i file in Windows
Eccovi ora il comando grazie al quale potrete montare lerisorse condivise di una macchina Windows sulla vostra LinuxBox:
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 poterlavorare con Linux in una rete Windows. Che aspettare abuttar via Windows NT? Come diceva un noto spot (non miricordo quale) "Fatelo e' bello".
- Articolo precedente Configurare apache con supporto PHP e MySQL
- Articolo successivo GNU/Linux in azienda: un altro client è possibile! (Parte I)