Netzwerk-Installationsanleitung für Kernel 2.4 und 2.6

 

  
Zurück Inhalt Vorwärts


Dieses Kapitel wurde freundlicherweise zur Verfügung gestellt von: Helge Klug

7.0 Samba: Fileserver für Windows-Clients

Kurzfassung

In der Abhandlung Samba als "file-server" wird die Installation von Samba und deren Konfiguration behandelt. Es wird ausführlich beschrieben welche Variablen für die Funktion der Netzwerkfreigabe notwendig sind. Dazu zählen u.a. die Anlage und Freigabe von Benutzern und Verzeichnissen.

7.1 Einleitung

Diese Dokumentation beruht auf eigenen Erfahrungen mit Samba als "file-server". Durch das erhöhte Transfervolumen, ist es ratsam eine zweite Netzwerkkarte mit 100 Mbit/s direkt mit dem internen Netzwerk über einen Switch zu Verbinden. Engpässe werden so beim Übertragen umgangen. Für den weiteren Verlauf der Dokumentationen, wird von einer zweiten Netzwerkschnittstelle ausgegangen. Mit dieser Dokumentation möchte ich denjenigen helfen, die vor der ersten Installation eines SMB-Protokolls stehen! Hierbei wird die Konfiguration von Samba, sowie deren des Microsoft Windows Clienten behandelt.

7.2 Einrichten von Samba

Samba (SMB) lässt Linuxrechner in der Netzwerkumgebung von Windows erscheinen. Dies erfolgt mit den gleichen Vorteilen, wie bei einem NT-Server, mit dem Unterschied, dass Linux um einiges stabiler in seiner Performance ist. Linuxplattformen wurde ursprünglich als reine Serverplattform programmiert. Dies legt geringe Ausfallzeiten nahe. Samba baut auf dem von Microsoft entwickeltem NeTBIOS auf. NeTBIOS ist ein reines Netzwerk-protokoll, kann aber von sich aus keinen Transport gewährleisten. Aus diesem Grund setzt es auf das NetBEUI-Protokoll auf, das eigens für die NeTBIOS-Umgebung entwickelt wurde. Für die Kommunikation des Protokolls stehen verschiedene Ports zur Verfügung. Die Tabelle 7.1 verdeutlich die Port-Benutzung von Samba.

Tabelle 7.1: Benutzung der Ports in Samba
137 / tcp 137 / udp 138 / tcp 138 / udp 139 / tcp 139 / udp

Mit SMB können verschiedene Verzeichnisse und Drucker von einem UNIX-Rechner (beispielsweise Mandrake-Linux) frei gegeben und für Microsoft Clients über ein Netzwerk bereitgestellt werden. Darüber hinaus stellt Samba viele Dienste zur Verfügung, die sonst nur von NT-Servern gewährleistet werden können.

7.2.1 Installation von Samba

Das Paket der Softwarelösung Samba befindet sich auf jeder gängigen Linux-Distribution und kann mit dem herstellerspezifischen Konfigurationstool in das laufende Betriebssystem integriert werden. Wer die neueste Version verwenden möchte, kann den Quellcode von http://www.samba.org herunterladen und wie folgt am Beispiel der Version 2.2.5 installieren:

/samba-2.2.5.tar.gz

Die Datei muss entpackt werden.

tar xvf samba-2.2.5.tar.gz

Das Verzeichnis mit dem Namen "samba-2.2.5" wird angelegt und der Quellcode in das Verzeichnis "source" kopiert.Wechseln Sie in das neue Verzeichnis.

cd samba-2.2.5/source

Nun kann mit der Kompilierung und der Installation begonnen werden:

./configure
make
make install

7.2.2 Installation von Swat

Swat ist eines von mehreren Administrationstools, welches die Konfiguration von Samba über einen Windows-Client erleichtert. Swat wird standardgemäß mit Samba ausgeliefert und bei der Installation per "default" mit installiert. Bei einigen Distributionen muss Swat getrennt von Samba installiert werden. Da dies leicht mit einem Konfigurationstool (z.B. "linuxconf" bei Mandrake-Linux) installiert werden kann, wird hier nicht näher darauf eingegangen und kann im Anwenderhandbuch des Herstellers nachgeschlagen werden. Im weiteren Verlauf dieser Dokumentation wird die Konfiguration über Swat beschrieben.
In einer modernen zeitgemäßen Konfiguration ist Swat ein http-Server der auf dem Port 901 läuft und entsprechende html-Seiten für einen üblichen Browser bereitstellt. Dabei stellt der http-Server Eingabemasken zur Verfügung, deren Deklarierungen in der zentralen Konfigurationsdatei von Samba (/etc/samba/smb.conf) gespeichert werden. Damit Swat nicht im Konflikt anderer http-Server steht, die standardgemäß auf Port 80 laufen, wurde Swat auf Port 901 verlegt. Voraussetzungen für Swat ist ein netzwerktauglicher Client am internen Netz, mit einem installierten Web-Browser.

