CONFIGURAZIONI PC E RETI
ovvero... come abbiamo fatto dalla A alla Z.
 
HOME DOCUMENTI PROGETTI RISORSE DOMANDE ARTICOLI

 INSTALLAZIONE SAMBA
 ultimo aggiornamento: 23 settembre 2001 ore 10.00 - alcune parti verranno aggiornate
 
 
PROBLEMATICA
installazione SAMBA in rete.
 
COS'E' SAMBA
SAMBA è un servizio di rete (facilmente configurabile) su Linux per la condivisione di file, directory e stampanti in una rete mista Linux/Windows. SAMBA consente di integrare Linux in una rete Windows, implementando il protocollo SMB (conosciuto anche come NetBIOS o LanManager) nei sistemi UNIX. Grazie a ciò, un server Linux può accedere sia come client a risorse condivise, sia rendere disponibili directory e stampanti in una LAN, comparendo all'interno delle "Risorse di rete" come un qualsiasi PC Windows. Le sue potenzialità con le ultime release si spingono oltre, permettendo ad una linux-box di partecipare ad un dominio NT, di gestire la lista delle risorse condivise (servizio Browser) e di agire come server dei nomi di NetBIOS (WINS).
 
I COMPONENTI DI SAMBA
Il server SAMBA è costituito primariamente da due demoni:
· SMBD: demone che fornisce i servizi per la condivisione di file e stampanti ai client; si occupa anche dell'autenticazione per accedere alle risorse messe a disposizione;
· NMBD: demone che gestisce la distribuzione dell'elenco delle risorse condivise, permettendo al server Linux di comparire all'interno dell'elenco dei computer nelle risorse di rete di un PC Windows; può fornire anche servizi come il mantenimento della lista delle risorse condivise nella rete (servizio Browser) e di server per la gestione dei nomi NetBIOS (server WINS).

 
SITUAZIONE DI PARTENZA
La situazione di partenza è rappresentata dalla nostra rete personale con le seguenti caratteristiche:
1) PC 200.200.15.1 avviato con Sistema Operativo Linux RedHat 7, con installato il servizo SAMBA (il quale è selezionabile al momento dell'installazione Custom);
2) PC 200.200.15.2 avviato con Sistema Operativo Windows 98.

 
FASI
1) installazione SAMBA;
2) controlli iniziali di presenza SAMBA nel sistema operativo;
3) configurazione: creazione dei gruppi e delle cartelle condivise;
4) configurazione: controllo dei nomi degli host e degli indirizzi IP;
5) configurazione: impostazione del file /etc/samba/lmhosts;
6) configurazione: configurazione del file /etc/samba/smb.conf;
7) avvio di SAMBA;
8) testing di SAMBA;
9) configurazione di Windows;
10) condivisione di un disco Windows a Linux;
11) condivisione di un disco Linux a macchine Windows;
12) restrizioni di accesso e gestione della sicurezza.

 
FASE 1: INSTALLAZIONE SAMBA
Durante l'installazione Custom di RedHat 7, abbiamo scelto quali pacchetti installare, e tra questi c'era SAMBA. Dopodiché non abbiamo dovuto fare altro: ad ogni avvio di Linux, il servizo SAMBA parte automaticamente.
 
FASE 2: CONTROLLI INIZIALI DI PRESENZA DI SAMBA NEL SISTEMA OPERATIVO
Trattandosi di un servizio che permette connessioni su una rete NetBIOS è bene verificare che nel file /etc/services siano presenti le righe seguenti (le quali indicano le porte riservate a SAMBA):
 
netbios-ns137/tcp# NETBIOS Name Service
netbios-ns137/udp 
netbios-dgm138/tcp# NETBIOS Datagram Service
netbios-dgm138/udp 
netbios-ssn139/tcp# NETBIOS session service
netbios-ssn139/udp 

 
FASE 3: CONFIGURAZIONE: CREAZIONE DEI GRUPPI E DELLE CARTELLE CONDIVISE
Siccome si sta usando la sicurezza a livello di condivisione, occorre specificare un guest account, ossia il nome dell'utente che entrerà nelle cartelle che definiremo come pubbliche. Noi l'abbiamo chiamato "smbuser", appartenente al gruppo "samba" e con directory home in /home/public.
Per fare ciò abbiamo usato il programma LinuxConf (ma System Configuration - Utenti - Normale - Account degli utenti nel Pannello di controllo è equivalente) e:
- abbiamo creato il gruppo samba;
- abbiamo creato l'utente smbuser, con home directory in /home/public.
Affinché la directory /home/public appartenga all'utente smbuser e al gruppo samba abbiamo eseguito il seguente comando:

