Wat is Samba
Om printers en bestanden te delen, gebruikt Microsoft Windows een voorziening die bekend staat als SMB (Server Message Block). Deze zelfde voorziening is soms bekend als NetBIOS of LanManager. Dankzij Andrew Tridgell en anderen bieden Linux systemen ondersteuning voor SMB via een pakket dat bekend staat als Samba. Net als SMB kunt u met Samba:
- printers en bestanden delen tussen Microsoft Windows, OS/2, Netware en Unix systemen
- Een eenvoudige nameserver opzetten voor het identificeren van systemen op uw lokale netwerk
- Pc-bestanden back-uppen op een Linux systeem en ze herstellen
- Gebruikers en wachtwoorden beheren
Samba heeft zijn betrouwbaarheid en hoge prestaties in veel organisaties bewezen.Samba software suite op Enterprise Linux is een verzameling van programma’s die het Server Message Block (algemeen afgekort als SMB) protocol implementeert voor UNIX systemen.
Installeren van Samba
In Enterprise Linux systeem, installeer onderstaande pakketten om aan de slag te gaan met Samba. U kunt deze pakketten downloaden/installeren van de yum server met het commando “yum install”.
samba #### basic Samba packagessamba-client #### samba client
Om deze pakketten te installeren :
# yum install samba# yum install samba-client
Als u een active directory setup gebruikt, installeer dan ook onderstaande pakketten.
# yum install samba-winbind# yum install samba-winbind-clients# yum install samba-winbind-krb5-locator
Hieronder vindt u de lijst met pakketten die zullen worden geïnstalleerd zodra u de bovenstaande pakketten hebt geïnstalleerd.
samba-libssamba-winbind-krb5-locatorsamba-winbind-modulessamba-vfs-glusterfssamba-winbindsamba-clientsamba-commonsamba-winbind-clientssamba
De configuratie van Samba staat gewoonlijk in /etc/samba/smb.conf, dat alle configuratieparameters met betrekking tot samba bevat. Volg de onderstaande stappen om een Samba share te configureren.
1. Om de share toegankelijk te maken voor een bepaalde gebruiker, moeten we eerst een gebruiker (john) aanmaken op de linux server waar de share zich ook bevindt.
# useradd john
# passwd johnChanging password for user john.New password: Retype new password: passwd: all authentication tokens updated successfully.
2. Om de Samba gebruiker te activeren en het wachtwoord in te stellen, gebruikt u het “smbpasswd” commando met de -a optie.
# smbpasswd -a john
3. Maak de directory om te delen of u kunt een bestaande directory gebruiken. Stel ook volledige permissies in op de directory.
# mkdir -p /path/to/share# chmod -R 777 /path/to/share
4. Stel vervolgens de SElinux contexten in op de share. Controleer of u een bestand kunt maken in de share.
# chcon -R -t samba_share_t /path/to/share# cd /path/to/share# echo test > testfile.txt
5. Bewerk het bestand /etc/samba/smb.conf en voeg de instellingen voor de share toe.
# vi /etc/samba/smb.conf path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes
Start de samba service opnieuw zodat de bovenstaande instellingen van kracht worden.
# service smb restart
Troubleshooting
Om het probleem met een samba share te achterhalen, kunt u proberen de iptables service uit te schakelen en SELinux uit te schakelen. Zorg ervoor dat u deze weer inschakelt nadat u het probleem heeft opgelost.
# service iptables stop# setenforce 0
Verifieer samba parameter met behulp van testparm
Om te verifiëren dat de parameters correct zijn in het smb.conf bestand of om configuratie problemen te debuggen, gebruikt u het testparm commando.
logs
Voor het debuggen van problemen met Samba in het algemeen, zijn de log bestanden log.smbd en log.nmbd onder de /var/log/samba directory van onschatbare waarde. De parameter log level in de global sectie van het smb.conf bestand bepaalt de hoeveelheid gedetailleerde informatie die Samba naar de logbestanden schrijft, waarbij level 0 het meest algemeen is en 10 het meest gedetailleerd. Elk logging niveau bevat de berichten van dat niveau, in aanvulling op de logging berichten eronder. Bijvoorbeeld, een logging niveau van 5 bevat de berichten van niveau 5, plus die van niveau 0 tot 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