7.2.3 Die "services" und "inetd"

Die "services" und die "inetd" Dateien sind für den Betrieb von Samba und Swat zuständig. Die "services" teilt dem Unix-Rechner mit, ob die Dienste auf den entsprechenden Ports zur Verfügung stehen. Die "inetd" ist u.a. dafür verantwortlich, dass Swat bei Aufruf automatisch gestartet wird. Damit wird ein "daemon"-Betrieb umgangen. Nach der Installation müssen für den Betrieb von Samba und dem Administrationstool Swat einige Variablen kontrolliert bzw. abgepasst werden (vgl. Tabelle 7.2). In der Datei /etc/services sollten folgende Zeilen dokumentiert sein
Tabelle 7.2: Dienste in /etc/services
Dienst   Berschreibung
netbios-ns    137/tcp # Netbios Name Service
netbios-ns    137/udp
netbios-dgm 138/tcp # NetBios Datagram Service
netbios-dgm 138/udp
netbios-ssn   139/tcp # Netbios Session Service
netbios-ssn  139/udp

Für das Administrationstool "Swat" ist ein weiter Eintrag notwendig
swat 901/tcp #

In der Datei /etc/inetd.conf sollte für Swat folgende Zeile dokumentiert sein:

Swat steam tcp nowait.400 root /usr/sbin/swat swat

Nach der Änderung von "inetd" muss dafür gesorgt werden, dass die Datei neu eingelesen wird. Dies geschieht entweder mit einem reboot oder mit einem Signal an den Prozess selbst. Für das Neueinlesen der inetd.conf wird die Prozessnummer (PID) vom inetd-Prozess benötigt, die mit dem Befehl

ps ax | grep inetd

extrahiert und der Prozess mit

kill -1 631

terminiert wird, wobei 631 die PID des Beispieles ist.

Bei den neueren Distrubtionen ist der inet-daemon bei der Neuinstallation standardgemäß ausgeschaltet. Dieser Dienst muss für "Swat" eingeschaltet werden, da dies bei jedem Hersteller unterschiedlich ist wird hier auf das Anwenderhandbuch des Herstellers verwiesen.

7.2.4 Die "xinetd"

Neuere Versionen von Linux setzen standardgemäß auf den sicheren xinetd Domänen und nicht mehr auf seinen älteren Bruder "inetd". In der Datei "/etc/xinetd/swat" (o.ä.) muss für Swat folgende Zeile gelöscht werden, damit Swat auf allen Clienten verfügbar ist:

only_from 127.0.0.1

7.2.5 Automatisches Starten des Samba Daemons

Dieser Schritt kann bei den meisten Distributionen entfallen, da die Konfigurationstools dies selbstständig durchführen. Die für Samba notwendigen smbd- und nmbd-Prozesse werden in das Startskript einfügt und stehen bei jedem Neustart des Rechners zur Verfügung. Nach der Installation muss allerdings der daemon von Hand gestartet oder ein reboot durchgeführt werden

smbd -D
nmbd -D

Mit diesem Ausdruck werden die nötigen smb- und nmb-Prozesse als daemon gestartet. Bei anderen UNIX-Systemen sorgt ein Start-Script dafür, dass die smbd- und nmbd-Prozesse automatisch gestartet werden. Da dies bei den einzelnen Systemen unterschiedlich ist, wird hier nicht genauer darauf eingegangen.

7.3 Sicherheitseinstellungen
7.3.1 Firewall mit IPTABLES

Damit Samba über eine IPTABLES Firewall (FW) funktioniert, muss die Syntax nach Listing 7.1 in das Firewall Skript eingefügt werden. In diesem Beispiel läuft die FW über /etc/ppp/ip-up.local.


