17.2. Konfiguration eines Samba-Servers

Samba verwendet standardmäßig die Konfigurationsdatei (/etc/samba/smb.conf), die Benutzern ermöglicht, ihre Red Hat Linux Home-Verzeichnisse aus Samba-Share anzuzeigen. Für Red Hat Linux konfigurierte Drucker können unter Samba als gemeinsame Drucker verwendet werden. Anders ausgedrückt: Sie können einen Drucker an Ihr Red Hat Linux-System anschließen und von einem Windows-Rechner aus über Ihr Netzwerk mit ihm drucken.

17.2.1. Grafische Konfiguration

Um Samba mit einer grafischen Benutzeroberfläche zu konfigurieren, verwenden Sie das Samba-Server Konfigurationstool. Für die Befehslzeilenkonfiguration gehen Sie zu Abschnitt 17.2.2.

Das Samba-Server Konfigurationstool ist eine grafische Benutzeroberfläche zum Verwalten von Samba Shares, Benutzern und allgemeinen Servereinstelllungen. Es ändert die Konfigurationsdateien im Verzeichnis /etc/samba/. Jegliche Änderungen, die ohne die Applikation durchgeführt wurden, werden erhalten.

Um diese Applikation verwenden zu können, müssen Sie das X Window System ausführen, über root-Berechtigungen verfügen und das redhat-config-samba RPM-Paket installiert haben. Um das Samba-Server Konfigurationstool vom Desktop aus zu starten, gehen Sie zum Hauptmenü (im Panel) => Extras => Servereinstellungen => Samba Server oder geben Sie den Befehl redhat-config-samba an einem Shell-Prompt (z.B. XTerm oder GNOME Terminal) ein.

Abbildung 17-1. Samba-Server Konfigurationstool

AnmerkungAnmerkung
 

Das Samba-Server Konfigurationstool zeigt keine gemeinsamen Drucker oder Default Stanza, mit der Benutzer ihr Home-Verzeichnis auf dem Samba-Server ansehen können.

17.2.1.1. Servereinstellungen konfigurieren

Der erste Schritt bei der Konfiguration eines Samba-Servers ist das Konfigurieren der Grundeinstellungen für den Server und einige Sicherheitsoptionen. Nachdem Sie die Applikation gestartet haben, wählen Sie aus dem Pull-Down-Menü Präferenzen => Servereinstellungen. Der Tab Basis wird wie in Abbildung 17-2 abgebildet angezeigt.

Abbildung 17-2. Servereinstellungen konfigurieren

Geben Sie auf dem Tab Basis ein, welcher Arbeitsgruppe der Computer zugehören soll, sowie eine Kurzbeschreibung des Computers. Dies entspricht den Optionen in workgroup und server string in der Datei smb.conf.

Abbildung 17-3. Sicherheitseinstellungen des Servers konfigurieren

