27.4 Konfigurieren eines Samba-Servers

Es gibt zwei Möglichkeiten, Samba-Server in openSUSE® zu konfigurieren: mit YaST oder manuell. Bei der manuellen Konfiguration können Sie mehr Details einstellen, allerdings müssen Sie ohne den Komfort der Bedienoberfläche von YaST zurechtkommen.

27.4.1 Konfigurieren eines Samba-Servers mit YaST

Um einen Samba-Server zu konfigurieren, starten Sie YaST und wählen Sie Netzwerkdienste > Samba-Server.

Anfängliche Samba-Konfiguration

Beim ersten Start des Moduls wird das Dialogfeld Samba-Installation geöffnet, das Sie auffordert, ein paar grundlegende Entscheidungen hinsichtlich der Serveradministration zu treffen, und Sie am Ende der Konfiguration nach dem Passwort für Samba-root fragt. Bei späteren Starts wird das Dialogfeld Samba-Server-Konfiguration geöffnet.

Der Dialog Samba-Installation umfasst zwei Schritte und optionale detaillierte Einstellungen:

Arbeitsgruppe oder Domäne

Wählen Sie unter Arbeitsgruppe oder Domäne eine Arbeitsgruppe oder Domäne aus oder geben Sie eine neue ein und klicken Sie auf Weiter.

Samba-Servertyp

Geben Sie im nächsten Schritt an, ob Ihr Server als CD (PDC) fungieren soll, und klicken Sie auf Weiter.

Start

Wählen Sie, ob Samba Beim Systemstart oder Manuell gestartet werden soll, und klicken Sie auf OK. Legen Sie dann im abschließenden Popup-Feld das root-Passwort für Samba fest.

Sie können alle Einstellungen später im Dialogfeld Samba-Konfiguration mit den Karteireitern Start, Freigaben und Identität ändern.

Erweiterte Samba-Konfiguration

Beim ersten Start des Samba-Servermoduls wird das Dialogfeld Samba-Konfiguration direkt nach den beiden Anfangsschritten (siehe Anfängliche Samba-Konfiguration) geöffnet. Hier passen Sie Ihre Samba-Server-Konfiguration an.

Klicken Sie nach dem Bearbeiten Ihrer Konfiguration auf OK, um Ihre Einstellungen zu speichern.

Starten des Servers

Auf dem Karteireiter Start können Sie den Start des Samba-Servers konfigurieren. Um den Dienst bei jedem Systemboot zu starten, wählen Sie During Boot (Beim Systemstart). Um den manuellen Start zu aktivieren, wählen Sie Manually (Manuell). Weitere Informationen zum Starten eines Samba-Servers erhalten Sie in Abschnitt 27.3, Starten und Stoppen von Samba.

Auf diesem Karteireiter können Sie auch Ports in Ihrer Firewall öffnen. Wählen Sie hierfür Open Port in Firewall (Firewall-Port öffnen). Wenn mehrere Netzwerkschnittstellen vorhanden sind, wählen Sie die Netzwerkschnittstelle für Samba-Dienste, indem Sie auf Firewall-Details klicken, die Schnittstellen auswählen und dann auf OK klicken.

Freigaben

Legen Sie auf dem Karteireiter Freigaben die zu aktivierenden Samba-Freigaben fest. Es gibt einige vordefinierte Freigaben wie Home-Verzeichnisse und Drucker. Mit Status wechseln können Sie zwischen den Statuswerten Aktiviert und Deaktiviert wechseln. Klicken Sie auf Hinzufügen, um neue Freigaben hinzuzufügen, bzw. auf Löschen, um die ausgewählte Freigabe zu entfernen.

Mit Benutzern die Freigabe ihrer Verzeichnisse erlauben können Mitglieder der Gruppe in Zulässige Gruppe ihre eigenen Verzeichnisse für andere Benutzer freigeben. Zum Beispiel users für eine lokale Reichweite oder DOMAIN\Users für eine domänenweite Freigabe. Der Benutzer muss außerdem sicherstellen, dass die Berechtigungen des Dateisystems den Zugriff zulassen. Mit Maximale Anzahl an Freigaben begrenzen Sie die Gesamtzahl der erstellbaren Freigaben. Wenn Sie den Zugriff auf Benutzerfreigaben ohne Authentifizierung zulassen möchten, aktivieren Sie Gastzugriff erlauben.