Listing 7.1: Zusatz für die Datei /etc/ppp/ip-up.local
######
#
# Variablen die uns der pppd mit übergibt
#
######
# Interface-Name (Device der aktuellen Verbindung, z.B. ppp0
DEV_INET=$1
#locale-IP-adresse (zugewiesene IP vom Provider)
IP_INET=$4
# remote IP-adresse (Gegenstelle des Providers)
IP_GATEWAY=$5
# Das Device auf der LAN Seite
DEV_LAN= eth0
IP_LAN=192.168.0.1/24

#Freischalten, was auf dem *Router* benötigt wird
# Verbindungen zum loopback-Device - Das ist NOTWENDIG

# Alle Verbindungem vom LAN zum Gateway und umgekehrt erlauben 
$IPTABLES -N lan_accept 
$IPTABLES -A INPUT       -i $DEV_LAN -j lan_accept 
$IPTABLES -A OUTPUT      -o $DEV_LAN -j lan_accept 
$IPTABLES -A lan_accept  -j ACCEPT 

# Swat erlauben vom Gateway
$IPTABLES -N swat_gate
$IPTABLES -A OUTPUT -p tcp -m state --state NEW  --dport 901 -j swat_gate
$IPTABLES -A INPUT  -p tcp -m state --state NEW -s $LOC_NET --dport 901 \
          -d $IP_LAN -j swat_gate
$IPTABLES -A swat_gate -j ACCEPT

7.3.2 Firewall mit Suse Firewall 2

Benutzer der Firewall2 von Suse-Linux müssen in /etc/sysconfig/SuSEFirewall2, den Eintrag

FW_SERVICE_SAMBA=

Auf "yes" setzen

7.4 Einrichten des Servers
7.4.1 Datenverwaltung

Die Files, die Sie Ihrem Windows-Client zu Verfügung stellen wollen, sollten vom System getrennt verwaltet werden. Das hat nichts mit Verschwendung von Speicherplatz zu tun, sondern vielmehr den Grund, dass Sie Ihre Daten bei Systeminstabilitäten in Sicherheit wiegen können. Die Festplatten sollten nicht fest in das System verankert werden. Dies führt bei einem Stromausfall leicht zu Komplikationen, wie z.B. einem fehlerhaften Systemneustart. Es empfiehlt sich ein Skript anzufertigen, in dem Sie die ganzen "mount"-Befehle aufführen (Listing 7.2). Nach einem Neustart oder reboot ist dieses Skript einmal auszuführen oder in der /etc/init.d/boot.local (o. ä.) einzutragen, damit dieses Skript selbstständig ausgeführt wird.

Das oben beschriebene Skript wird wie folgt mit dem Verzeichnis /server/mountings/ angelegt:

mkdir -p /server/mountings
touch /server/mountings/mountings

Die angelegte Datei die sich in /server/mountings/ befindet muss noch ausführbar gemacht werden:

chmod 744 /server/mountings/mountings

Listing 7.2: Die Datei /server/mountings/pa1
###############################################
#
# mountings für Server
#
###############################################

mount /dev/hdb1 /server/pa1 # für UDMA66 Festplatte an Primary Slave
mount /dev/hde1 /server/pa2 # Festplatte am Raid Primary Mast

Somit ist Ihre Festplatte, die am Ihrem "Primary Slave Port" angeschlossen ist, in das Verzeichnis /server/pa1 eingebunden.

7.4.2 Konfiguration von Samba via Swat
7.4.2.1 Der Proxy-User

Da der Proxy eine Portumsetzung vom Standard Port 80 auf 8080 oder 3128 vornimmt, kann der Proxy Swat über Port 901 nicht erreichen. Damit Sie dennoch auf Swat zugreifen können, müssen Sie eine kleine Einstellung am Browser vornehmen.

Beispiel Internet Explorer 7.x:
Der Dialog beim IE5: Extras >>Internetoptionen >> Verbindungen

Abbildung 7.1: Internetoptionen Abbildung 7.2: Einstellungen für LAN

Beispiel Netscape 7.2:
Der Dialog beim Netscape: Bearbeiten >> Einstellungen...

Abbildung 7.3: Einstellungen (Netscape)

Jetzt sollten Sie Swat über den Proxy erreichen können.


7.4.2.2 Aufruf von Swat

In der Adressleiste des Browsers "http://192.168.99.1:901" eingeben und die Verbindung wird aufgebaut. Sie müssen sich nun als "root" einloggen, um auf die Konfigurationsseite zu gelangen.

Abbildung 7.4: Aufruf von Swat Abbildung 7.5: Startseite von Swat
 
