Posts contrassegnato dai tag ‘samba’

Post

Dettagli sulle condivisioni

In samba on dicembre 30, 2008 di poyblog Messo il tag: , ,

In samba è possibile trovare dei nomi speciali relativi a condivisioni. Per esempio la condivisione [IPC$], è fornita da tutti i server CIFS, quindi non solo samba, ed è utilizzata per certe operazioni di rete:

  • la gestione dell’elenco di file
  • la gestione delle stampanti condivise.

Tutte quelle condivisioni definite all’interno del file di configurazione smb.conf che terminano con $, non sono visibili agli utenti windows che sfruttano explorer; ecco un elenco delle più usate:

  • C$, il contenuto completo del disco c
  • ADMIN$, la SystemRoot, ovvero la directory di sistema di windows (Windows XP c:\windows\system32)
  • PRINT$, repository per i driver delle stampanti

Principali differenze tra un filesystem Windows FAT o NTFS e le tipologie di filesystem ospitate  in server Unix:

  • caratteri validi per i nomi dei file
  • lunghezza dei nomi dei file
  • sensibilità al maiuscolo e minuscolo
  • file locking a caching
  • permessi e attributi

La gestione dei nomi è un concetto poco banale, che rappresenta il processo di trasformazione dei nomi di file e cartelle perchè siamo comprensibili ai client. La gestione dei nomi deve considerare vari parametri coma la lunghezza massima di un nome file, la sensibilità alla lettera maiuscola o meno.

Una nota importante, i sistemi linux e unix hanno sempre sofferto cartelle che contengono un numero elevato di file, combinare questa caratteristica con dei controlli aggiuntivi sulla possibilità di non considerare la sensibilità alla lettera maiuscola o minuscola renderebbe la navigazione e l’accesso ai file su server molto lenta.

E’ bene considerare come trattare i link, nessuno vorrebbe che si possa inserire un link da una cartella condivisa al file /etc/passwd . Di default samba lascia la possibilità di inserire link a cartelle esterne non facenti parte del novero delle condivise. Questo comportamento lo si può bloccare con la direttiva wide links = no , l’unico problema è che inserendo tale direttiva il demone smbd deve controllare ogni accesso ad un file condiviso per verificare se è un link oppure no.

E’ possibile nascondere i file, impostando la direttiva hide file. In più tutti i file che cominciano con il . non vengono presentati in fase di condivisione. Ricordo che nascondere un file tramite samba non significa impostare l’attributo hidden dei filesystem windows, ma significa che tali file non vengono proprio condivisi.

La gestione dei lock è una delle motivazioni per cui ho scelto di approfondire Samba. Windows e Linux gestiscono in modo differente il lock dei file. In particolare windows blocca a livello di sistema operativo l’apertura contemporanea dei file, mentre sistemi linux-unix demandano all’applicativo esecutivo . Samba lascia la possibilità di gestire delle cartelle in sola lettura, ma per quelle accessibili in scrittura, viene lasciato al sistema operativo client  in questione l’applicazione dei lock ai file accessi in lettura.

Parlando di permission, samba deve cercare di far interagire il modulo di gestione delle permission Linux-Unix con il sistema ACL di windows. Le direttive create directory e mask servono per forzare i permssi linux a cartelle condivise.

Il problema è che il sistema ACL è molto più ricco di attributi rispetto al classico sistema ottale linux-unix. La tendenza è considerare che il supporto per la lettura, scrittura e accesso completo sia sufficiente per la maggior parte delle esigenze

Microsoft Distributed File Sytem è la capacità di sistemi Microsoft di raggiungere un pc in rete passando attraverso un terzo host. Samba è in grado di emulare tale comportamento grazie alla direttiva host msdfs.

Come ultimo argomento di questo capitolo perlerò di VFS. Virtual File System . Il demon smbd interagisce con il filesystem sottostante tramite il sopracitato VFS. In particolare con questa struttura è possibile gestire:

  • il cestino di rete
  • un metodo per ricordare il log di ogni utente su una singola risorsa.

