Configurare Samba: Opzioni generali

La sezione [global] è praticamente presente in ogni smb.conf.
Qui si definiscono le configurazioni generali riguardanti il server Samba e i suoi comportamenti di default.
Vediamo nel dettaglio alcune opzioni:

CONFIGURAZIONI BASE NETBIOS

Netbios name
Definisce il nome NetBios della macchina, così come viene visualizzato in rete. Di default coincide con il nome DNS per la parte relativa all'host (es: pippo.dominio.it prende di default il nome PIPPO). Es:
netbios name = PLUTONE

Server string
E' il commento che si può leggere visualizzando i dettagli su un host in rete. non è indispensabile ma può essere utile per indicare le funzioni o le caratteristiche della macchina. E' possibile usare variabili, per esempio:
server string = File Server - Samba %v (%h)

Workgroup
Definisce il workgroup di cui fa parte il server Samba. Di default il valore è "WORKGROUP", definito in fase di compilazione, ma può essere cambiato. Es:
workgroup = INTRANET

Netbios aliases
Questa opzione permette di assegnare più nomi NetBios allo stesso server oltre a quello definito con netbios name, in modo da farlo comparire fra le Risorse di rete di Windows come macchine diverse, su cui è necessario eseguire login autonomi, anche se di fatto restano lo stesso server. Questa funzionalità può essere utile. per esempio, per raggruppare su un singolo server diversi server SMB che prima risiedevano su macchine diverse senza modificare alcun parametro sui client. Es:
netbios aliases = vendite marketing amministrazione

GESTIONE DEL NETWORKING

Hosts allow - Hosts deny
Queste opzioni definiscono l'accesso al server. Hanno la stessa logica dei file /etc/hosts.allow e hosts.deny, possono essere presenti sia nella [global] che definiti per singola share. Come argomento si aspettano l'IP di una network o di un host (considerando che la rete 192.168.0.0/24, per esempio, si indica 192.168.0.) oppure un singolo hostname (pippo.dominio.com) o un nome di dominio o sottodominio (.dominio.com).
Sono accettati anche gli argomenti speciali ALL (tutti gli IP) e EXCEPT, seguito da indirizzi o nomi di host.
Samba segue una logica ben precisa per gestire gli accessi con queste opzioni:
- Se non sono definite, viene permesso l'accesso da ogni IP
- Se sono definite nella [global] queste si applicano ANCHE per le singole share (anche se si sono specificate a livello di share)
- Se esiste solo hosts allow viene permesso quanto specificato come argomento e vengono esclusi tutti gli altrti IP
- Se esiste solo hosts.deny sarà permesso l'accesso a tutti gli IP tranne a quelli specificati come argomento
- Se esistono sia hosts allow che hosts.deny vengono esclusi TUTTI gli IP tranne quelli che sono presenti in hosts.allow E non sono presenti in hosts.deny.
Nell'esempio che segue viene dato accesso a 192.168.0.10 e a tutti gli host della rete 10.0.0.0/24 tranne 10.0.0.15:
hosts allow = 10.0.0. 192.168.0.10
hosts deny = 10.0.0.15

Questo esempio corrisponde a:
hosts allow = 192.168.0.10 10.0.0. EXCEPT 10.0.0.15

Se invece si vuole permettere l'accesso solo alla rete 192.168.0.0/16 si può scrivere semplicemente:
hosts allow 192.168.
che coincide con:
hosts deny = ALL EXCEPT 192.168.

Interfaces - Bind Interfaces only
interfaces definisce su quale interfacce di rete dell'host locale Samba si metterà in ascolto. Di default Samba utilizza l'interfaccia di rete principale, ma se si vuole che resti in ascolto su altre interfacce o si vuole essere certi che Samba scelga l'interfaccia voluta, queste vanno specificate tramite il loro indirizzo IP:
interfaces = 10.0.0.3/24 192.168.0.4/255.255.255.0
Il comando bind interfaces only può avere valore yes o no (default). Se viene abilitato Samba ignorerà ogni pacchetto, anche di broadcast, che origina da rete diverse da quelle specificate con interfaces. Notare che se si abilita, è necessario includere esplicitamente il localhost (127.0.0.1) nell'elenco delle interfacce su cui Samba deve stare in listening.
bind interfaces only = yes  

GESTIONE DEL LOGGING

