Ce este Samba
Pentru a asigura partajarea imprimantelor și a fișierelor, Microsoft Windows utilizează o facilitate cunoscută sub numele de SMB (Server Message Block). Aceeași facilitate este cunoscută uneori sub numele de NetBIOS sau LanManager. Mulțumită lui Andrew Tridgell și altora, sistemele Linux oferă suport pentru SMB prin intermediul unui pachet cunoscut sub numele de Samba. Ca și SMB, Samba vă permite:
- Să partajați imprimante și fișiere între sistemele Microsoft Windows, OS/2, Netware și Unix
- Stabiliți un server de nume simplu pentru identificarea sistemelor din rețeaua locală
- Realizați o copie de siguranță a fișierelor PC pe un sistem Linux și restaurați-le
- Administrați utilizatori și parole
Samba și-a dovedit fiabilitatea și performanța ridicată în multe organizații.Suita software Samba pe Enterprise Linux este o colecție de programe care implementează protocolul Server Message Block (abreviat în mod obișnuit ca SMB) pentru sistemele UNIX.
Instalarea Samba
În sistemul Enterprise Linux, instalați pachetele de mai jos pentru a începe cu Samba. Puteți descărca/instala aceste pachete de pe serverul yum folosind comanda „yum install”.
samba #### basic Samba packagessamba-client #### samba client
Pentru a instala aceste pachete :
# yum install samba# yum install samba-client
Dacă folosiți o configurație Active Directory, instalați și pachetele de mai jos.
# yum install samba-winbind# yum install samba-winbind-clients# yum install samba-winbind-krb5-locator
Mai jos se află lista de pachete care vor fi instalate după ce ați instalat pachetele de mai sus.
samba-libssamba-winbind-krb5-locatorsamba-winbind-modulessamba-vfs-glusterfssamba-winbindsamba-clientsamba-commonsamba-winbind-clientssamba
Configurarea unui partaj Samba
Configurarea Samba rezidă de obicei în /etc/samba/smb.conf care conține toți parametrii de configurare legați de samba. Urmați pașii indicați mai jos pentru a configura un share samba.
1. Pentru ca share-ul să fie accesibil unui anumit utilizator, trebuie mai întâi să creăm un utilizator (john) și pe serverul linux unde se află share-ul.
# useradd john
# passwd johnChanging password for user john.New password: Retype new password: passwd: all authentication tokens updated successfully.
2. Pentru a adăuga activați utilizatorul Samba și a seta parola, folosiți comanda „smbpasswd” cu opțiunea -a.
# smbpasswd -a john
3. Creați directorul pentru partajare sau puteți folosi un director existent. De asemenea, setați permisiuni complete asupra directorului.
# mkdir -p /path/to/share# chmod -R 777 /path/to/share
4. În continuare, setați contextele SElinux pe partajare. Verificați dacă puteți crea un fișier în share.
# chcon -R -t samba_share_t /path/to/share# cd /path/to/share# echo test > testfile.txt
5. Modificați fișierul /etc/samba/smb.conf și adăugați setările de partajare.
# vi /etc/samba/smb.conf path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes
Reporniți serviciul samba pentru ca setările de mai sus să intre în vigoare.
# service smb restart
Soluționarea problemelor
Pentru a afla care este problema cu o partajare samba, puteți încerca să dezactivați serviciul iptables și să dezactivați SELinux. Asigurați-vă că le activați din nou după ce ați rezolvat confilctul.
# service iptables stop# setenforce 0
Verificați parametrii samba utilizând testparm
Pentru a verifica dacă parametrii sunt corecți în fișierul smb.conf sau pentru a depana problemele de configurare, utilizați comanda testparm.
logs
Pentru depanarea problemelor cu Samba în general, fișierele jurnal log.smbd și log.nmbd din directorul /var/log/samba sunt de neprețuit. Parametrul log level din secțiunea global a fișierului smb.conf determină cantitatea de informații detaliate pe care Samba le scrie în fișierele de jurnal, nivelul 0 fiind cel mai general și 10 fiind cel mai detaliat. Fiecare nivel de logare conține mesajele de la acel nivel, pe lângă mesajele de logare de sub el. De exemplu, un nivel de jurnalizare 5 conține mesajele de la nivelul 5, plus cele de la nivelurile 0 până la 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