#chown smbuser:smb /home/public

Quindi abbiamo impostato i permessi alla directory /home public, facendo in modo che chiunque possa avere permesso di lettura e di scrittura, ma che i file della directory appartengano sempre al gruppo samba (attivando il bit SGID 2):

#chmod 2777 /home/public

In questo modo qualunque file creato in /home/public apparterrà al gruppo samba indipendentemente da chi lo abbia creato.

 
FASE 4: CONFIGURAZIONE: CONTROLLO DEI NOMI HOST E DEGLI INDIRIZZI IP
Visualizzando il file /etc/hosts con ad esempio l'editor di testo emacs:
#emacs /etc/hosts
abbiamo controllato che fossero presenti tutti gli host della rete con i relativi IP. Nel nostro caso:

127.0.0.1localhostlocalhost.localdomain
200.200.15.1natalianatalia.gualtynatalia
200.200.15.2gualtygualty.gualtynatalia
200.200.15.3portatileportatile.gualtynatalia

I valori indicati sono relativi all'indirizzo IP, al nickname e al nome host completo.
Nel caso fosse mancato il valore di un PC, avremmo dovuto aggiungerlo.

 
FASE 5: CONFIGURAZIONE: IMPOSTAZIONE DEL FILE /etc/samba/lmhosts
Questo file (posto o in /etc o in /etc/samba come nel nostro caso) associa i nomi degli host (o gli indirizzi IP) ai nomi NetBIOS.
Il nostro file contiene le seguenti righe:

localhostnatalia
gualtygualty

Nella colonna di sinistra compaiono i nomi degli host (o gli indirizzi IP), mentre nella colonna di destra i nomi NetBIOS: abbiamo fatto sì che i nomi NetBIOS e i nomi di host coincidessero.

 
FASE 6: CONFIGURAZIONE: CONFIGURAZIONE DEL FILE /etc/samba/smb.conf
I demoni smbd e nmbd si basano sui parametri di configurazione specificati in questo file, situato nella directory /etc o, come nel nostro caso (per RedHat 7), nella directory /etc/samba.
Il file contiene numerosi parametri da editare, e per averne una spiegazione dettagliata chiedere aiuto a man con il comando:
#man smb.conf
Nel nostro caso, abbiamo utilizzato una versione del file presente una volta installato RedHat e con esso Samba, adattandola opportunamente alla nostra situazione. Ecco il nostro file di configurazione:

#======================= Sezione Globale =====================================
[global]
  workgroup = GUALTYNATALIA
server string = Samba Server
hosts allow = 200.200.15. localhost
printcap name = /etc/printcap
load printers = yes
printing = lprng
guest account = smbuser
log level=0
log file = /var/log/samba/%m.log
max log size = 50
security = SHARE
encrypt passwords = yes
null passwords=Yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
interfaces = 200.200.15.1/24 127.0.0.1/24
bind interfaces only = yes
name resolve order = wins lmhosts bcast
wins support = yes
dns proxy = no
os level=0
preferred master = yes
#============================ Sezione Condivisioni ==============================
[homes]
  comment = Home Directories
# come segnalato da Manuel Bergamaschi, mettendo browseable= no comunque la cartella viene
# visualizzata, ed una sola volta!!!
browseable = no
writable = yes
[public]
  path = /home/public
guest ok = yes
writable = yes
printable = no
#============================ Sezione Stampanti ==============================
[printers]
  comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
printable = yes