Post

File di configurazione smb.conf

In samba on dicembre 2, 2008 di poyblog Messo il tag: ,

Il file di configurazione, smb.conf solitamente si trova in /etc/samba/smb.conf, ed è suddiviso in sezioni, ognuna delle quali specifica una condivisione.

Ci sono due tipi di parametri, globali e servizi o condivisione. I parametri globali stanno nella sezione global e si applicano al comportamento del server stesso e non alle condivisioni.

I servizi o condivisioni, possono essere specificati nella sezione global (ed hanno validità per tutte le altre sezioni) o nella specifica sezione.

I vecchi sistemi operativi windows (famiglia 9x) non supportano i nomi di cartelle condivise maggiori di 12 caratteri.

Una volta cambiato il contenuto del file smb.conf quando il server samba applica le modifiche? La risposta non è banale. Nel caso in cui si cambino il nome del server o i parametri di rete, è necessario riavviare il servizio smbd. Per tutti gli altri parametri valgono le seguenti considerazioni:

  • Quando il server samba riceve una nuova connessione , il demone smbd crea un processo figlio che legge il file di configurazione, e quindi anche le modifiche apportate

  • Una volta avviati i servizi samba leggono il file di configurazione ogni tre minuti

Buona pratica quando si cambia il file di configurazione è testarlo da errori di sintassi, grazie a testparm.

Per non rendere visibile ai servizi samba il file di configurazione in fase di aggiornamento è bene lavorare su un file di configurazione diverso da quello operativo e cambiarlo solo dopo che si è sicuri della sintassi del file aggiornato.

Attenzione se esiste una cartella home ed una stampante con il medesimo nome, samba visualizzerà sempre e solo la cartella home, dato che queste hanno precedenza sulle stampanti.

Una condivisione si basa su un percorso esistente, e di default è read-only. Se l’utente connesso non ha i permessi per vedere la cartella condivisa, viene generato un errore di rete.

Di default è meglio tenere il file di log a livello 0 per poi innalzarlo fino al livello 3 per verificare gli errori

Post

Configurare client Windows

In samba on novembre 30, 2008 di poyblog Messo il tag: ,

La filosofia principale di samba è:

E’ meglio insegnare ad un server come comunicare con i client che lasciare che siano i client a imparare.

Per una corretta configurazione di una rete LAN è bene tenere in considerazione che è possibile assegnare solo alcuni range di indirizzi:

10.0.0.1 ↔ 10.255.255.254

172.16.0.1 ↔ 172.31.255.254

192.168.0.1 ↔ 192.168.255.254

Tutti gli altri sono globali e non utilizzabili nelle reti interne.

E’ necessario il supporto NETBios sul protocollo TCP/IP quando:

  • Si vuole accedere a pc con versioni di windows precedenti a windows 2000

  • Si vuole utilizzare Samba come controllore di dominio

  • Si vuole il supporto per la navigazione della rete

Sincronizzazione account locale windows con l’account unix del server Samba è possibile e consigliato in modo tale da dove affrontare solo una fase di autenticazione

Windwos xp Home non può entrare a far parte di un dominio, Windows Xp Professional sì. Windows Vista Home, in tutte le sue versioni, non può far parte di un dominio, mentre lo possono fare Windows Vista Business e Ultimate.

Post

Installare Samba

In samba on novembre 28, 2008 di poyblog Messo il tag: ,

In questo articolo, descriverò la procedura di installazione di samba.

Ormai quasi tutte le distribuzioni linux hanno dei pacchetti precompilati già pronti per l’installazione:

  • Ubuntu: apt-get install samba
  • Fedora: yum installl samba

Ovviamente su molti sistemi si può avere samba già installato di default. Per verificare se il demone è installato è sufficiente provare a cercare il demone smbd, se esiste ed è avviabile abbiamo un’installazione funzionante di samba, in caso contrario vale la pena reinstallare.