Identität

Auf dem Karteireiter Identität legen Sie fest, zu welcher Domäne der Host gehört (Grundeinstellungen) und ob ein alternativer Hostname im Netzwerk (NetBIOS-Hostname) verwendet werden soll. Microsoft Windows Internet Name Service (WINS) kann auch zur Namensauflösung benutzt werden. Aktivieren Sie in diesem Fall WINS zur Hostnamenauflösung verwenden und entscheiden Sie, ob Sie WINS-Server via DHCP abrufen möchten. Globale Einstellungen für Experten oder die Benutzerauthentifizierung können Sie festlegen, wenn Sie auf Erweiterte Einstellungen klicken.

27.4.2 Web-Administration mit SWAT

SWAT (Samba Web Administration Tool) ist ein alternativesWerkzeug für die Administrationsaufgaben von Samba. Es stellt eine einfache Webschnittstelle zur Verfügung, mit der Sie den Samba-Server konfigurieren können. Sie können SWAT verwenden, indem Sie in einem Webbrowser http://localhost:901 aufrufen und sich als root anmelden. Wenn Sie über kein spezielles root-Konto für Samba verfügen, verwenden Sie das root-Systemkonto.

HINWEIS: Aktivieren von SWAT

Nach der Installation von Samba-Server ist SWAT nicht aktiviert. Um SWAT zu aktivieren, öffnen Sie in YaST Netzwerkdienste > Netzwerkdienste (xinetd), wählen Sie swat aus der Tabelle und klicken Sie auf Status wechseln (Ein oder Aus).

27.4.3 Manuelles Konfigurieren des Servers

Wenn Sie Samba als Server verwenden möchten, installieren Sie samba. Die Hauptkonfigurationsdatei von Samba ist /etc/samba/smb.conf. Diese Datei kann in zwei logische Bereiche aufgeteilt werden. Der Abschnitt [global] enthält die zentralen und globalen Einstellungen. Die Abschnitte [share] enthalten die einzelnen Datei- und Druckerfreigaben. Mit dieser Vorgehensweise können Details der Freigaben unterschiedlich oder im Abschnitt [global] übergreifend festgelegt werden. Letzteres trägt zur Übersichtlichkeit der Konfigurationsdatei bei.

Der Abschnitt "global"

Die folgenden Parameter im Abschnitt [global] sind den Gegebenheiten Ihres Netzwerkes anzupassen, damit Ihr Samba-Server in einer Windows-Umgebung von anderen Computern über SMB erreichbar ist.

workgroup = TUX-NET

Mit dieser Zeile wird der Samba-Server einer Arbeitsgruppe zugeordnet. Ersetzen Sie TUX-NET durch eine entsprechende Arbeitsgruppe Ihrer Netzwerkumgebung. Der Samba-Server erscheint mit seinem DNS-Namen, sofern der Name noch nicht an ein anderes Gerät im Netzwerk vergeben ist. Wenn der DNS-Name nicht verfügbar ist, kann der Servername mithilfe von netbiosname=MEINNAME festgelegt werden. Weitere Details zu diesem Parameter finden Sie auf der man-Seite smb.conf.

os level = 2

Anhand dieses Parameters entscheidet Ihr Samba-Server, ob er versucht, LMB (Local Master Browser) für seine Arbeitsgruppe zu werden. Wählen Sie bewusst einen niedrigen Wert, damit ein vorhandenes Windows-Netz nicht durch einen falsch konfigurierten Samba-Server gestört wird. Weitere Informationen zu diesem wichtigen Thema finden Sie in den Dateien BROWSING.txt und BROWSING-Config.txt im Unterverzeichnis textdocs der Paketdokumentation.