Diamo un a spiegazione del file.
Ogni linea che inizia con un punto e virgola ( ; ) o con un segno di cancelletto ( # ) viene considerata come un commento e pertanto non interpretata dal servizio.
Il file è suddiviso in sezioni e parametri. Le sezioni sono contraddistinte dalle parentesi quadre come [global], i parametri sono nella forma nome_parametro=parametro come workgroup = gualtynatalia.
Le sezioni possono essere raggruppate in tre sezioni generali:
· globale
· condivisioni
· stampanti

La sezione generale globale ([global]) contiene parametri che verranno utilizzati per i demoni smbd e nmbd:
- workgroup: specifica il gruppo di lavoro nel quale il PC Linux (200.200.15.1) comparirà sfogliando le risorse di rete da un pc Windows (nel nostro caso è = GUALTYNATALIA);
- server string: è la descrizione del PC che comparirà in Windows (= Samba Server);
- hosts allow: specifica gli host ai quali è permesso di utilizzare i servizi di Samba. Se viene incluso nella sezione [global] fa riferimento a tutte le risorse, altrimenti ha valore solo sulla sezione nella quale è inserito; sono validi sia il nome host (es. hosts allow = gualty), sia l'indirizzo IP (es. hosts allow = 200.200.15.2), sia l'indicazione di una sottorete (es. hosts allow = 200.200.15.1/255.255.0.0 o equivalentemente hosts allow = 200.200. );
- printcap name: indica il path completo file /etc/printcap e serve per caricare automaticamente la lista di tutte le stampanti, contenuta in tale file, piuttosto di definirle singolarmente;
- load printers = yes: indica di visualizzare, su una macchina Windows, tutte le stampanti presenti nel file specificato da printcap;
- printing = lprng: indica un tipo di interpretazione dello stato della stampante;
- guest account: specifica il nome dell'utente generico da considerare guest; nella sezione corrispondente alla risorsa che si vuole condividere in tal modo si deve poi inserire il parametro guest ok = yes. Nel nostro caso, abbiamo definito smbuser come guest account, appartentente al gruppo samba. Nella sezione 3) abbiamo già descritto come abbiamo fatto;
- log level = 0: (sinonimo di debug level) specifica il livello di debug;
- log file: specifica la collocazione dei file di log di Samba;
- max log size: specifica la dimensione massima (in kilobytes) di ciascun file di log;
- security : specifica il tipo di sicurezza preferito, cioè USER o SHARE. Scegliendo SHARE (come nel nostro caso) si fa sì che il proprio sistema Linux condivida file senza che venga richiesta alcuna forma di autenticazione. Se si desidera che ogni sezione condivisa segua questo tipo di impostazione, occorre, come abbiamo fatto noi, inserire la riga di cui sopra nella sezione globale. In caso contrario, è necessario inserirla all'interno di ogni sezione rappresentante una condivisione per cui si desidera sia attivo l'accesso anonimo. Scegliendo USER un client prima di poter accedere alle risorse condivise deve essere autenticato dal server Samba fornendo una coppia username/password valida. Le risorse condivise non sono visibili finché il client non è stato convalidato correttamente, mentre se il server accetta la connessione il client sarà in grado di connettersi a ogni risorsa disponibile senza alcuna ulteriore richiesta di password;
- encrypt passwords = yes: indica a Samba di inviare sulla rete solamente password crittografate. I sistemi operativi Microsoft, a partire da Windows 95, utilizzano in modo predefinito password criptate. Samba invece utilizza come default password non criptate. A questo punto sono possibili due soluzioni: o si configura Samba per utilizzare password criptate, come abbiamo fatto noi, oppure si configura Windows per usare password in chiaro;
- null passwords = yes: specifica che non è necessario avere una password (inserita con il comando smbpasswd) per i clients che accedono alle risorse condivise;
- socket options: permette di stabilire quali opzioni del socket vengono utilizzate nella comunicazione. Dovrebbero essere configurate in modo da ottimizzare il servizio SAMBA in relazione alla propria rete. Noi abbiamo lasciato i valori di default;
- interfaces: specifica gli indirizzi IP e le relative sottomaschere delle reti che possono accedere al servizio SAMBA. Questo parametro è necessario per la sicurezza di accesso a SAMBA;
- bind interfaces only = yes: avendo specificato il parametro interfaces, questo parametro ne attiva l'utilizzo;
- wins support = yes: attiva il servizio WINS. In questo modo il server Linux 200.200.15.1 è diventato anche un server WINS che gestisce un database dinamico di associazioni di Nomi di NetBIOS - indirizzi IP; fatto questo ci si deve assicurare di specificare, nelle impostazioni di rete di tutti i client, l'indirizzo IP 200.200.15.1 del server WINS;
- name resolve order : determina quali servizi dei nomi utilizzare e in quale ordine per risolvere nomi di host in indirizzi IP. "wins" è relativo al server WINS; "lmhosts" è relativo ai nomi contenuti nel file /etc/samba/lmhosts in RedHat 7 (o /etc/lmhosts nelle altre distribuzioni); "bcast" è relativo ad una ricerca broadcast sulle interfacce di rete specificate con il parametro interfaces;
- dns proxy = no: indica al server SAMBA, in cui è stato attivato WINS, di non cercare il nome sul server DNS se tale nome non è registrato;
-os level: oltre alla gestione dei nomi dei PC presenti in una rete, è fondamentale conoscere quali sono le risorse messe a disposizione da questi client; in ogni sottorete è presente un "local browse master" che raccoglie l'elenco dei PC e delle risorse da loro condivise e registra queste informazioni in una lista chiamata "browse list". I singoli client fanno richiesta al loro avvio di questa lista e ad ogni variazione sono avvisati che ne è disponibile una versione aggiornata. Se sono presenti più sottoreti o più gruppi di lavoro separati, esiste anche un "domain master browser" con il compito di raccogliere le liste delle risorse di ogni sottogruppo e di metterle a disposizione dei browse master locali. Queste figure sono dinamiche e possono venire di volta in volta impersonate da host diversi; la scelta dei compiti avviene infatti tramite delle "elezioni" scatenate ogni volta che un nuovo PC si presenta in rete. Per facilitare le cose Microsoft assegna dei valori ad ogni suo sistema operativo in modo tale che i sistemi più recenti o più aggiornati possano prevalere sugli altri. Nella configurazione di Samba si può scegliere quale valore attribuire al nostro server attraverso il parametro os level. Specificando un valore superiore a 2 si possono sopraffare PC con Windows 95, utilizzando invece un valore vicino a 60 si può riuscire a superare anche un server NT. In un workgroup è necessaria sia la presenza di un local browse master che di un domain master browser ed è conveniente affidare entrambi i compiti allo stesso server, magari ad un server Linux. Per fare ciò aggiungere i parametri:
domain master = yes
local master = yes;
- preferred master = yes: indica che all'avvio del server 200.200.15.1 il servizio nmbd forzi un'elezione per la gestione delle browse list e se i requisiti (il valore di os level) sono sufficienti, la vinca.

La sezione generale Condivisioni (Shares) comprende le sezioni che vengono condivise, relative ai dischi e alle directory. I nomi specificati tra le parentesi quadre compariranno come i nomi delle risorse condivise nella finestra Risorse di Rete delle macchine Windows.
La sezione [homes] abilita la condivisione delle home directory degli utenti; ad esempio, gualty accedendo in un PC Windows con user gualty potrà entrare nella sua directory home sulla macchina Linux.
E' necessario inserire in SAMBA gli utenti Windows con le loro password attraverso il comando smbpasswd -a utente, dove al posto di utente deve essere inserito il nome del nuovo utente. Tale utente deve essere presente anche nell'elenco degli utenti di Linux.
Ecco una descrizione dei parametri:
- comment: descrizione che comparirà in Windows;
- browseable = no: nonostante occorra, in generale, mettere browseable=yes per specificare che la risorsa condivisa deve comparire nell'elenco delle risorse relative al PC Linux (in pratica, se yes in Risorse di Rete sulla macchina Windows comparirà la dicitura relativa alle homes condivise), in questo caso sarebbe meglio metter browseable=no. Infatti, come segnalato da Manuel Bergamaschi, le cartelle homes vengono comunque visualizzate;
- writeable = yes definisce l'accesso in scrittura da parte degli utenti abilitati. Con l'aggiunta della voce "write list" si possono invece specificare gli utenti o i gruppi che possono accedere in scrittura alla directory (es. write list = gualty, @samba), dove il simbolo @ identifica che il nome seguente indica un gruppo; per imporre invece l'accesso in sola lettura è necessario specificare "writeable = no" o equivalentemente "read only";

La sezione [public] è relativa ad una sezione pubblica in cui gli utenti possono accedere senza specificare la password. Ecco una spiegazione dei parametri:
- path: definisce il percorso assoluto della directory public condivisa;
- guest ok= yes: (equivalente a public = yes) specifica che la condivisione è pubblica, e quindi non sarà necessario immettere la password. Quasiasi utente che acceda a questa condivisione sarà visto come utente smbuser, avendo specificato nella sezione [global] il parametro "guest account = smbuser";
- printable = no: indica che la risorsa non è una risorsa di stampa.

La sezione generale Stampanti ([printers]) riguarda le stampanti condivise. Tramite la sezione [printers] si possono condividere automaticamente tutte le stampanti presenti nel file /etc/printcap.Ecco la spiegazione dei parametri:
- path = /var/spool/samba: specifica la directory in cui verranno poste le code di stampa;
- guest ok = no: specifica che non tutti possono avere accesso a questa stampante, ma solo agli utenti abilitati;
- printeable = yes: per indicarla come risorsa di stampa; si tratta di un parametro caratteristico di questa sezione, e di ogni risorsa condivisa.

Al termine delle modifiche al file smb.conf abbiamo testato la configurazione con il comando

testparm.

Le informazioni visualizzate con questo comando sono divise in due schermate:
a) La prima informa dell'eventuale correttezza del file smb.conf:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Press enter to see a dump of your service definitions