Log file
Specifica su quale file Samba va a scrivere i suoi log. L'argomento può contenere delle variabili, per cui è possibile avere diversi file di log per ogni utente, per tipo di client ecc. Per creare un log diverso per ogni client NetBios, per esempio, si può scrivere:
log file = /var/log/samba.log.%m

Log level
Specifica il livello di logging da usare, va da 0 (minimo) a 10 (estremamente verboso). Il valore di default è 1, su un server normale dovrebbe essere di 1 o 2, se si deve fare un po' di troubleshooting usare il livello 3, valori superiori servono soprattutto a chi sviluppa su Samba e rallentano notevolmente le operazioni:
log level = 2

Max Log Size
Definisce la dimensione massima in Kilobyte dei file di log. Quando viene raggiunto il limite, il file di log viene rinominato aggiungendo il suffisso .old (vengono eliminati eventuali file .old esistenti creati precedentemente) e si riparte con un file di log vuoto. Il valore di defalt è 5000 Kb, il valore suggerito dipende fondamentalmente dallo spazio su disco disponibile, evitare di impostare un valore troppo alto che rischia di occupare tutto lo spazio (considerando anche il file .old):
max log size = 2000

Debug Timestamp
Con questa opzione è possibile specifcare se inserire data e ora per ogni riga di log generata. Coincide con l'opzione timestamp logs. Il valore di default è yes per cui nei log sono indicate data e ora in cui avvengono gli eventi. Per non specificare il timestamp scrivere:
debug timestamp = no

Syslog e syslog only
Queste opzioni regolano la possibilità di usare il demone syslog, invece o parallelamente al logging diretto.
Per poter usare il syslog è necessario compilare Samba con configure --with-syslog e configurare /etc/syslog.conf per gestire la facility daemon. Ad esempio con una riga tipo:
daemon.* /var/log/daemon.log
Il valore specificato (da 0 a 10, default 1) indica quali messaggi di log inviare a syslog e, in riferimento agli argomenti dell'opzione log level, cosa loggare direttamente sui file di log interni. Ad esempio:
log level = 3
syslog = 2

Con queste opzioni i log di livello 0 e 1 (inferiori a 2) vengono mandati a syslog, quelli di livello 2 e 3 (compresi tra syslog e log level) vengono scritti sul file di log interno.
Per loggare solo su syslog si deve attivare l'opzione syslog only:
syslog only = yes

GESTIONE DEL BROWSING

Local master - Domain master
Queste opzioni servono per spingere Samba a cercare di diventare rispettivamente Local Master Browser (il server che mantiene la browse list per una rete IP) e Domain Master Browser (il server che mantiene la browse list per un intero workgroup, anche esteso su più reti IP, nel qual caso raccoglie e coordina lo scambio di browse list dai Local Master Browser remoti). Di default Samba ha attivata l'opzione Local Master (con cui semplicemente gli viene detto di partecipare alle elezioni, senza la certezza di vincerle) e non ha attivata l'opzione Domain Master (è bene che il Domain Master Browser sia la stessa macchina che fa eventualmente da Primary Domain Controller, sia esso un Samba o un Windows server). Le impostazioni di default sono quindi:
local master = yes
domain master = no


Preferred Master - OS Level
Con queste opzioni si gestisce il comportamento di Samba nelle elezioni e la sua possibilità di vincerle.
La prima impone a Samba di chiamare un'elezione ogni volta che entra in rete e gli imposta una probabilità leggermente superiore di vincerle rispetto ad altre macchine con lo stesso livello. E' bene impostarla a yes quando si configura Samba come Domain Master Browser o Local Master Browser:
preferred master = yes
domain master = yes

E' comunque raccomandabile non avere troppe macchine in rete (Windows o Samba) che cercano di partecipare alle elezioni per evitare inutili e ripetuti broadcast e possibili incongrenze sulla browse list di riferimento.
L'opzione OS Master, invece setta esplicitamente il livello con cui Samba si presenta alle elezioni. Può avere valore da 0 a 255, più è alto e maggiore la possibilità di diventare Master Browser. Un valore di 34 basta per far vincere tutte le elezioni con server Windows ad eccezione di un PDC. Il valore di default è 20. Il seguente esempio dovrebbe bastare per vincere ogni elezione (ovviamente ad eccezione di altri server Samba con un OS level superiore):
os level = 65.