Wenn im Netzwerk kein anderer SMB-Server (z. B. ein Windows 2000-Server) vorhanden ist und der Samba-Server eine Liste aller in der lokalen Umgebung vorhandenen Systeme verwalten soll, setzen Sie den Parameter os level auf einen höheren Wert (z. B. 65). Der Samba-Server wird dann als LMB für das lokale Netzwerk ausgewählt.

Beim Ändern dieses Werts sollten Sie besonders vorsichtig sein, da dies den Betrieb einer vorhandenen Windows-Netzwerkumgebung stören könnte. Testen Sie Änderungen zuerst in einem isolierten Netzwerk oder zu unkritischen Zeiten.

wins support und wins server

Wenn Sie den Samba-Server in ein vorhandenes Windows-Netzwerk integrieren möchten, in dem bereits ein WINS-Server betrieben wird, aktivieren Sie den Parameter wins server und setzen Sie seinen Wert auf die IP-Adresse des WINS-Servers.

Sie müssen einen WINS-Server einrichten, wenn Ihre Windows-Systeme in getrennten Subnetzen betrieben werden und sich gegenseitig erkennen sollen. Um einen Samba-Server als WINS-Server festzulegen, setzen Sie die Option wins support = Yes. Stellen Sie sicher, dass diese Einstellung nur auf einem einzigen Samba-Server im Netzwerk aktiviert wird. Die Optionen wins server und wins support dürfen in der Datei smb.conf niemals gleichzeitig aktiviert sein.

Freigaben

In den folgenden Beispielen werden einerseits das CD-ROM-Laufwerk und andererseits die Verzeichnisse der Nutzer (homes) für SMB-Clients freigegeben.

[cdrom]

Um die versehentliche Freigabe eines CD-ROM-Laufwerks zu verhindern, sind alle erforderlichen Zeilen dieser Freigabe durch Kommentarzeichen (hier Semikolons) deaktiviert. Entfernen Sie die Semikolons in der ersten Spalte, um das CD-ROM-Laufwerk für Samba freizugeben.

Beispiel 27-1 Eine CD-ROM-Freigabe (deaktiviert)

;[cdrom]
;       comment = Linux CD-ROM
;       path = /media/cdrom
;       locking = No
[cdrom] und comment

Der Eintrag [cdrom] ist der Name der Freigabe, die von allen SMB-Clients im Netzwerk gesehen werden kann. Zur Beschreibung dieser Freigabe kann ein zusätzlicher comment hinzugefügt werden.

path = /media/cdrom

path exportiert das Verzeichnis /media/cdrom.

Diese Art der Freigabe ist aufgrund einer bewusst restriktiv gewählten Voreinstellung lediglich für die auf dem System vorhandenen Benutzer verfügbar. Soll die Freigabe für alle Benutzer bereitgestellt werden, fügen Sie der Konfiguration die Zeile guest ok = yes hinzu. Durch diese Einstellung erhalten alle Benutzer im Netzwerk Leseberechtigungen. Es wird empfohlen, diesen Parameter sehr vorsichtig zu verwenden. Dies gilt umso mehr für die Verwendung dieses Parameters im Abschnitt [global].

[homes]

Eine besondere Stellung nimmt die Freigabe [homes] ein. Hat der Benutzer auf dem Linux-Dateiserver ein gültiges Konto und ein eigenes Home-Verzeichnis, so kann er eine Verbindung zu diesem herstellen.

Beispiel 27-2 homes-Freigabe

[homes]
	comment = Home Directories
	valid users = %S
	browseable = No
	read only = No
	create mask = 0640
	directory mask = 0750
[homes]

Insoweit keine ausdrückliche Freigabe mit dem Freigabenamen des Benutzers existiert, der die Verbindung zum SMB-Server herstellt, wird aufgrund der [homes]-Freigabe dynamisch eine Freigabe generiert. Dabei ist der Freigabename identisch mit dem Benutzernamen.

valid users = %S

%S wird nach erfolgreichem Verbindungsaufbau durch den konkreten Freigabenamen ersetzt. Bei einer [homes]-Freigabe ist dies immer der Benutzername. Aus diesem Grund werden die Zugriffsberechtigungen auf die Freigabe eines Benutzers immer exklusiv auf den Eigentümer des Benutzerverzeichnisses beschränkt.