b) la seconda permette di ottenere la configurazione così come è stata interpretata, completa di tutti i parametri specificati e di quelli predefiniti.
Se non vengono riportati errori, il demone smbd caricherà correttamente il file di configurazione nel momento in cui verrà riavviato.

 
FASE 7: AVVIO SI SAMBA
Ci sono due modi per configurare l'avvio dei servizi smbd e nmbd. La prima è di avviare i due demoni da inetd, su richiesta; la seconda è di avviare i servizi come demoni all'avvio del computer. Il vantaggio della prima scelta è che Samba consuma meno memoria e inoltre è possibile impiegare utility per garantire una maggiore sicurezza. Con la seconda scelta invece, Samba è sempre pronto a iniziare una sessione e quindi garantisce un accesso più veloce alle risorse condivise. Noi abbiamo optato per quest'ultima scelta. Tra l'altro, la distribuzione RedHat 7 di Linux installa automaticamente Samba in questo modo.
A questo punto abbiamo fatto un restart di Samba con i comandi:

/etc/rc.d/init.d/smb stop
/etc/rc.d/init.d/smb start

I due comandi possono essere sostituiti dal comando "/etc/rc.d/init.d/smb restart".
Non essendo comparsi messaggi di errore, il servizio SAMBA è risultato essere attivo.

 
FASE 8: TESTING DI SAMBA
Abbiamo qualche test per vedere lo stato del servizio SAMBA sul PC Linux.
Il primo passo per accertarsi di aver fatto un buon lavoro è stato quello di elencare le risorse condivise dal nostro server con il comando (per ulteriori spiegazioni in una shell scrivere il comando man smbclient):