Tabelle 7.3: Fehlerdiagnostik
Fragen zur Fehlerbeseitigung
Sind die Änderungen in der Datei /etc/inetd.conf vorgenommen worden?
Ist der inet-Daemon neu eingelesen worden?
Läuft der inet-Daemon?
Sind die Änderungen in der Datei /etc/services vorgenommen worden?
 
Erklärung zu den einzelnen Funktionen, die Sie nun im Browser aufrufen können:
[Home] Führt zu Startseite zurück, hier stehen Dokumentationen zu den Einzelnen Befehlen, Sektionen usw.
[Global] Hier wird das Allgemeine festgelegt, alles was hier steht gilt auch für alles Folgende.
[Shares] Hier werden die Ordner für die Benutzer freigegeben
[Printers] Freigabe von Druckern
[Status] Umfangreiche Informationen über die Benutzer die derzeit auf Samba zugreifen.
[View] Listet die die Konfigurationsdatei smb.conf auf, alle Einstellungen können hier gesichtet werden
[Password] Einrichten des Benutzers.

 

 

 

 

 

 

 

7.4.3 Einrichten der global section

Wechseln Sie in das Verzeichnis [Globals]. Dies sollte ungefähr so aussehen.
Abbildung 7.6: Global Sektion

Änderungen erfolgen nach den Darstellungen in Tabelle 7.4.

 
Tabelle 7.4: Einstellungen Global-Sektion
Einstellung Variable
workgroup home
server string Linux-Server %v
interface eth0
security USER
encrypt passwords Yes
hosts allow 192.168.99.0/24
hosts deny pirate
os level 36
preferred master true
domain master true
local master true

WICHTIG: Bevor Sie nun in den "advanced mode" wechseln, alle Einstellungen mit "commit changes" bestätigen.

