Co je Samba
K zajištění sdílení tiskáren a souborů používá systém Microsoft Windows zařízení známé jako SMB (Server Message Block). Stejné zařízení se někdy označuje jako NetBIOS nebo LanManager. Díky Andrew Tridgellovi a dalším poskytují systémy Linux podporu SMB prostřednictvím balíčku známého jako Samba. Stejně jako SMB umožňuje Samba:
- Sdílet tiskárny a soubory mezi systémy Microsoft Windows, OS/2, Netware a Unix
- Vytvořit jednoduchý jmenný server pro identifikaci systémů v místní síti
- Zálohovat soubory z PC do systému Linux a obnovovat je
- Spravovat uživatele a hesla
Samba prokázala svou spolehlivost a vysoký výkon v mnoha organizacích.Softwarová sada Samba v systému Enterprise Linux je soubor programů, které implementují protokol Server Message Block (běžně označovaný zkratkou SMB) pro systémy UNIX.
Instalace Samby
V systému Enterprise Linux nainstalujte níže uvedené balíčky a začněte se Sambou pracovat. Tyto balíčky můžete stáhnout/nainstalovat ze serveru yum pomocí příkazu „yum install“.
samba #### basic Samba packagessamba-client #### samba client
Pro instalaci těchto balíčků :
# yum install samba# yum install samba-client
Pokud používáte nastavení aktivního adresáře, nainstalujte také níže uvedené balíčky.
# yum install samba-winbind# yum install samba-winbind-clients# yum install samba-winbind-krb5-locator
Níže je uveden seznam balíčků, které se nainstalují po instalaci výše uvedených balíčků.
samba-libssamba-winbind-krb5-locatorsamba-winbind-modulessamba-vfs-glusterfssamba-winbindsamba-clientsamba-commonsamba-winbind-clientssamba
Konfigurace sdílení Samba
Konfigurace Samby se obvykle nachází v souboru /etc/samba/smb.conf, který obsahuje všechny konfigurační parametry týkající se Samby. Při konfiguraci sdílené složky samby postupujte podle níže uvedených kroků.
1. Aby byla sdílená složka přístupná konkrétnímu uživateli, musíme nejprve vytvořit uživatele (john) na linuxovém serveru, kde se sdílená složka také nachází.
# useradd john
# passwd johnChanging password for user john.New password: Retype new password: passwd: all authentication tokens updated successfully.
2. Pro přidání aktivace uživatele samby a nastavení hesla použijte příkaz „smbpasswd“ s parametrem -a.
# smbpasswd -a john
3. Vytvořte adresář pro sdílení nebo můžete použít existující adresář. Nastavte také plná práva k adresáři.
# mkdir -p /path/to/share# chmod -R 777 /path/to/share
4. Dále nastavte kontexty SElinuxu na sdíleném adresáři. Ověřte, zda můžete ve sdílené složce vytvořit soubor.
# chcon -R -t samba_share_t /path/to/share# cd /path/to/share# echo test > testfile.txt
5. Ověřte, zda můžete ve sdílené složce vytvořit soubor. Upravte soubor /etc/samba/smb.conf a přidejte nastavení sdílení.
# vi /etc/samba/smb.conf path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes
Restartujte službu samba, aby se výše uvedená nastavení projevila.
# service smb restart
Řešení problémů
Chcete-li zjistit problém se sdílením samba, můžete zkusit vypnout službu iptables a vypnout SELinux. Ujistěte se, že je po vyřešení konfliktu opět povolíte.
# service iptables stop# setenforce 0
Ověření parametrů samby pomocí příkazu testparm
Pro ověření správnosti parametrů v souboru smb.conf nebo pro ladění problémů s konfigurací použijte příkaz testparm.
logy
Pro ladění problémů se Sambou obecně jsou neocenitelné soubory log.smbd a log.nmbd v adresáři /var/log/samba. Parametr log level v globální části souboru smb.conf určuje množství podrobných informací, které Samba zapisuje do souborů protokolu, přičemž úroveň 0 je nejobecnější a 10 nejpodrobnější. Každá úroveň protokolování obsahuje kromě zpráv z této úrovně i zprávy z protokolů pod ní. Například úroveň protokolování 5 obsahuje zprávy z úrovně 5 a navíc zprávy z úrovní 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