smbclient -L localhost -U smbuser

Il risultato è stato il seguente:

SharenameTypeComment
--------------------
homesDiskHome Directories
publicDisk
IPC$IPCIPC Service (Samba Server)
lpnPrinter
 
ServerComment
----------------
GUALTY
NATALIASamba Server
 
WorkgroupMaster
----------------
GUALTYNATALIAGUALTY

cioè l'elenco delle condivisioni dell'utente smbuser, che nel nostro caso corrisponde all'utente che impersona l'accesso di tipo public (senza password). E' stata richiesta una password, ma dato che smbuser non ne ha, è bastato premere invio.

Per vedere invece l'elenco delle condivisioni, ad esempio, dell'utente gualty, è bastato anaogalmente digitare il comando:

smbclient -L localhost -U gualty

Questa volta nell'elenco delle risorse condivise (sharename) è comparsa anche la home directory dell'utente gualty:

SharenameTypeComment
--------------------
homesDiskHome Directories
publicDisk
IPC$IPCIPC Service (Samba Server)
lpnPrinter
gualtyDiskHome Directories
 
ServerComment
----------------
GUALTY
NATALIASamba Server
 
WorkgroupMaster
----------------
GUALTYNATALIAGUALTY

 
Come ulteriore verifica finale abbiamo sfruttato ancora l'utility smbclient nei seguenti modi:
- per verificare che le directory condivise sul PC siano visibile in rete attraverso "Gestione Risorse" o "File Manager" dei PC Windows abbiamo utilizzato

