|
|||||||
|
|||||||
|
|
| Zurück | Inhalt | Vorwärts |
| Dieses Kapitel wurde freundlicherweise zur Verfügung gestellt von: Helge Klug |
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.
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.
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.
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
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.
| 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 | ||
| 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.
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
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.
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
|
Benutzer der Firewall2 von Suse-Linux müssen in /etc/sysconfig/SuSEFirewall2, den Eintrag
FW_SERVICE_SAMBA=
Auf "yes" setzen
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.
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.
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. |
Wechseln Sie in das Verzeichnis [Globals]. Dies sollte ungefähr so aussehen.
![]() |
| Abbildung 7.6: Global Sektion |
| 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 |
| 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/*.{*}/ |
| 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. |
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.
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.
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.
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.
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 |
| Username | Bard | |
| admin users | Bard | |
| only user | Yes |
| [Alle1] | comment | Dürfen alle Lesen |
| path | /server/pa1/alle | |
| read only | Yes | |
| browseable | No |
| [domain] | comment | Gruppe "domain" hat all Rechte |
| path | /server/Fest1/domain | |
| users | @domain | |
| read only | No | |
| only user | Yes |
| admin users | @domain |
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 |
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
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 |
| [CD] | comment | CD-Rom |
| path | /server/cd-rom | |
| read only | Yes | |
| volume | geografische Bilder | |
| browseable | Yes |
| 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. |
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.
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 |
![]() |
| 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
|
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
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.
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.
| Zurück | Inhalt | Vorwärts |
|
||||
|
|