Cos'è il Samba
Per fornire stampanti e condivisione di file, Microsoft Windows utilizza una funzione nota come SMB (Server Message Block) . Questa stessa struttura è talvolta nota come NetBIOS o LanManager . Grazie ad Andrew Tridgell e altri, i sistemi Linux forniscono supporto per SMB tramite un pacchetto noto come Samba. Come SMB, Samba ti consente:
- Condividi stampanti e file tra i sistemi Microsoft Windows, OS/2, Netware e Unix
- Crea un semplice server dei nomi per identificare i sistemi sulla tua rete locale
- Esegui il backup dei file del PC su un sistema Linux e ripristinali
- Amministra utenti e password
Samba ha dimostrato la sua affidabilità e prestazioni elevate in molte organizzazioni. La suite software Samba su Enterprise Linux è una raccolta di programmi che implementa il protocollo Server Message Block (comunemente abbreviato in SMB) per i sistemi UNIX.
Installazione di Samba
Nel sistema 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 packages samba-client #### samba client
Per installare questi pacchetti:
# yum install samba # yum install samba-client
Se stai utilizzando una configurazione di Active Directory, installa anche i pacchetti seguenti.
# yum install samba-winbind # yum install samba-winbind-clients # yum install samba-winbind-krb5-locator
Di seguito è riportato l'elenco dei pacchetti che verranno installati una volta installati i pacchetti di cui sopra.
samba-libs samba-winbind-krb5-locator samba-winbind-modules samba-vfs-glusterfs samba-winbind samba-client samba-common samba-winbind-clients samba
Configurazione di una condivisione Samba
La configurazione di Samba di solito risiede in /etc/samba/smb.conf che contiene tutti i parametri di configurazione relativi a samba. Segui i passaggi indicati di seguito per configurare una condivisione samba.
1. Affinché la condivisione sia accessibile a un particolare utente, dobbiamo prima creare un utente (john) sul server Linux in cui risiede anche la condivisione.
# useradd john
# passwd john Changing 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 il -a opzione.
# smbpasswd -a john
3. Crea la directory da condividere oppure puoi utilizzare una directory esistente. Imposta anche i permessi completi sulla directory.
# mkdir -p /path/to/share # chmod -R 777 /path/to/share
4. Quindi, imposta i contesti SElinux sulla condivisione. Verifica se puoi 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 di condivisione.
# vi /etc/samba/smb.conf [share_name] path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes
Riavvia il servizio samba per rendere effettive le impostazioni precedenti.
# 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 conflitto.
# service iptables stop # setenforce 0
Verifica il parametro samba utilizzando testparm
Per verificare che i parametri siano corretti nel file smb.conf o per eseguire il debug di problemi di configurazione, utilizzare il comando testparm.
registri
Per i problemi di debug con Samba in generale, i file di registro log.smbd e log.nmbd sotto /var/log/samba directory sono inestimabili. Il livello di registro del parametro nella sezione globale del file smb.conf determina la quantità di informazioni dettagliate che Samba scrive nei file di registro, con il livello 0 che è il più generale e 10 il più dettagliato. Ogni livello di registrazione contiene i messaggi di quel livello, oltre ai messaggi di registrazione sotto di esso. Ad esempio, un livello di registrazione 5 contiene messaggi dal livello 5, più quelli dai livelli da 0 a 4.
# vi /etc/samba/smb.conf # this tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba/%m.log debuglevel = 4