smbclient "\\\\natalia\\public"

- per avere dal server Linux natalia.gualtynatalia l'elenco delle condivisioni disponibili sul PC gualty (200.200.15.2) abbiamo utilizzato il comando:

smbclient -L gualty.gualtynatalia

Abbiamo anche eseguito tutti i test contenuti in questo documento (di cui una copia è stata messa su questo server).

 
FASE 9: CONFIGURAZIONE DI WINDOWS
Per prima cosa abbiamo verificato che le impostazioni di rete erano corrette.
Cliccando con il tasto destro su Risorse di Rete e selezionando proprietà appare la seguente schermata:



Erano giè presenti "Client per Reti Microsoft","3Com fast EtherLink ..." (ossia, la nostra scheda di rete), "TCP/IP", "Condivisione file e stampanti reti Microsoft". Se non fossero stati presenti, avremmo dovuto aggiungerli (con il tasto Aggiungi).
Nella scheda "Identificazione" ci siamo assicurati che il nome del computer, gualty, e il Gruppo di lavoro, GUALTYNATALIA, fossero corretti.
Nella scheda "Controllo di accesso" abbiamo selezionato "Controllo di accesso a livello di condivisione":



Nella scheda "Configurazione" cliccando sul tasto "Condivisione di file e stampanti" comparirà questa finestra :



in cui le due opzioni presenti devono essere selezionate per consentire la condivisione di file e stampanti.
Per indicare a Windows che il PC 200.200.15.1( macchina Linux in cui abbiamo installato SAMBA), abbiamo selezionato nella scheda "Configurazione" il componente di rete “TCP/IP ->3Com Fast EtherLink XL 10/100Mb TX Ethernet NIC (3C905-TX)”. Cliccando su Proprietà e cliccando "WINS configuration" è comparsa la seguente finestra:



in cui abbiamo selezionato "Enable WINS resolution" ed abbiamo aggiunto l'indirizzo "200.200.15.1" .

L’ultima cosa che abbiamo fatto è stata quella di selezionare, sempre nella scheda "Configurazione", il componente di rete “Condivisione file e stampanti per reti Microsoft”, cliccare sul tasto Proprietà in modo che è comparsa la seguente finestra:



Cliccando su OK, Windows ci ha richisto di riavviare la macchina. A questo punto, il PC Windows (gualty 200.200.15.2) era configurato correttamente. Entrando, ad esempio, con l'utente gualty e cliccando su Risorse di rete è stato possibile vedere elencato il server SAMBA natalia (200.200.15.1) con le relative risorse condivise, che comprendevano pure la directory home di gualty.

 
FASE 10: CONDIVISIONE DI UN DISCO WINDOWS A LINUX
Per accedere alle risorse condivise dagli altri server SMB (PC Windows 95, 98, NT, altro server Linux con Samba ) ci sono due utility:

a) smbclient, che dispone di un'interfaccia a linea di comando simile all'ftp, con la differenza che può inviare anche processi di stampa a stampanti condivise. Lavorare con questo strumento per il il trasferimento di file da una macchina Windows a una Linux risulta però estramente scomodo.
Una volta collegato alla risorsa remota, il client si presenta con un'interfaccia simile ad un programma FTP, mostrando il simbolo smb\> in attesa di ricevere ulteriori comandi; qui si possono utilizzare gli stessi comandi di un client FTP, quindi cd, ls, mkdir, get …

b) smbmount, che permette di "montare" volumi Windows 95 o NT direttamente sotto Linux come parti del file system. Tale utility è disponibile solo per Linux. Noi abbiamo optato per questa utility. La sintassi per montare è la seguente:

smbmount //nome_pc/nome_condivisione /mount point
oppure
smbmount '\\nome_pc\nome_condivisione' /mount point

Ad esempio, immaginando di avere già creato la directory /mnt/datigualty, che fornirà il punto di mount per la dirctory c:/dati condivisa come DATI sulla macchina gualty (avviatat con sistema operativo Windows 98), basta eseguire il comando:

