29.9. Bestands- en printdiensten voor Microsoftģ†Windowsģ cliŽnten (Samba)

Geschreven door Murray Stokely.

29.9.1. Overzicht

Samba is een populair open source softwarepakket dat bestands- en printdiensten voor Microsoftģ†Windowsģ cliŽnten biedt. Die cliŽnten kunnen dan ruimte op een FreeBSD bestandssysteem gebruiken alsof het een lokale schijf is en FreeBSD printers gebruiken alsof het lokale printers zijn.

Samba softwarepakketten horen op de FreeBSD installatiemedia te staan. Als Samba bij de basisinstallatie niet mee is geÔnstalleerd, dan kan dat alsnog via de net/samba34 port of met het pakket.

29.9.2. Instellen

Een standaardbestand met instellingen voor Samba wordt geÔnstalleerd als /usr/local/share/examples/samba34/smb.conf.default. Dit bestand dient gekopieerd te worden naar /usr/local/etc/smb.conf en voordat Samba gebruikt kan worden, moeten er aanpassingen aan worden gemaakt.

smb.conf bevat de instellingen voor Samba, zoals die voor de printers en de gedeelde bestandssystemen die gedeeld worden met Windowsģ cliŽnten. Het pakket Samba bevat een webgebaseerde beheermodule die swat heet, waarmee smb.conf op een eenvoudige manier ingesteld kan worden.

29.9.2.1. De Samba webbeheermodule gebruiken (SWAT)

De Samba Webbeheermodule (SWAT) draait als een daemon vanuit inetd. Daarom dient inetd aangezet te worden zoals beschreven in Paragraaf†29.2, “De inetd Super-Server en dient voor de volgende regel uit /etc/inetd.conf het commentaarkarakter verwijderd te worden voordat swat gebruikt kan worden om Samba in te stellen:

swat   stream  tcp     nowait/400      root    /usr/local/sbin/swat    swat

Zoals is uitgelegd in Voorbeeld†29.1, “Het instellingenbestand van inetd herladen”, moet de configuratie van inetd worden herladen nadat dit instellingenbestand is gewijzigd.

Als swat is ingeschakeld in inetd.conf, kan de module gebruikt worden door met een browser een verbinding te maken met http://localhost:901. Er dient aangemeld te worden met het root account van het systeem.

Na succesvol aanmelden op de hoofdpagina voor de Samba instellingen, is het mogelijk de systeemdocumentatie te bekijken of te starten door op het tabblad Globals te klikken. Het onderdeel Globals correspondeert met de sectie [global] in /usr/local/etc/smb.conf.

29.9.2.2. Systeembrede instellingen

Of Samba nu wordt ingesteld door /usr/local/etc/smb.conf direct te bewerken of met swat, de eerste instellingen die gemaakt moeten worden zijn de volgende:

workgroup

NT Domeinnaam of Werkgroepnaam voor de computers die verbinding gaan maken met de server.

netbiosnaam

Hiermee wordt de NetBIOS naam waaronder de Samba server bekend zal zijn ingesteld. Standaard is de naam het eerste gedeelte van de DNS-naam van een host.

server string

Hiermee wordt de string ingesteld die te zien is als het commando net view en een aantal andere commando's die gebruik maken van de beschrijvende tekst voor de server gebruikt worden.

29.9.2.3. Beveiligingsinstellingen

Twee van de belangrijkste instellingen in /usr/local/etc/smb.conf zijn het gekozen beveiligingsmodel en het wachtwoord voor cliŽntgebruikers. Deze worden met de volgende instellingen gemaakt:

security

De twee meest gebruikte mogelijkheden hier zijn security = share en security = user. Als de cliŽnten gebruikersnamen hebben die overeenkomen met hun gebruikersnaam op de FreeBSD machine, dan is het verstandig om te kiezen voor beveiliging op gebruikersniveau. Dit is het standaard beveiligingsbeleid en kent als voorwaarde dat gebruikers zich eerst moeten aanmelden voordat ze toegang krijgen tot gedeelde bronnen.

Bij beveiliging op shareniveau hoeft een cliŽnt niet met een geldige gebruikersnaam en wachtwoord aan te melden op de server voor het mogelijk is om een verbinding te proberen te krijgen met een gedeelde bron. Dit was het standaardbeveiligingsmodel voor oudere versies van Samba.

passdb backend

Samba kent aan de achterkant verschillende authenticatiemodellen. CliŽnten kunnen authenticeren met LDAP, NIS+, een SQL-database of een aangepast wachtwoordbestand. De standaard authenticatiemethode is smbpasswd. Meer wordt hier niet behandeld.

Als aangenomen wordt dat de standaard achterkant smbpasswd wordt gebruikt, dan moet /usr/local/etc/samba/smbpasswd gemaakt worden om Samba in staat te stellen cliŽnten te authenticeren. Als het gewenst is om uw UNIXģ gebruikersaccounts toegang te geven vanaf Windowsģ cliŽnten, gebruik dan het volgende commando:

# smbpasswd -a gebruikersnaam

Opmerking:

De aanbevolen backend is nu tdbsam, en het volgende command moet gebruikt worden om gebruikersaccounts toe te voegen:

# pdbedit -a -u gebruikersnaam

In de Official Samba HOWTO staat meer informatie over instelopties. Met de hier gegeven basisuitleg moet het mogelijk zijn Samba draaiende te krijgen.

29.9.3. Samba starten

De port net/samba34 voegt een nieuw opstartscript toe, dat gebruikt kan worden om Samba te beheren. Om dit script te activeren, zodat het bijvoorbeeld gebruikt kan worden om Samba te starten, stoppen, of te herstarten, dient de volgende regel aan /etc/rc.conf toegevoegd te worden:

samba_enable="YES"

Of, voor fijnkorrelig beheer:

nmbd_enable="YES"
smbd_enable="YES"

Opmerking:

Dit stelt Samba ook in om automatisch tijdens het opstarten te starten.

Vervolgens is het mogelijk om Samba op elk moment te starten door dit te typen:

# service samba start
Starting SAMBA: removing stale tdbs :
Starting nmbd.
Starting smbd.

Refereer aan Paragraaf†12.7, “Gebruik van rc met FreeBSD” voor meer informatie over het gebruikt van rc-scripts.

Samba bestaat feitelijk uit drie afzonderlijke daemons. Het script samba start de daemons nmbd en smbd. Als de winbind naamresolutiediensten in smb.conf zijn ingeschakeld, dan start ook de daemon winbindd.

Samba kan op ieder moment gestopt worden met:

# service samba stop

Samba is een complexe softwaresuite met functionaliteit waarmee verregaande integratie met Microsoftģ†Windowsģ netwerken mogelijk wordt. Informatie die verder gaat dan de basisinstallatie staat op http://www.samba.org.

All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.