Informo i lettori che questo articolo non è completo, o meglio non è una guida esaustiva sull’installazione di samba, ma riguarda solo alcuni aspetti dell’installazione e della configurazione che mi sono sembrati degni di nota.

Comando utile per verificare dove è il file di configurazione smb.conf è:

smbd -b | grep CONFIGFILE

Samba può essere installato con il supporto per le ACL (Access Control List)

SWAT, è un tool web-based che aiuta l’utente nella fase di configurazione di samba. Tale servizio risponde sulla porta 901.

Creazione dell’utente e della password samba (le password sono cifrate):

smbpasswd -a username

Un comando utile per testare il file di configurazione è testparm:

tesparm -s path/to/smb.conf | more

Per testare se i demoni samba sono in esecuzione è utile il comando:

smbclient -L localhost -N

Post

Samba parte introduttiva

In samba on novembre 25, 2008 di poyblog Messo il tag: ,

Perchè lo faccio

In questo periodo per ragioni lavorative mi sto concentrando su Samba. Per chi non lo sapesse samba è uno strumento pensato per sistemi unix-like in grado far interagire pc linux windows e mac all’interno di una rete.

Dato che sto approfondendo lo strumento, leggendo il libro Using Samba, della O’Reilly 3a edizione, ho deciso di pubblicare i riassunti dei capitoli che sto consultando, sia per un uso strettamente personale sia per cercar di far nascere delle discussioni in merito e arricchire così la mia conoscenza e quella coloro che consulteranno i miei articoli.

Introduzione

Samba è una suite che permette a sistemi unix-based di apparire e funzionare come server Windows, quando vengono visualizzati da client Windows.
CIFS Common Internet File System, è il protocollo utilizzato dai sistemi microsoft per l’amministrazione remota e la condivisione di risorse in rete (come file e stampanti)
Samba implementa il protocollo CIFS, il quale non è altro che l’ultima variante della lunga stirpe dei dialetti SMB.
CIFS è un protocollo connection-oriented, basato su tre servizi:

  1. name service
  2. la capacità di inviare pacchetti (datagarm) a un singolo pc o a un gruppo
  3. gestire una connessione di lungo periodo fra client e server

Samba è composto da tre demoni:

  1. smbd gestisce le condivisioni e l’autenticazione
  2. nmbd implementa un WINS server, e partecipa all’elezione dello stesso
  3. winbind comunica con il controllore di dominio per fornire informazioni circa il gruppo di appartenenza, cui l’utente appartiene

WINS server tiene traccia delle associazioni nomi/indirizzi
Autenticazione, peer-to-peer versus dominio. Nel primo caso , gli utenti condividono le risorse del proprio pc con gli altri utenti della rete, nel secondo caso, si tratta di un gruppo di computer che comunicano tramite il protocollo CIFS, con l’aggiunta di un server in grado di mantenere le informazioni relative agli utenti ed ai gruppi che compongono il dominio . In poche parole un server di dominio deve essere in grado di verificare le credenziali degli utenti e di garantire i permessi appropriati. Dato che un controllore di dominio gestisce l’autenticazione per accedere alle risorse di rete, una volta che il server di dominio dovesse cadere le risorse di rete non sarebbero più disponibili. Ecco che nasce la necessita di create dei PDC (Primary Domain Controller) e dei BDC (Backup Domain Controller).
Cosa samba può fare e cosa no:

  • File server → Si
  • Printer server → Si
  • Controllore di dominio → Si
  • Autenticare sistemi Windows 95/98/Me → Si
  • Autenticare sistemi Windwos 2000/XP → Si
  • Server Wins primario → Si
  • Server Wins secondario → No
  • Active directory Domain controller → No
  • Interagire con un controllore di dominio Windows nello stesso dominio → No
Iscriviti

Get every new post delivered to your Inbox.