smbmount \\gualty\dati /mnt/datigualty/

Alla richiesta di immissione della password, è necessario inserire quella valida per accedere alla risorsa condivisa, come specificato al momento in cui tale risorsa è stata condivisa.
Ora, accedendo alla directory /mnt/datigualty, è possibile lavorare direttamente sulla directory DATI condivisa dalla macchina Windows chiamata gualty.
Per "smontare" la condivisione, il comando da utilizzare è:

smbunmount /mnt/datigualty

Eseguendo il comando

smbstatus

è possibile visualizzare le risorse in uso (Service), gli utenti collegati(uid) e il gruppo di accesso (gid), la macchina che ha contattato la risorsa (machine) ed eventualmente il numero e le dimensioni dei file bloccati. Ad esempio:

Samba version 2.0.7
Serviceuidgidpidmachine
----------------------------------------------
publicsmbusersamba1355gualty(200.200.15.2) Mon Apr 16 00:12:04 2001
 
Locked files:
PidDenyModeR/WOplockName
--------------------------------------------------
1355DENY_WRITE RDONLY EXCLUSIVE+BATCH /home/public/prova1 Mon Apr 16 00:12:04 2001
 
Share mode memory usage (bytes):
 1048368(99%) free + 136(0%) used + 72(0%) overhead = 1048576(100%) total

 
FASE 11: CONDIVISIONE DI UN DISCO LINUX A MACCHINE WINDOWS
L’accesso da Windows alla risorsa condivisa con Linux avviene direttamente da Gestione Risorse (o da Risorse di rete) sfogliando le risorse di rete alla ricerca del computer Linux.
Nel caso in cui questo non dovesse essere presente, è possibile comunque effettuare una connessione in rete utilizzando il comando Connetti unità di rete dal menù Strumenti di Gestione risorse, specificando il path della risorsa da connettere e la lettera a cui associare la condivisione.
Ad esempio, nel nostro caso, è possibile connettere la risorsa [public] della macchina Linux 200.200.15.1 immettendo \\200.200.15.1\public .

 
FASE 12: RESTRIZIONI DI ACCESSO E GESTIONE DELLA SICUREZZA
Le restrizioni di accesso si riferiscono allo specificare quali reti possono accedere al servizio SAMBA sulla macchina 200.200.15.1 .
Avendo inserito nel file di configurazione smb.conf le righe

interfaces=200.200.15.1/24 127.0.0.1/24
bind interfaces only = yes


al nostro PC 200.200.15.1 possono accedere solo i PC Windows appartenenti alla rete locale. Ricordiamo che /24 è equivalente a 255.255.255.0 (ossia è il numero di bit a 1 della maschera).

Un'altra protezione puo' essere inserita filtrando le porte dalla 137 alla 139 attraverso ipfwadm o ipchains.
Per quanto riguarda ipfwadm occorre aggiungere le seguenti righe allo script che gestische la sicurezza (ad esempio, in /etc/rc.local):

ipfwadm -I -P tcp -a deny -S any/0 137:139 -W eth0
ipfwadm -I -P udp -a deny -S any/0 137:139 -W eth0
ipfwadm -O -P tcp -a deny -S any/0 137:139 -W eth0
ipfwadm -O -P udp -a deny -S any/0 137:139 -W eth0


Utilizzando, invece, ipchains si aggiungeranno le seguenti righe:

ipchains -A input -p tcp -j DENY --destination-port 137:139 -i eth0
ipchains -A input -p udp -j DENY --destination-port 137:139 -i eth0
ipchains -A output -p tcp -j DENY --destination-port 137:139 -i eth0
ipchains -A output -p udp -j DENY --destination-port 137:139 -i eth0

 
DOCUMENTI CORRELATI
SAMBA: CONDIVISIONE DIRECTORY A LIVELLO UTENTE
RIFERIMENTI
www.samba.org
www.linuxnewbie.org/nhf/intel/network/samba/samba1.html
samba.linuxbe.org
www.hopslibri.com/samba
CAMBIAMENTI
--. 23 settembre 2001 10.00: in sezione homes, cambiato browseable da yes a no, come segnalato da Manuel Bergamaschi
--. 17 aprile 2001 23.50 : creazione documento
 
 
 redazione@retelinux.com