Der Tab Sicherheit enthält die folgenden Optionen:

  • Authentifizierungsmodus — Dies entspricht der security-Option. Wählen Sie einen der folgenden Authentifizierungstypen.

    • Domain — Der Samba-Server verlässt sich auf einen Windows NT Primary oder Backup Domain Controller, um den Benutzer zu authentifizieren. Der Server gibt den Benutzernamen und das Passwort an den Controller weiter und wartet auf die Rückgabe. Geben Sie den NetBIOS Namen des Primary oder Backup Domain Controller im Feld Authentifizierungsserver an.

      Die Option Verschlüsselte Passwörter muss auf Ja gesetzt sein, wenn dies ausgewählt ist.

    • Server — Der Samba-Server versucht den Benutzernamen und das Passwort durch Weitergabe an einen anderen Samba-Server zu authentifizieren. Wird dies nicht erkannt, versucht der Server die Authentifikation durch den Benutzer-Authentifizierungsmodus. Geben Sie den NetBIOS Namen des anderen Samba-Server im Feld Authentifizierungsserver ein.

    • Share — Samba-Benutzer müssen ihren Benutzernamen und ihr Passwort nicht für jeden Server eingeben. Sie werden nicht zur Eingabe eines Benutzernamens und eines Passworts aufgefordert, bis Sie versuchen, auf ein bestimmtes, gemeinsames Verzeichnis auf einem Samba-Server zuzugreifen.

    • Benutzer — (Standard) Samba-Benutzer müssen einen gültigen Benutzernamen und ein Passwort pro Samba-Server eingeben. Wählen Sie diese Option, wenn Sie die Option Windows Benutzername verwenden möchten. Informationen hierzu finden Sie unter Abschnitt 17.2.1.2.

  • Passwörter verschlüsseln — (Standardwert ist Ja) Diese Option muss aktiviert sein, wenn die Clients Windows 98, Windows NT 4.0 mit Service Pack 3 oder andere, neuere Versionen von Microsoft Windows verwenden. Die Passwörter werden zwischen dem Server und dem Client verschlüsselt anstelle von Klartext übertragen, was die Sicherheit erhöht. Dies entspricht der Option encrypted passwords. Weitere Informationen zu verschlüsselten Samba-Passwörtern finden Sie unter Abschnitt 17.2.3.

  • Gast-Account — Wenn sich Benutzer oder Gastbenutzer an einem Samba-Server anmelden, müssen diese zu einem gültigen Benutzer auf dem Server "gemappt" werden. Wählen Sie einen der bestehenden Benutzernamen im System, der dann den Gastaccount für Samba bietet. Wenn sich Gäste im Samba-Server anmelden, haben diese die gleichen Rechte wie dieser Benutzer. Dies entspricht der Option guest account.

Nachdem Sie auf OK geklickt haben, werden die Änderungen in die Konfigurationsdatei geschrieben und der Daemon wird neu gestartet. Die Änderungen werden sofort wirksam.

17.2.1.2. Verwaltung von Samba-Benutzern

Das Samba-Server Konfigurationstool benötigt einen bestehenden Benutzeraccount, der im Red Hat Linux-System aktiv ist und sich als Samba-Server verhält, bevor ein Samba-Benutzer hinzugefügt werden kann. Der Samba-Benutzer wird dann mit dem bestehenden Red Hat Linux Benutzeraccount assoziiert.

Abbildung 17-4. Verwaltung von Samba-Benutzern

Um einen Samba-Benutzer hinzuzufügen, wählen Sie Präferenzen => Samba-Benutzer aus dem Pull-Down-Menü und klicken Sie auf Benutzer hinzufügen. Im Fenster Neuen Samba-Benutzer anlegen wählen Sie einen Unix Benutzernamen aus der Liste der bestehenden Benutzer im lokalen System.

Wenn der Benutzer einen anderen Benutzernamen auf einem Windowsrechner hat, und sich in den Samba-Server von diesem Windowsrechern aus anmelden, geben Sie diesen Windows-Benutzernamen im Feld Windows-Benutzername an. Der Authentifizierungsmodus im Sicherheit Tab der Servereinstellungen muss auf Benutzer gesetzt sein.

Konfigurieren Sie auch ein Samba Passwort für diesen Samba-Benutzer und bestätigen Sie das Passwort, indem Sie es noch einmal eingeben. Auch wenn Sie verschlüsselte Passwörter für Samba verwenden, sollten die Passwörter für alle Samba-Benutzer sich von denen für das Red Hat Linux-System unterscheiden.

Um einen bestehenden Benutzer zu bearbeiten, wählen Sie diesen Benutzer aus der Liste aus und klicken Sie auf Benutzer bearbeiten. Um einen bestehenden Samba-Benutzer zu löschen, wählen Sie den Benutzer aus und klicken Sie auf Benutzer löschen. Das Löschen eines Samba-Benutzers löscht nicht den Red Hat Linux-Benutzeraccount dieses Benutzers.

