Il Diario del Geek

Cos’è Samba

Per fornire la condivisione di stampanti e file, Microsoft Windows usa una struttura conosciuta come SMB (Server Message Block). Questa stessa struttura è talvolta conosciuta come NetBIOS o LanManager. Grazie a Andrew Tridgell e altri, i sistemi Linux forniscono supporto per SMB tramite un pacchetto noto come Samba. Come SMB, Samba ti permette di:

  • condividere stampanti e file tra Microsoft Windows, OS/2, Netware, e sistemi Unix
  • Stabilire un semplice nameserver per identificare i sistemi sulla tua rete locale
  • fare il backup dei file del PC su un sistema Linux e ripristinarli
  • amministrare utenti e password

Samba ha dimostrato la sua affidabilità e alte prestazioni in molte organizzazioni.La suite di software Samba su Enterprise Linux è un insieme di programmi che implementa il protocollo Server Message Block (comunemente abbreviato come SMB) per i sistemi UNIX.

Installazione di Samba

In Enterprise Linux, installa i seguenti pacchetti per iniziare con Samba. Puoi scaricare/installare questi pacchetti dal server yum usando il comando “yum install”.

samba #### basic Samba packagessamba-client #### samba client

Per installare questi pacchetti :

# yum install samba# yum install samba-client

Se stai usando una configurazione active directory, installa anche i seguenti pacchetti.

# yum install samba-winbind# yum install samba-winbind-clients# yum install samba-winbind-krb5-locator

Di seguito la lista dei pacchetti che saranno installati dopo aver installato i pacchetti di cui sopra.

samba-libssamba-winbind-krb5-locatorsamba-winbind-modulessamba-vfs-glusterfssamba-winbindsamba-clientsamba-commonsamba-winbind-clientssamba

Configurare una condivisione Samba

La configurazione di Samba solitamente risiede in /etc/samba/smb.conf che contiene tutti i parametri di configurazione relativi a samba. Segui i passi indicati di seguito per configurare una condivisione samba.

1. Affinché la condivisione sia accessibile ad un particolare utente, dobbiamo prima creare un utente (john) anche sul server linux dove risiede la condivisione.

# useradd john

# passwd johnChanging password for user john.New password: Retype new password: passwd: all authentication tokens updated successfully.

2. Per aggiungere attivare l’utente Samba e impostare la password, utilizzare il comando “smbpasswd” con l’opzione -a.

# smbpasswd -a john

3. Creare la directory da condividere o è possibile utilizzare una directory esistente. Imposta anche i permessi completi sulla directory.

# mkdir -p /path/to/share# chmod -R 777 /path/to/share

4. Successivamente, imposta i contesti SElinux sulla condivisione. Verificate se potete creare un file nella condivisione.

# chcon -R -t samba_share_t /path/to/share# cd /path/to/share# echo test > testfile.txt

5. Modifica il file /etc/samba/smb.conf e aggiungi le impostazioni della condivisione.

# vi /etc/samba/smb.conf path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes

Riavvia il servizio samba affinché le impostazioni di cui sopra abbiano effetto.

# service smb restart

Risoluzione dei problemi

Per scoprire il problema con una condivisione samba, puoi provare a disabilitare il servizio iptables e disattivare SELinux. Assicurati di riattivarli dopo aver risolto il problema.

# service iptables stop# setenforce 0

Verifica i parametri di samba usando testparm
Per verificare che i parametri siano corretti nel file smb.conf o per risolvere problemi di configurazione, usa il comando testparm.

logs
Per il debug dei problemi con Samba in generale, i file log.smbd e log.nmbd sotto la directory /var/log/samba sono preziosi. Il parametro log level nella sezione globale del file smb.conf determina la quantità di informazioni dettagliate che Samba scrive nei file di log, con il livello 0 che è il più generale e 10 il più dettagliato. Ogni livello di log contiene i messaggi di quel livello, in aggiunta ai messaggi di log sottostanti. Per esempio, un livello di log di 5 contiene i messaggi del livello 5, più quelli dei livelli da 0 a 4.

# vi /etc/samba/smb.conf# this tells Samba to use a separate log file for each machine# that connectslog file = /var/log/samba/%m.logdebuglevel = 4

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.