Im "advanced mode" müssen folgende sieben Einträge nach Tabelle 7.5 geändert werden
Tabelle 7.5: Global-Sektion (advanced mode)
Einstellung Variable
bind interfaces only yes
log level 1
log file /var/log/samba/%m.
keepalive 10
character set ISO8859-1
client code page 850
veto files /*.nws/riched20.dll/*.{*}/

Mit Commit Changes alles abspeichern!
Tabelle 7.6: Erklärung zu den gesetzten Optionen
Einstellung Erklärung
   
workgroup Hier geben Sie die Arbeitsgruppe oder NetBIOS Domäne in der Sie arbeiten an.
   
Server String Ist eine Server-Beschreibung (vgl. Tab. 4 "Linux-Server") mit der nachgelagerten Angabe der Version von Samba (vgl. Tab. 4 "%v").
   
interface Hiermit wird sichergestellt das Samba nur im internen Netzwerk ver-fügbar ist (vgl. Tab. 4 "eth0").
   
encrypt passwords Mitteilung der verschlüsselten Benutzerdaten ab Win98
   
hosts allow

Wie schon angedeutet sind nur die Clienten befugt auf den Server zu-zugreifen, die die "richtige" IP haben, hier 192.168.99.0 bis 192.168.99.24

   
host deny Alle anderen Rechner werde verweigert
   
os level Dieser Wert legt fest, wer in der Arbeitsgruppe der lokale "Master-Browser" ist. Mit dieser Einstellung ist der SMB-Server höherwertiger als jeder NT-Server.
   
bind interfaces only In der Zusammenarbeit mir "interface" wird sichergestellt, dass Samba lediglich seine Dienste über das angegebene Schnittstelle zur Ver-fügung stellt.
   
preferred master Ist eigentlich nichts anders als bei "os level". Es wird nur noch einmal unterstrichen, dass der SMB-Server der lokale Master-Browser ist. Mit dieser Einstellung ist vorsichtig umzugehen. Sollte ein weiterer Samba-Server in der Arbeitsgruppe integriert sein, ist dieser Eintrag auf "False" zu setzen. Damit wird verhindert, dass die beide Server ihre Rivalitäten über das Netz austragen.
   
local master Wird diese Option gesetzt, versucht Samba der lokale Masterbrowser im Subnetz zu werden.
   
log level Einstellung zum Umfang der mitgeschriebenen Protokolle. Je größer die Zahl desto mehr wird protokolliert.
   
log file Hier wird angegeben wo Samba die Logdateien ablegen soll. Achtung: Das Verzeichnis muss vorhanden sein!
   
keepalive Dieser ganzzahlige Wert legt fest, in welchen Abständen so genannte "keepalive"-Pakete zum Client geschickt werden sollen. Samba kann dadurch schnell feststellen ob der Computer noch im Netzwerk verfügbar ist und kann dazu beitragen Ressourcen beim Server freizugeben.
   
domain master Ist an den "preferred master" gekoppelt.
   
character set

Diese Einstellung ist wichtig, um die Umlaute richtig zu interpretieren. Ansonsten können Dateien entstehen, die nicht aufrufbar oder löschbar sind.

   
client code page Ist an "character set "gekoppelt.
   
veto files

Es dürfen keine Dateien abgespeichert werden die auf *.nws enden. Dll-Dateien dürfen nicht abgespeichert bzw. geöffnet werden. Es stellt einen kleinen Schutz vor dem "Nimbia" Wurm da!

   
security Dieser Parameter legt fest, wie Samba auf die Computer im Netzwerk reagieren soll. Hierzu werden vier Verschiedene Modelle angeboten die im weiteren erörtert werden

Option "share": Benutzer können sich mit dem Server verbinden ohne gültigen Benutzernamen und Passwort anzugeben. Die Erkennung wird erst benötigt wenn auf ein Verzeichnis zugegriffen werden soll. Die Benutzerauthentifizierung findet bei jedem Zugriff auf ein Verzeichnis statt.

Option "user": Bei dieser Einstellung muss sich der Benutzer erst auf dem Server anmelden und kann dann auf alle seine Freigaben zugreifen, ohne sich erneut anmelden zu müssen. Diese Einstellung sollte beibehalten werden.

Option "server": Samba versucht die Gültigkeit der Benutzerauthentifizierung über einen anderen Server zu erreichen. Wird der Server nicht gefunden schaltet das SMB-Protokoll selbstständig auf "security = user" um. Option "domain": Diese Option kann nur verwendet werden wenn Sie eine NeTBIOS Domain verwenden. Samba versucht wie bei der Option "server" die Benutzerauthentifizierung über einen fremden Primary oder Backup Domain Controller zu bestätigen.

7.5 Benutzer und Verzeichnisse
7.5.1 Einrichten der Benutzer und Gruppen

Damit die Übersicht bei vielen Benutzern gewahrt bleibt und möglichst wenig Administrationsaufwand bei neuen Benutzern anfällt, lohnt sich der kleine Aufwand der Anlegung von Benutzergruppen. Die Anmeldung der Benutzer als Linux-User vereinfacht die Administration der Verzeichnisse. Im Allgemeinen ist davon abzuraten, auf einem Linux-User mehrere Samba-User aufzulegen. Die Benutzergruppen und Benutzer können auch mit einem Konfigurationstool wie z.B. "yast" (SuSe Linux) oder "userconf" (Mandrake, RedHat) erstellt werden. Über die Konsole geht es allerdings schneller.

7.5.2 Anlegen der Benutzer und Gruppen über die Konsole

Für das Anlegen von Gruppen sind die folgende Ausdrücke einzugeben

groupadd admin

groupadd domain

Die Benutzer werden wie folgt angelegt:

useradd -m -G domain -g admin Lisa
smbpasswd -a Lisa
(Paßwort eingeben)

Die Benutzerin Lisa wurde erstellt und der Gruppe "admin" und "domain" hinzugefügt. Lisa verfügt über ein Linux-Homeverzeichnis im Pfad "/home/Lisa". Das Passwort für den Samba- und Linuxaccount sind identisch.

7.5.3 Anlegen der Benutzer und Gruppen über eine Konfigurationstool und Swat

Das Anlegen der Benutzergruppen und Benutzer über ein Konfigurationstool soll hier nicht näher beschrieben werden und kann im Anwenderhandbuch des Softwareherstellers nachvollzogen werden. In Samba wird nun der Wechsel zum "Password" vollzogen. In Abbildung 7.7 wird die Eingabe Maske gezeigt.

Abbildung 7.7: Benutzer anlegen

Geben Sie die Benutzerdaten ein und klicken Sie auf "Add New User".

Der User ist nun dem Samba-Server bekannt. Damit lässt sich sicherstellen, dass nur registrierte User auf die freigegebenen Daten zugreifen können. Will man dies allerdings nicht tun und vertraut den Usern im Netz, so müssen die Variablen in der "global section" neu bestimmt werden.

7.5.4 Anlegen eines Verzeichnisses

Rufen Sie das Verzeichnis [Shares] auf. Folgendes Bild erscheint:

Abbildung 7.8: Verzeichnis

Geben Sie den Benutzer an, für den Sie ein Verzeichnis anlegen wollen und bestätige Sie mit [Create Share].
Nun sollte sich ein Fenster öffnen, was ähnlich das der Global-Sektion aussieht. Hier können dann die Variablen für den Benutzer definiert werden.

7.5.5 Konfiguration eines Verzeichnis

Einzelne Freigabe für User Bard mit Schreibberechtigung. Sein Verzeichnis ist für jeden sichtbar.

[Bard] comment darf lesen und schreiben
pathe /server/pa1/Bard
read only No
browseable Yes
 
Mit [Commit Changes] bestätigen und in den "advanced modus" wechseln. Hier ändern Sie folgendes.
 
Username Bard
admin users Bard
only user Yes

Alle Benutzer haben eine Leseberechtigung. Das Verzeichnis ist für keinen sichtbar. Es wird jeder Benutzer berechtigt, auf die Daten zuzugreifen.
[Alle1] comment Dürfen alle Lesen
path /server/pa1/alle
read only Yes
browseable No
 
Die Benutzer der Gruppe "domain" besitzen vollen Zugriff auf das freigegebene Verzeichnis "domain". Alle anderen User haben keinen Zugriff.
[domain] comment Gruppe "domain" hat all Rechte
path /server/Fest1/domain
users @domain
read only No
only user Yes

Mit "commit changes" bestätigen und in den advanced modus wechseln.
admin users @domain

Hiermit sind die "normalen" Freigaben für den oder die einzelnen Benutzer abgearbeitet. Es kommt aber häufig vor ein Verzeichnis freizugeben, das von einer Gruppe nur gelesen werden kann und von einer anderen auch die Schreibberechtigung verlangt. Um das gewünschte Ziel zu erreichen müssen andere Variablen gesetzt werden.

Die Gruppe "domain" hat eine Leseberechtigung, die Mitglieder der Gruppe "Verwaltung" haben auch die Berechtigung zu schreiben

[r/w] comment Verwaltung
path /server/pa1/verwaltung
users @domain, @verwaltung
read only Yes
only user Yes

Mit "commit changes" bestätigen und in den advanced modus wechseln.

read list @domain
write list @verwaltung

7.5.6 Zugriff auf ein CD-Rom

Die Besonderheit, Daten von einer CD-Rom dem Netzwerk zu Verfügung zu stellen, liegt in der Ausführung von zwei Skripten, die das CD-Rom "mounten" bzw. "umounten". Unter "mounten" wird das einhängen des CD-Roms in das System verstanden. Bei "umounten" wird dementsprechend das "device" aus dem System ausgehängt. Dies scheint für Linuxanfänger verwirrend zu sein, hat aber den Vorteil, dass Systemressourcen eingespart werden können. Des weiteren werden Systemausfälle reduziert, da Fehlerursachen vorgebeugt werden.
Das Anlegen der Skripte erfolgt durch folgende Eingaben auf der Kommandooberfläche:

touch /server/mountings/mount.cdrom
touch /server/mountings/umount.cdrom
Danach müssen die angelegten Dateien mit folgenden Befehlen ausführbar gemacht werden:
chmod 744 /server/mountings/mount.cdrom
chmod 744 /server/mountings/umount.cdrom

Der Inhalt des Skriptes (Listing 7.3) wird das Cd-Rom mounten. Später wird Samba dieses Skript beim zugreifen auf das Cd-Rom einmal ausführen, um an die freigegebenen Daten zu gelangen. Da das CD-Rom bei jeder Distribution anders definiert ist, muss hier eventuell der mount- Befehl geändert werden. Schauen Sie hierzu in der Literatur des vom Hersteller mitgeführten Buches.

Listing 7.3: Die Datei /server/mountings/mount.cdrom
# mountings für das CD-Rom am Secondary Master
mount /cd-rom  /server/cd-rom


Nachdem das Lesen auf dem freigegebenen Ordners beendet ist, sollte das Cd-Rom wieder vom System getrennt werden. Dies geschieht von Samba über "postexec" welches wieder auf ein Skript zurückführt (vgl. Listing 7.4). Auch hier müssen gegebenenfalls aus den genannten Gründen Änderungen erfolgen.

Listing 7.4: Die Datei /server/mountings/umount.cdrom
# umountings für das CD-Rom am Secondary Master
umount /cd-rom

Damit wären alle Vorbereitungen für das zugreifen auf das Cd-Rom getroffen. Des weiteren folgt die Konfigurationstabelle des Shares "CD".
[CD] comment CD-Rom
path /server/cd-rom
read only Yes
volume geografische Bilder
browseable Yes

Mit "commit changes" bestätigen und in den advanced modus wechseln.
exec /server/mountings/mount.cd-rom
  postexec /server/mountings/umount.cd-rom
  max connections 1

Die "max connections" sollten Sie auf 1 belassen, da sonst Komplikationen zu erwarten sind.

Tabelle 7.7: Erklärung zu den gesetzten Optionen
Einstellungen Erklärung zu den Variablen
   
comment Ist eine Beschreibung des Ordners
   
path Hier wird das Verzeichnis festgelegt, in dem die Daten des Users liegen. Das Verzeichnis muss Linux schon bekannt sein. Auf Groß- und Kleinschreibung achten!!
   
browseable Legt fest ob der Ordner in der Netzwerkumgebung von Windows sichtbar sein soll.
   
Username

Hier wird in Kombination "only user" gewährleistet, dass lediglich die Benutzer oder Benutzergruppen auf das freigegebene Verzeichnis zugreifen dürfen.

   
admin users Der User hat in seinem Stammverzeichnis Lese- und Schreibrechte auf alle in diesem Ordner vorhandenen Dateien und Ordnern. Diese Option sollte gesetzt werden wenn ein reibungsloser Ablauf zwischen Samba und Windows gegeben werden soll. Hier können nicht nur ein-zelne User angegeben werden sondern ganze Benutzergruppen.
   
max connections Legt die Anzahl der Verbindungen, die vom Benutzer zum Server aufgebaut werden können, fest. Bei größeren Netzwerken kann eine Vielzahl von unnötigen Zugriffen eine Performancebelastung darstellen.
   
only user Legt die Berechtigung auf den einzelnen User oder einer Benutzer-gruppe fest
   
Volume Meistens sind auf CDs so genannte "label" bzw. "volume name" geschrieben. Damit erkennt der Benutzer, welche CD eingelegt ist. Diese "label" gehen beim mounten allerdings verloren. Damit der Name der CD auf dem Client gesehen werden kann, kann hier der Namen eintragen werden.
   
exec Dieser Parameter führt beim Öffnen eines Shares ein Befehl aus, der Samba übergreifend ist.
   
postexec Dieser Parameter führt beim Schließen eines Shares ein Befehl aus, der Samba übergreifend ist.
   
read list Dieser Parameter, wird meistens bei unterschiedlichen Freigaben verwendet. Benutzer erhalten das Leserecht des Verzeichnisses, nicht aber das Schreibrecht.
   
write list Ist die Variabel "read only" auf yes gestellt, können hier die Benutzer angegeben werden die trotzdem über eine Schreibberechtigung verfügen sollen.

7.6 Freigabe von Verzeichnissen
7.6.1 Die Einstellungen dem Netzwerk mitteilen

Die Einstellungen sind Samba schon bekannt, werden allerdings noch nicht ausgeführt. Damit die Optionen angewandt werden, muss die Konfigurationsdatei "smb.conf" neu eingelesen werden. Dies geschieht entweder über die Konsole mit

smbd -D
nmbd -D

oder via Swat im Teilabschnitt [Status]

Abbildung 7.9: Samba neu starten

Bestätigen Sie hier mit "Restart smbd" und übernehmen Sie alle bis dahin erstellten Variablen. Die freigegebenen Ressourcen sollten nun in der Netzwerkumgebung von Windows erreichbar sein.

7.6.2 Anmelden am Samba-Server

Die Konfigurationen auf Seiten des Samba-Servers sind nun abgeschlossen. Jetzt müssen noch die Einstellungen auf dem Client erfolgen. Sind die Benutzerdaten auf Seiten des Clients identisch mit denen des Servers, so meldet sich der Benutzer gleichzeitig auf Windows und dem Samba-Server an. Windows verfolgt hier das Anmeldesystem wie bei einem NT-Server. Dies erspart dem User eine zusätzliche Anmeldeprozedur auf Seiten des Servers. Bei nicht identischen Benutzerdaten muss die Anmeldung auf dem Server separat erfolgen. Allerdings besteht die Möglichkeit, die Benutzerdaten zuspeichern und damit einen direkten Zugang zu den Benutzerdaten auf Seiten des Servers zu erwirken. Von der Speicherung der Benutzerdaten wird aber abgeraten, da ansonsten die Vergabe der Rechte auf Samba keinen Sinn ergibt. Sie geben im Notfall Ihren Wohnungsschlüssel nur einer vertrauenswürdigen Person und nicht gleich alle Schlüssel für die im Haus wohnenden. Entscheiden Sie sich aber dennoch für die Speicherung der Benutzerdaten, ist zu beachten, dass Windows lediglich ein Netzwerkbenutzer pro Login verwalten kann.

Beispiel: Sie haben sich auf Windows als Bard angemeldet und greifen mit dem Benutzerprofil von Lisa auf die Netzwerkressourcen zu. Dies ist ohne weiteres möglich, da Windows ein "fremdes" Benutzerprofil verwalten kann. Wollen sie nun aber auf die Ressourcen eines anderen Netzwerkbenutzers zugreifen, wird dies von Windows mit folgender Meldung abgelehnt:

Abbildung 7.10: Fehlermeldung von Windows

7.6.3 Netzwerkordner fest im System verankern

Damit Sie auf Ressourcen zugreifen können, die nicht im Netzwerk sichtbar sind (browseable = no), sollten Sie das Ziellaufwerk in Windows fest einbinden. Hiermit wird ein schnelleres Arbeiten ermöglicht.

Hierzu öffnen sie den Windows Explorer und gehen zu "Netzlaufwerk verbinden...".
 
Abbildung 7.11: Netzlaufwerk verbinden

Wie in der Abbildung 7.12 gezeigt, muss hier der Pfad zum freigebenden Laufwerk, per Hand angegeben werden.

Abbildung 7.12: Netzlaufwerk bestimmen

Der freigegebene Ordner "Bard" auf Server wird hier fest in das System eingebunden. Dieser Ordner, den Windows jetzt auch unter dem Pfad "Z:" bekannt ist, hat nun die Eigenschaften einer lokal installierten Festplatte. Sind die Windows-Benutzerdaten identisch denen von Samba, öffnet sich ein Fenster in dem Sie die vorhandenen Daten im freigegebenen Ordner sichten können. Bei einem neuen Login steht diese Ressource bis zur Trennung des Netzlaufwerkes weiterhin unter dem Pfad "Z:" zu Verfügung. Sind die Benutzerkennungen nicht identisch öffnet sich folgende Eingabemaske (Abbildung 7.13).

Abbildung 7.13: Login

Hier geben Sie die Samba spezifischen Benutzerdaten an und bestätigen mit "OK". Das Laufwerk (engl. device) ist nun bis zum nächsten Login in das System eingebunden.

7.6.4 Swat ausschalten

Da Swat nach der Konfiguration der smb.conf nicht mehr gebraucht wird, ist es ratsam den Dienst zu deaktivieren. Damit wird nicht nur eine Sicherheitslücke geschlossen, sondern auch die Performance des ganzen Systems verbessert (Grundsatz: Je weniger Dienste, desto Sicherer das System).

In der Datei /etc/inetd.conf sollte für Swat folgende Zeile auskommentiert sein.

#Swat steam tcp nowait.400 root /usr/sbin/swat swat

In der Datei /etc/ppp/ip-up.local sollte für Swat alle folgende Zeilen geändert werden.

$IPTABLES -A swat_gate -j REJECT

Zusammenfassung

Ihnen wurde gezeigt, dass ein SMB-Server in vielerlei Hinsicht, ebenwürdig gegenüber NT-Servern sind. Es muss allerdings noch viel getan werden um einen ebenwürdigen Komfort in der Konfiguration gegenüber Windows zu erreichen. Die Dokumentation zeigt einen kleinen Ausschnitt der Welt von Samba, der sich nur vergrößern lässt, wenn Sie ständig damit arbeiten und immer vor neuen Herausforderungen stehen.

Literatur

Wehrle, Pählke, Ritter, Müller Bechler, 2002, D Addison-Wesley Verlag - Linux Netzwerkarchitektur
Helmut Holz, Bernd Schmitt, Andreas Tikart, 2001, D Verlag moderne industrie Buch AG & Co.KG - Linux-Server
Wolfgang Barth, 2001, Suse-Press - Das Firewall Buch
Roderick W. Smith, 2001, D SYBEX-Verlag - Linux Samba Server Administration


Über eventuelle Schäden übernimmt der Autor keine Haftung.


Copyright © 2005 by Helge Klug. The content is licensed under the terms of the Open Public Licence. See footer for details.


Zurück Inhalt Vorwärts