Sie Benutzereinstellungen werden geändert, sobald Sie auf OK klicken.

17.2.1.3. Ein Share hinzufügen

Abbildung 17-5. Share hinzufügen

Um einen Share hinzuzufügen, klicken Sie auf Hinzufügen. Der Basis Tab konfiguriert folgende Optionen:

  • Verzeichnis — Das gemeinsam über Samba zu verwendende Verzeichnis. Das Verzeichnis muss vorhanden sein.

  • Beschreibung — Eine kurze Beschreibung des Shares.

  • Grund-Berechtigungen — Legt Nur-Lese oder Schreib- und Leseberechtigungen für Benutzer auf den gemeinsam verwendeten Verzeichnissen fest.

Auf dem Tab Zugang können Sie wählen, ob nur bestimmte Benutzer Zugriff auf den Share haben sollen oder ob alle Samba-Benutzer hierauf zugreifen dürfen. Wenn Sie nur bestimmten Benutzern Zugang erlauben wollen, wählen Sie deren Namen aus der Liste der verfügbaren Samba-Benutzer.

Der Share wird sofort nach dem Klicken auf OK hinzugefügt.

17.2.2. Befehlszeilenkonfiguration

Samba verwendet /etc/samba/smb.conf als Konfigurationsdatei. Wenn Sie diese Konfigurationsdatei ändern, werden diese Änderungen erst dann wirksam, wenn Sie den Samba-Daemon mit dem Befehl service smb restart neu starten.

Um die Windows-Arbeitsgruppe und deren Beschreibung für Samba festzulegen, bearbeiten Sie die folgenden Zeilen in der Datei smb.conf:

workgroup = WORKGROUPNAME
server string = BRIEF COMMENT ABOUT SERVER

Ersetzen Sie WORKGROUPNAME mit dem Namen der Windows-Arbeitsgruppe, zu der der Rechner gehören soll. BRIEF COMMENT ABOUT SERVER ist optional und stellt den Windows-Kommentar zum Samba-System dar.

Um ein gemeinsam genutztes Verzeichnis für Samba auf Ihrem Linux- System zu erstellen, fügen Sie den folgenden Bereich zu Ihrer smb.conf-Datei hinzu (nachdem Sie diese Datei an Ihre Bedürfnisse und Ihr System angepasst haben):

[sharename]
comment = Insert a comment here
path = /home/share/
valid users = tfox carole
public = no
writable = yes
printable = no
create mask = 0765

Dieses Beispiel erlaubt den Benutzern tfox und carole von einem Samba-Client aus, das Verzeichnis /home/share im Samba- Server zu lesen und darin zu schreiben.

17.2.3. Verschlüsselte Passwörter

In Red Hat Linux 9 sind verschlüsselte Passwörter standardmäßig aktiviert, da dies sicherer ist. Werden keine verschlüsselten Passwörter verwendet, werden Passwörter im Klartext verwendet, die von anderen mithilfe von Netzwerk Packet Sniffern abgefangen werden können. Die Verwendung von verschlüsselten Passwörter wird empfohlen.

Das Microsoft SMB-Protokoll verwendete ursprünglich Klartext-Passwörter. Windows 2000 und Windows NT 4.0 mit Service Pack 3 oder höher, Windows ME und Windows XP erfordern jedoch verschlüsselte Samba-Passwörter. Um Samba zwischen einem Red Hat Linux-System und einem dieser Windows-Systeme zu verwenden, können Sie entweder die Windows-Registrierung bearbeiten, so dass Klartext-Passwörter verwendet werden, oder Samba auf Ihrem Linux- System konfigurieren, so dass verschlüsselte Passwörter verwendet werden. Wenn Sie die Registrierung ändern, müssen Sie dies für alle unter Windows laufenden Rechner tun — dies ist risikoreich und kann Konflikte hervorrufen. Aufgrund höherer Sicherheit sind verschlüsselte Passwörter zu empfehlen.