Announce As - Announce version
Queste opzioni definiscono come Samba si presenta in rete. Announce as può avere come valori Win95, NT o WfW il default è:
announce as = NT
Announce version specifica la versione di Samba. Attualmente si presenta di default come:
announce version = 4.9
Generalmente non serve cambiare queste impostazioni di default.

remote browse sync - remote announce
Queste opzioni permettono di sincronizzare la browse list di un server Samba quando esistono diversi local master su reti diverse.
La prima permette di richiedere la sincronizzazione della brose list dai server delle reti remote specificate:
remote browse list = 10.0.0.255 192.168.0.255
Con la seconda opzione si può esplicitamente annunciare il server locale, con un workgroup arbitrario, ai server sulla rete remota specificata:
remote announce = 192.168.0.255/WROKGROUP
In entrambi i casi si possono indirzare direttamente gli IP dei server remoti o gli indirizzi di broadcast della loro rete (in questo caso il "directed broadcast" deve poter essere consentito sulla rete remota, di default i router Cisco non lo permettono).

GESTIONE DELLE PASSWORD
E' importante configurare la logica con cui Samba gestisce l'autenticazione e come eventualmente sincronizza le sue password con quelle di sistema. I dati relativi agli utenti sono mantenuti nel file smbpasswd, che a sua volta si può modificare con l'omonimo comando shell.
Sulla gestione delle password esistono varie opzioni di configurazione.

encrypt passwords
Di default ha valore NO, non prevedendo l'invio in chiaro delle password via rete. Sui Windows recenti, comunque, (tutti esclusi NT4 pre SP3 e Windows 95) le password vengono inviate criptate. Per cui o si modifica il registro (esiste .reg adatto nel tar.gz ufficiale) sui Windows o, meglio, si abilita la criptazione delle password:
encrypt passwords = yes.

password level
Di default samba esegue il matching delle password in lowercase (con caratteri minuscoli), compresa la prima lettera.
Password level permette di specificare, come nel caso di username level, quante lettere al massimo si possono rendere maiuscole per i tentativi di connettersi ad una smb share.
password level = 2

null password
Abilita o Disabilita la possibilità di utilizzare password (cryptate e non cryptate) pari a null.
Il valore di default è NO.
password level = yes

smb passwd file
Specifica il path del file contenente le password cryptate.
Il valore di default è : /usr/local/samba/private/smbpasswd
smb passwd file = /etc/samba/smbpasswd

CONFIGURAZIONE DEI DOMINI
SAMBA permette di usufruire dei domini di windows in varie modalità:

- PDC, samba può  essere configurato come primary domain controller per i client windows/unix.
- BDC, (backup domain controller) features non del tutto funzionante per le versioni correnti (2.x), occorre aspettare la versione 3.x per avere il supporto completo.
- Host, facente parte di un dominio esistente.

Di seguito sonon riportate alcune opzioni utili per configurare il logon dei client nel dominio:

domain logons
Permette di loggarsi nel dominio tramite samba configurato come PDC server.
domain logons = yes

logon script
Specifica lo script che verrà lanciato sui client una volta loggati nel dominio.
logon script = logon.bat

logon home
Specifica l'home dell'utente, per i comandi DOS NET.
logon home = \\server\home\%U

logon path
Identifica la locazione dei roaming file.
logon path = \\server\profile\%U

RISOLUZIONE DEI NOMI CON SAMBA
E' possibile utilizzare una o più delle seguenti modalità di risoluzione dei nomi:

- Broadcasting
- LMHOST file
- Unix /etc/host o NIS
- WINS (Windows Internet Name Service), samba ha la facoltà di appoggiarsi ad un WINS server esterno oppure configurare lo stesso SAMBA per fungere da WINS server.

name resolve order
Opzione che permette di specificare con quali metodi e il rispettivo ordine da utilizzare per la risoluzione dei nomi.
name resolve order = wins hosts bcast

wins server
Permette di appoggiarsi ad un wins esterno specificando semplicemente l'IP, sarà SAMBA stesso a ridirigere le singole richieste al server specificato.
wins server = 10.0.0.100

wins proxy
Abilita il forwarding di tutte le richieste di risoluzione dei nomi anche ad WINS che sono esterni alla subnet del SAMBA server.
wins proxy = yes

wins support
Abilita il WINS server di SAMBA.
wins support = yes

dns proxy
Permette di appoggiarsi al DNS configurato sul server SAMBA (/etc/resolv.conf) per la risoluzione dei nomi fallita tramite WINS.
dns proxy = yes

Privacy Policy