Konfiguration eines Samba-Fileservers auf Freigabe- und Benutzerebene mit
einer Suse 8.0 Distribution zum Zugriff
Inhalt1. Einleitung
2. Installation /Starten der Dienste
2.1. Installation
2.2. Starten der Dienste
3. Samba als Fileserver (Shares)
3.1. Shares auf Freigabeebene
3.2. Shares auf Benutzerebene
4. Weitere Informationsquellen
Samba ist eine Implementierung des Server Message Block (SMB) Protokolls von
Micrososft unter Linux. SMB wird unter Windows genutzt, um den gemeinsamen
Zugriff auf Laufwerke und Drucker zu gestatten (sogenannte Freigaben oder
Shares).
Mit der Sammlung der Samba-Tools besteht die Möglichkeit, dass sich Unix
Rechner (also auch Linuxrechner) Freigaben und Drucker mit Windowsrechnern
teilen.
Weiterhin ist es möglich, einen kompletten Windows NT/2000 – Primary Domain
Controller mit Samba aufzubauen. Dies wird allerdings hier nicht näher
beschrieben.
Diese Dokumentation beinhaltet eine Anleitung zum Konfigurieren von Freigaben
für alle Benutzer (auf Freigabeebene) und nur einige Benutzer (auf
Benutzerebene).
Beschrieben wird die Installation auf einer SuSE 8.0 Distribution. Allerdings
lassen sich die Einstellungen meist direkt auf alle gängigen Distributionen
übertragen.
Voraussetzung für diese Anleitung ist eine lauffähige SuSE 8.0 (oder höher)
Distribution, mit konfiguriertem Netzwerk. Die Konfiguration muss unter dem
Benutzer root erfolgen.
Als erstes muss, wenn nicht schon vorhanden, das Paket „samba“ mit yast
nachinstalliert werden.
Das „samba-client“ Paket ist meist schon vorinstalliert, dient aber nur dazu,
auf bestehende Windows-Freigaben zuzugreifen, ist also nicht der Dienst um
Freigaben zu ermöglichen.
folgende Dateien sind für die Konfiguration relevant:
/etc/samba/smb.conf /etc/samba/smbpasswd
/etc/samba/smbusers
Logfiles, falls man die Systemmeldungen benötigt liegen standardmäßig in:
/var/log/samba/log.smbd
Zuerst sollte man nachsehen, ob die Dienste smbd und nmbd schon gestartet
sind, meist ist dies jedoch nicht der Fall. Dies kann man mit ps –ax|grep
smbd nachschauen.
Falls die Dienste bereits laufen (ps –ax|grep smbd liefert eine Prozessnummer
für smbd), kann mit der Konfiguration begonnen werden.
Ansonsten müssen die Dienste gestartet werden:
Dazu müssen in die Konfigurationsdatei /etc/inetd.conf folgende Zeilen
eingetragen werden (wenn nicht schon vorhanden):
# SAMBA NetBIOS services (for PC file and print sharing) netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd
Anschließend muss der inetd – Dienst neu gestartet werden (als root):
root@localhost $> ps –ax|grep inetd
liefert die Prozessnummer
root@localhost $> kill Prozessnummer beendet den Prozess
root@localhost $> inetd startet den Prozess erneut
die Konfigurationsdatei /etc/samba/smb.conf öffnen (z.B. mit vi)
Diese Datei ist in verschiedene Abschnitte gegliedert. Jeder beginnt mit
einem Titel in eckigen Klammern. Vorgegebene Abschnitte sind unter anderem:
[global] hier werden globale Einstellungen gemacht, die für die gesamte
Konfiguration gelten
[homes] sind Freigaben für lokale Benutzer
[printers] Druckerfreigaben
Je nach Distribution stehen schon Beispieleinträge in der Datei, allerdings
sind diese teils auskommentiert (mit „#“ oder „;“).
Freigabeebene bedeutet, dass die Shares für die Benutzer OHNE Passwortabfrage
freigegeben werden.
Beispielkonfiguration hier
Hinweis: In unseren Beispielen wurden alle vorgegebenen Einstellungen (außer
denen im Abschnitt [global]) auskommentiert.
Abschnitt [global]
[global] netbios name = LINUX server string = LinuxSambaServer Version %v workgroup = ARBEITSGRUPPE os level = 2
security = share encrypt passwords = Yes guest account = Nobody map to guest = Bad User
# This tells samba to write log files per machine. log file = /var/log/samba/log.test
workgroup: hier wird der Name der Arbeitsgruppe festgelegt, unter der der
Samba-Server später erscheinen soll.
netbios name: hier wird festgelegt, unter welchem Namen der Rechner
aufgerufen werden kann, alternativ zur IP. (unter windows z.B. \\linux oder
\\ipnummer)
server string: gibt an, was in der Titelleiste erscheinen soll
security: gibt an, ob der Rechner einen Share auf Freigabeebene (security =
share) oder Benutzerebene (siehe oben) verwalten soll.
guest account: welcher Benutzername unter Linux verwendet werden soll, wenn
ein Gastbenutzer das Share benutzt (normalerweise nobody)
log file: gibt den Pfad zum Logfile an, in das die Systemmeldungen von Samba
aufgelistet werden. (in unserem Beispiel die /var/log/samba/log.test). Diese
Datei wird automatisch angelegt.
os level: Gibt an welche "Wichtigkeit" der Server im Netz hat. Der Computer
mit der höchsten "Wichtigkeit" steht in der Netzwerkhierarchie an erster
Stelle. (os level = 64)
Abschnitte für Freigaben
[testfreigabe]
path = /home/testfreigabe comment = Verzeichnis zum lesen read only = yes guest ok = yes hosts allow = 192.168. browseable = yes available = yes
path: Pfad unter dem das Freigabeverzeichnis liegt. Das Verzeichnis muss auf
dem Linuxrechner existieren.
comment: Kommentar für den Benutzer (wird unter Windows bei Details
angezeigt)
read only: setzt Nur-Lese (= yes) oder Lese-Schreib-Recht (= no).
Achtung: Dem Verzeichnis müssen die Rechte trotzdem noch gegeben werden (mit
chmod)!
guest ok: legt fest, ob auch fremde Benutzer (nobody) Zugriff haben. (Sollte
auf „guest ok = yes“ stehen, wenn das Share auf Freigabeebene verwaltet
wird).
hosts allow: nur Rechner mit dieser IP haben Zugriff auf das Share.
Achtung: Sollte hier kein Eintrag gemacht werden, hat kein Rechner Zugriff!
browseable: gibt an, ob das Share sichtbar ist (=yes) oder nicht.
available: gibt an ob der Share verfügbar ist (=yes) oder nicht.
Mit unserer Beispielkonfiguration sehen die Shares folgendermaßen aus (unter
Windows):

Zu sehen sind hier testfreigabe und testfreigabe2. Da in [testfreigabe3]
browseable auf no gesetzt wurde, ist es hier nicht sichtbar, aber
trotzdem vorhanden.
Der Zugriff würde dann folgendermaßen aussehen (nur direkt über Eingabe von
\\192.168.0.1\testfreigabe3):

Shares auf Benutzerebene sind im wesentlichen gleich wie Shares auf
Freigabeebene, mit dem Unterschied, das man ein Benutzername/Passwort
benötigt um auf ein Share zuzugreifen. Man kann also festlegen, welche
Benutzer auf welche Shares Zugriff haben.
Beispielkonfiguration hier
Abschnitt [global]
[global]
netbios name = LINUX
server string = LinuxSambaServer Version %v
workgroup = ARBEITSGRUPPE
os level = 2
security = user
encrypt passwords = Yes
guest account = Nobody
map to guest = Bad User
Dieser Abschnitt entspricht bis auf die Änderung des Eintrags „security =
user“ dem der Konfiguration auf Freigabeebene.
Allerdings muss man bei den Freigabeeinträgen gewisse Änderungen vornehmen:
Abschnitte für Freigaben
[testfreigabe]
path = /home/testfreigabe
comment = Verzeichnis zum lesen
read only = yes
guest ok = no
hosts allow = 192.168.
browseable = yes
available = yes
valid users = smbuser
invalid users = bla
Hier ändern sich folgende Einträge im Vergleich zur Freigabeebene:
guest ok = no keine Gastzugriffe mehr zulassen
valid users mit Komma getrennte Benutzernamen, denen der Zugriff erlaubt ist.
invalid users mit Komma getrennte Benutzernamen, denen der Zugriff nicht
erlaubt ist.
Die bei „valid users“ und „invalid users“ angegebenen Benutzer müssen
zunächst dem Linuxsystem bekannt gemacht werden.
root@localhost $>useradd smbuser
root@localhost $>useradd bla
Ausserdem müssen sie auch dem Samba Server bekannt gemacht werden.
(Dieser hat eine eigene Benutzerverwaltung in der /etc/samba/smbpasswd).
root@localhost $>smbadduser –a smbuser
root@localhost $>smbadduser –e smbuser
Damit werden die Benutzer für Samba angelegt (Option –a) und aktiviert
(Option –e). Weitere Optionen, z.B. zum Ändern der Passwörter kann man mit
dem Kommando
root@localhost $>smbadduser –h
nachlesen. Parallel dazu ist es weiterhin möglich Shares für alle Benutzer
freizugeben:
[testfreigabe2]
path = /home/testfreigabe2
read only = no
guest ok = yes
hosts allow = 192.168.
browseable = yes
available = yes
Hier werden die Einträge „valid/invalid users“ weggelassen und guest ok
wieder auf yes gesetzt.
Wenn man auf das mit Passwort geschützte share zugreift, erscheint mit
unserer Konfiguration ein Abfragefenster, das zur Eingabe von Benutzernamen
und Passwort auffordert.
http://www.samba.org
http://www.linuxnetmag.com/de/issue6/m6samba1.html
http://www.linux-praxis.de/linux3/samba1.html
http://www.linuxhilfen.org/netz/sambaserver.html#0
http://www.tldp.org/HOWTO/SMB-HOWTO.html
http://www.samba-howto.de/DE-Samba2-HOWTO.html#toc4
|