Führen Sie folgende Schritte aus, um Samba auf Ihrem Linux-System so zu konfigurieren, dass verschlüsselte Passwörter verwendet werden:

  1. Erstellen Sie eine separate Passwortdatei für Samba. Um eine auf der vorhandenen Datei /etc/passwd basierende Datei zu erstellen, geben Sie am Shell-Prompt folgenden Befehl ein:

    cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

    Wenn das System NIS verwendet, geben Sie folgenden Befehl ein:

    ypcat passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

    Das Skript mksmbpasswd.sh ist im Verzeichnis /usr/bin mit dem samba-Paket installiert.

  2. Ändern Sie die Berechtigungen in der Samba-Passwortdatei, so dass nur der unter einem root-Account angemeldete Benutzer über Lese- und Schreibzugriff verfügt:

    chmod 600 /etc/samba/smbpasswd
  3. Das Skript kopiert die Benutzerpasswörter nicht in die neue Datei, und der Samba-Benutzeraccount wird erst aktiv, wenn ein Samba-Passwort für ihn festgelegt ist. Aus Gründen der Sicherheit sollte das Samba-Passwort sich von dem Passwort für das Red Hat Linux-System unterscheiden. Um für jeden Samba-Benutzer das Passwort festzulegen, verwenden Sie folgenden Befehl (ersetzen Sie username mit dem jeweiligen Benutzernamen).

    smbpasswd username 
  4. Verschlüsselte Passwörter müssen in der Samba- Konfigurationsdatei aktiviert sein. Prüfen Sie in der Datei smb.conf, dass die folgenden Zeilen nicht auskommentiert sind:

    encrypt passwords = yes
    smb passwd file = /etc/samba/smbpasswd
  5. Stellen Sie sicher, dass der Dienst smb gestartet ist; geben Sie hierfür den Befehl service smb restart am Shell-Prompt ein.

  6. Soll der Dienst smb automatisch gestartet werden, verwenden Sie ntsysv, chkconfig oder das Services-Konfigurationstool, um ihn zur Laufzeit zu aktivieren. Weitere Information finden Sie unter Kapitel 14.

TippTipp
 

Weitere Informationen zu verschlüsselten Passwörtern finden Sie unter /usr/share/doc/samba-<Version>/docs/htmldocs/ENCRYPTION.html (wobei <Version> durch die Nummer der installierten Samba-Version zu ersetzen ist).

Das PAM-Modul pam_smbpass kann zum Synchronisieren der Samba-Benutzerpasswörter mit den Systempasswörtern verwendet werden, wenn der Befehl passwd verwendet wird. Ruft ein Benutzer den Befehl passwd auf, wird sowohl das bei der Anmeldung am Red Hat Linux-System verwendete Passwort als auch das zur Verbindung mit einem Samba-Share verwendete Passwort geändert.

Fügen Sie folgende Zeile zu /etc/pam.d/system- auth unter dem Aufruf pam_cracklib.so hinzu, um diese Funktion zu aktivieren:

password required /lib/security/pam_smbpass.so nullok use_authtok try_first_pass

17.2.4. Starten und Anhalten des Servers

Auf dem Server, auf dem Verzeichnisse über Samba gemeinsam verwendet werden, muss smb ausgeführt werden.

Sie können den Status des Samba-Daemon mit dem folgenden Befehl anzeigen:

/sbin/service smb status

Starten Sie den Daemon mit dem folgenden Befehl:

/sbin/service smb start

Stoppen Sie den Server mit dem folgenden Befehl:

/sbin/service smb stop

Um den smb Dienst beim Booten zu starten, geben Sie folgenden Befehl ein:

/sbin/chkconfig --level 345 smb on

Sie können auch chkconfig, ntsysv oder das Services-Konfigurationstool zum Konfigurieren der Dienste beim Booten verwenden. Weitere Informationen finden Sie unter Kapitel 14.