30.9. Mit Samba einen Datei- und Druckserver für Microsoft® Windows®-Clients einrichten

Beigetragen von Murray Stokely.

30.9.1. Überblick

Samba ist ein beliebtes Open Source-Softwarepaket, das es Ihnen ermöglicht, einen Datei- und Druckserver für Microsoft® Windows®-Clients einzurichten. Clients können sich dadurch mit einem FreeBSD-System verbinden und dessen Speicherplatz oder dessen Drucker verwenden. Dies genauso, als wenn es sich um lokale Drucker oder Festplatten handeln würde.

Samba sollte als Softwarepaket auf Ihren Installationsmedien vorhanden sein. Wenn Sie Samba noch nicht installiert haben, können Sie dies jederzeit über den Port oder das Paket net/samba34 nachholen.

30.9.2. Konfiguration

Die Standardkonfigurationsdatei von Samba heißt /usr/local/share/examples/samba34/smb.conf.default. Diese Datei muss nach /usr/local/etc/smb.conf kopiert und angepasst werden, bevor Samba verwendet werden kann.

Die Datei smb.conf enthält Laufzeitinformationen für Samba, beispielsweise Druckerdefinitionen oder filesystem shares, also Bereiche des Dateisystems, die Sie mit Windows-Clients teilen wollen. Die Konfiguration der Datei smb.conf erfolgt webbasiert über das im Samba-Paket enthaltene Programm swat.

30.9.2.1. Das Samba Web Administration Tool (SWAT) verwenden

Das Samba Web Administration Tool (SWAT) wird als Daemon von inetd aktiviert. Daher müssen Sie den Kommentar vor der folgenden Zeile in /etc/inetd.conf entfernen, bevor Sie swat zur Konfiguration von Samba verwenden können:

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

Wie bereits in Beispiel 30-1 beschrieben, müssen Sie die inetd-Konfiguration neu einlesen, nachdem Sie diese Änderung durchgeführt haben.

Nachdem swat in der Datei inetd.conf aktiviert wurde, rufen Sie in Ihrem Internetbrowser die Adresse http://localhost:901 auf und melden sich mit dem root-Benutzerkonto an.

Nachdem Sie sich erfolgreich angemeldet haben, wird die Hauptkonfigurationseite von Samba geladen. Sie können nun die Dokumentation lesen, oder durch einen Klick auf die Globals-Karteikarte mit der Konfiguration beginnen. Die Einstellungen, die Sie hier vornehmen können, entsprechen denen des Abschnitts [global] von /usr/local/etc/smb.conf.

30.9.2.2. Globale Einstellungen

Unabhängig davon, ob Sie swat verwenden, oder /usr/local/etc/smb.conf direkt editieren, sollten Sie zuerst folgende Einstellungen anpassen:

workgroup

Der NT-Domänenname oder der Arbeitsgruppenname der Rechner, die auf den Server Zugriff haben sollen.

netbios name

Legt den NetBIOS-Namen fest, unter dem der Samba-Server bekannt ist. In der Regel handelt es sich dabei um den ersten Teil des DNS-Namens des Servers.

server string

Legt die Beschreibung fest, die angezeigt werden soll, wenn mit net view oder über andere Netzwerkprogramme Informationen über den Server angefordert werden.

30.9.2.3. Samba absichern

Zwei der wichtigsten Einstellungen in /usr/local/etc/smb.conf betreffen das zu verwendende Sicherheitsmodell sowie das Backend-Passwortformat für die Benutzer der Samba-Clients. Folgende Optionen sind dafür verantwortlich:

security

Die häufigsten Optionen sind security = share und security = user. Wenn Ihre Clients Benutzernamen verwenden, die den Benutzernamen auf Ihrem FreeBSD-Rechner entsprechen, dann sollten Sie die Einstellung user level verwenden. Dies ist auch die Standardeinstellung. Allerdings ist es dazu erforderlich, dass sich die Clients auf Ihrem Rechner anmelden, bevor sie auf gemeinsame Ressourcen zugreifen können.

In der Einstellung share level müssen sich Clients nicht unter Verwendung eines gültigen Logins auf Ihrem Rechner anmelden, bevor sie auf gemeinsame Ressourcen zugreifen können. In früheren Samba-Versionen war dies die Standardeinstellung.

passdb backend

Samba erlaubt verschiedene Backend-Authentifizierungsmodelle. Sie können Clients durch LDAP, NIS+, eine SQL-Datenbank oder eine Passwortdatei authentifizieren. In der Voreinstellung wird smbpasswd verwendet. Diese Methode wird im folgenden Abschnitt näher beschrieben.

Wenn Sie smbpasswd verwenden, müssen Sie die Datei /usr/local/etc/samba/smbpasswd erzeugen, damit Samba in der Lage ist, Clients zu authentifizieren. Wenn Sie auf Ihrem UNIX®-Rechner vorhandenen Benutzern den Zugriff von einem Windows-Client aus ermöglichen wollen, verwenden Sie den folgenden Befehl:

# smbpasswd -a username

Anmerkung: Als Backend wird inzwischen tdbsam empfohlen. Mit dem folgenden Befehl legen Sie neue Benutzerkonten an:

# pdbedit -a -u username

Ausführliche Informationen zur Konfiguration von Samba finden Sie im Official Samba HOWTO. Sie sollten aber bereits nach dem Lesen dieses Abschnitts in der Lage sein, Samba zu starten.

30.9.3. Samba starten

Der Port net/samba34 legt ein neues Startskript an, mit dem Samba gesteuert (also etwa gestartet oder beendet) werden kann. Um dieses Skript zu aktivieren, fügen Sie folgende Zeile in /etc/rc.conf ein:

samba_enable="YES"

Alternativ können Sie auch die folgenden beiden Einträge verwenden:

nmbd_enable="YES"
smbd_enable="YES"

Anmerkung: Durch diese Einträge wird Samba beim Systemstart automatisch aktiviert.

Danach können Sie Samba jederzeit durch folgenden Befehl starten:

# /usr/local/etc/rc.d/samba start
Starting SAMBA: removing stale tdbs :
Starting nmbd.
Starting smbd.

Weitere Informationen zu den rc-Startskripten finden Sie im Abschnitt 12.7 des Handbuchs.

Samba verwendet drei Daemonen. Beachten Sie, dass sowohl nmbd als auch smbd durch das Skript samba gestartet werden. Wenn Sie die winbind name resolution services in smb.conf aktiviert haben, wird zusätzlich der winbindd-Daemon gestartet.

Sie können Samba jederzeit durch den folgenden Befehl beenden:

# /usr/local/etc/rc.d/samba stop

Samba ist ein komplexes Softwarepaket mit umfassenden Funktionen, die eine weitreichende Integration von Microsoft Windows-Netzwerken ermöglichen. Für eine Beschreibung dieser Zusatzfunktionen sollten Sie sich auf http://www.samba.org umsehen.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <[email protected]>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <[email protected]>.