browseable = No

Durch diese Einstellung wird die Freigabe in der Netzwerkumgebung unsichtbar gemacht.

read only = No

Samba untersagt Schreibzugriff auf exportierte Freigaben standardmäßig mit dem Parameter read only = Yes. Soll also ein Verzeichnis als schreibbar freigegeben werden, muss der Wert read only = No festgesetzt werden, was dem Wert writeable = Yes entspricht.

create mask = 0640

Nicht auf MS Windows NT basierende Systeme kennen das Konzept der Unix-Zugriffsberechtigungen nicht, sodass sie beim Erstellen einer Datei keine Berechtigungen zuweisen können. Der Parameter create mask legt fest, welche Zugriffsberechtigungen neu erstellten Dateien zugewiesen werden. Dies gilt jedoch nur für Freigaben mit Schreibberechtigung. Konkret wird hier dem Eigentümer das Lesen und Schreiben und den Mitgliedern der primären Gruppe des Eigentümers das Lesen erlaubt. valid users = %S verhindert den Lesezugriff auch dann, wenn die Gruppe über Leseberechtigungen verfügt. Um der Gruppe Lese- oder Schreibzugriff zu gewähren, deaktivieren Sie die Zeile valid users = %S.

Sicherheitsstufen (Security Levels)

Jeder Zugriff auf eine Freigabe kann für mehr Sicherheit durch ein Passwort geschützt werden. SMB kennt vier verschiedene Möglichkeiten der Berechtigungsprüfung:

Share Level Security (security = share)

Einer Freigabe wird ein Passwort fest zugeordnet. Jeder Benutzer, der dieses Passwort kennt, hat Zugriff auf die Freigabe.

User Level Security (security = user)

Diese Variante führt das Konzept des Benutzers in SMB ein. Jeder Benutzer muss sich beim Server mit seinem Passwort anmelden. Nach der Authentifizierung kann der Server dann abhängig vom Benutzernamen Zugriff auf die einzelnen exportierten Freigaben gewähren.

Server Level Security (security = server)

Seinen Clients gibt Samba vor, im User Level Mode zu arbeiten. Allerdings übergibt es alle Passwortanfragen an einen anderen User Level Mode Server, der die Authentifizierung übernimmt. Diese Einstellung erfordert einen weiteren Parameter (password server).

Sicherheit der Stufe ADS (Sicherheit = ADS)

In diesem Modus fungiert Samba als Domänenmitglied in einer Active Directory-Umgebung. Für den Betrieb in diesem Modus muss auf dem Computer, auf dem Samba ausgeführt wird, Kerberos installiert und konfiguriert sein. Der Computer, auf dem Samba verwendet wird, muss in den ADS-Bereich integriert sein. Dies kann mithilfe des YaST-Moduls Windows-Domänenmitgliedschaft erreicht werden.

Domain Level Security (security = domain)

Dieser Modus funktioniert nur korrekt, wenn der Computer in eine Windows NT-Domäne integriert wurde. Samba versucht, den Benutzernamen und das Passwort zu validieren, indem es diese an einen Window NT-Primär-Controller oder Backup Domain Controller weiterleitet. Ein Windows NT-Server wäre ausreichend. Er erwartet, dass der Parameter für das verschlüsselte Passwort auf ja festgelegt wurde.

Die Sicherheit auf Freigabe-, Benutzer-, Server- und Domänenebene (Share, User, Server und Domain Level Security) gilt für den gesamten Server. Es ist nicht möglich, einzelne Freigaben einer Serverkonfiguration mit Share Level Security und andere mit User Level Security zu exportieren. Sie können jedoch auf einem System für jede konfigurierte IP-Adresse einen eigenen Samba-Server ausführen.

Weitere Informationen zu diesem Thema finden Sie in der Samba-HOWTO-Collection. Wenn sich mehrere Server auf einem System befinden, beachten Sie die Optionen interfaces und bind interfaces only.