Linux als SOHO-Server

für Linux- und Windows-Clients
http://linux.eusterholz.dyndns.org

Kapitel:

Home
Debian Installation
Debian Etc.
Internet-Zugang
Telnet
FTP
r-Utilities
SSH
Printing
NTP
Nameserver
NFS/NIS/Automount
Samba (SMB-Server)
Apache (WEB-Server)
Modem / ISDN
Backup
Etc.


Installation

[ Installation ] Vorbemerkungen ] 'Stand-alone'-Server ] Domänencontroller ] Netz-Drucker ] Windows-Zugriff ] Linux-Zugriff ] SWAT ] Sonstiges ]


Auf dieser Seite wird zunächst die generelle Geradeaus-Installation von Samba unter Debian beschrieben. In der Distribution Debian 3.1 (Sarge) kommt dabei Samba 3 zum Einsatz. Alle auf den folgenden Seiten vorgestellten Konfigurationen, sollten jedoch auch mit älteren Versionen und auch Versionen von anderen Linux-Distributionen in ähnlicher Weise funktionieren.

Die Default-Konfigurationsdateien von Samba, die sich nach der Installation unter '/etc/samba/smb.conf' befindet, wird dabei zunächst unverändert genutzt. Nach der Installation werden kurz die notwendigen Vorbereitungen kurz angerissen, um einen ersten Zugriff mittels eines Windows-Client auf dem Samba-Server zu gestatten. Eine Beschreibung der Konfiguration, sowie erweiterte und spezielle Betriebsarten des Samba-Servers wird in folgenden Unterkapiteln vorgestellt.

Installation/Inbetriebnahme des Samba-Servers

Unter Debian lässt sich ein Samba am einfachsten realisieren mittels 'apt-get install samba' installieren, zusätzlich benötigte Pakete oder Abhängigkeiten sollten automatisch aufgelöst werden. Während der Installation ist eine menügesteuerte Konfiguration zu durchlaufen, bei der folgende Entscheidungen zu treffen sind:

  • Workgroup/Domain Name? <Arbeitsgruppe>
    Hier wird der Name der Arbeitsgruppe bzw. Domain festgelegt.
  • Use password encryption? <Ja>
    Festlegung ob eine Passwort-Verschlüsselung benutzt werden soll, bei Verwendung neuerer Windows-Clients (z.B. bei 'Windows XP') ist eine Verschlüsselung zu zu benutzen.
  • Modify smb.conf to use WINS settings from DHCP? <Nein>
    Falls WINS-Informationen vom DHCP-Server bezogen werden, ist hier mit 'Ja' zu antworten. Ansonsten sollte der Default-Wert 'Nein' gewählt werden.
  • How do you want to run Samba? <daemons> <Ok>
    Der Samba-Server kann als ständig laufender Dämon oder bei Bedarf vom Super-Dämon 'inetd' gestartet werden. Ein ständig laufender Damon ist aus Performance-Gründen zu empfehlen.
  • Create samba password database, /var/lib/samba/passdb.tdb <Nein>
    Es soll zunächst keine Samba-Datenbank kreiert werden.

Nach der Installation sollte sich die Konfigurationsdatei 'smb.conf' im Verzeichnis '/etc/samba' befinden. Hier die gekürzte Default-Konfigurationsdatei (alle Kommentare wurden entfernt; Kommentare können mit '#' oder ';' beginnen), bezogen auf die obigen Angaben:

Default-Konfigurationsdatei nach Installation : /etc/samba/smb.conf (Kommentare wurden entfernt!)

[global]
   workgroup = ARBEITSGRUPPE
   server string = %h server (Samba %v)
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   encrypt passwords = true
   passdb backend = tdbsam guest
   obey pam restrictions = yes
   invalid users = root
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
   socket options = TCP_NODELAY

[homes]
   comment = Home Directories
   browseable = no
   writable = no
   create mask = 0700
   directory mask = 0700

[printers]
   comment = All Printers
   browseable = no
   path = /tmp
   printable = yes
   public = no
   writable = no
   create mode = 0700

[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no

Auf eine Erläuterung bez. des Aufbaus der Konfigurationsdatei wird an dieser Stelle verzichtet, da dieses zum Teil auf den folgenden Seiten geschieht.

Weiterhin ist es sinnvoll die Samba-Dokumentation und den Samba-Client für Linux auf dem Server zu installieren. Dies kann mit 'apt-get install samba-doc smbclient' erfolgen.

Nach der Installation, oder auch nach gemachten Änderungen in der Konfiguration, ist der Samba-Server neu zu starten. Das Starten bzw. Stoppen kann mit auf der Kommandozeile mit:

/etc/init.d/samba start bzw. /etc/init.d/samba stop

erfolgen. Ein Restart ist mit:

/etc/init.d/samba restart

durchzuführen. Das korrekte Starten sollte in den log-Dateien 'log.nmbd' und 'log.smbd' unter '/var/log/samba' beobachtet werden. Beim Starten/Stoppen werden die Dienste 'nmbd' und 'smbd' gestartet/gestoppt. Der Der 'smbd'-Dienst ist der zentrale Server-Prozess, der für die eigentlichen Datei- und Druckdienste zuständig ist. Der 'nmbd'-Dienst ist für die Namensauflösung zwischen den Rechnern zuständig. Beide Dienste müssen immer parallel zueinander laufen.

Damit nun Benutzer auf dem Samba-Server zugreifen können müssen diese zunächst berechtigt werden. Ein Samba-Benutzer kann mit dem Kommando 'smbpasswd' dem System hinzugefügt werden. Dabei sollte der neue Samba-Benutzer schon als Linux-Benutzer auf dem System bekannt sein. Ein Hinzufügen könnte wie folgt, für den Benutzer 'localuser', aussehen:

debian:/# smbpasswd -a localuser
New SMB password:********
Retype new SMB password:********
debian:/# smbpasswd -e localuser
Enabled user localuser.
debian:/#

Zunächst wird der User 'localhost' mit dem Schalter '-a' (a = add) hinzugeführt, danach ist das Passwort einzugeben und zu wiederholen. Anschließend wird der Benutzer mit dem Schalter '-e' aktiviert (e = enable). Der Username und das Passwort sollte identisch sein mit dem des zugreifenden Windows-Client. Auch sollte sich der Windows-Client in der gleichen Arbeitsgruppe befinden.

Kontakt mit einen Windows-Client

Bevor nun ein erster Kontakt, mit einen Windows-Rechner zum gerade installierten und vorbereiteten Samba-Server versucht wird, sollte der Samba-Dienst wie oben beschrieben neu gestartet werden. Für einen ersten Zugriff kann aus der DOS-Box von Windows der Befehl 'net view' eingegeben werden.  Ohne Optionen wird eine Liste der Computer in der aktuellen Netzwerk oder in der aktuellen Domäne angezeigt. Beim Aufruf von 'net view \\<RECHNER>' sollten alle freigegebenen Ressourcen angezeigt werden:

In diesem Fall ist das 'home'-Verzeichnis des Benutzers: 'localuser' und ein Drucker 'lp' zu erkennen.

Noch mehr Übersicht bietet der Explorer unter Windows (jedoch siehe Anmerkung unten). Im Explorer unter 'Netzwerkumgebung => Gesamtes Netzwerk => Microsoft Windows-Netzwerk' sind nun die einzelnen Arbeitsgruppen zu sehen. In diesem Fall sind ist das die Arbeitsgruppe 'Arbeitsgruppe'. In den einzelnen Arbeitsgruppen sind die zugeordneten Rechner mit ihren freigegebenen Ressourcen zu erkennen. Wie schon bei der Ausgabe mittels 'net view <RECHNER>' ist auch hier das 'home'-Verzeichnis des Benutzers und der Drucker zu sehen.

Nach den ersten erfolgreichen Kontakt eines Windows-Clients, kann davon ausgegangen werden, dass der Samba-Server prinzipiell arbeitet.

Anmerkung

Damit Clients auf einen Samba-Server zugreifen zu können, ist eine Authentifizierung über ein Passwort notwendig. Bei neueren Windows-Systemen (z.B. 'Windows NT4' mit SP3, 'Windows 2000' und 'Windows XP') ist standardmäßig eine Passwort-Verschlüsselung aktiviert. Passwort-Verschlüsselung bedeutet, das Benutzer-Passwort wird in verschlüsselter Form zum Samba-Server übertragen, somit ist ein ausspähen des Passworts nicht möglich. Bei älteren Windows-Systemen (z.B. 'Windows 95'), wird das Passwort in Klarschrift zum Server hin übertragen.
Um nun eine Authentifizierung sicherzustellen, muss konsequent beim Client und Server die Verschlüsselung aktiviert oder deaktiviert sein, ein gemischter Betrieb ist nicht möglich. Aus sicherheitstechnischen Gründen ist das Arbeiten mit verschlüsselter Passwortübertragung den Vorzug zu geben.

Weiterhin sollte auf dem Samba-Rechner die Datei '/etc/samba/lmhosts' erstellt bzw. angepasst werden. Diese Datei dient der Namensauflösung für Windows-Netzwerke. Samba erfährt dadurch, welcher Computer welche IP-Adresse hat. Diese Information ist wichtig für das Funktionieren eines TCP/IP-Netzwerkes. In der 'lmhosts' sollten alle IP-Adressen aller Clients und Server eingetragen werden, der Aufbau ist quasi identisch wie die bei der gleichnamigen Datei unter Windows:

Auszug aus: /etc/samba/lmhosts

# This file provides the same function that the lmhosts file does for
# Windows. It's another way to map netbios names to ip addresses.
#
# Cf. section 'name resolve order' in the manual page of smb.conf for
# more information.

127.0.0.1        localhost
192.168.10.10    meridian
192.168.10.100   experimental
192.168.10.110   debian
192.168.10.128   ovation
...

An der ersten Position jeder Zeile ist die IP-Adresse, gefolgt vom NetBIOS-Namen anzugeben. Das Default-Verzeichnis für 'lmhosts' ist das gleiche Verzeichnis in der sich auch die 'smb.conf' befindet.

Die 'Netzwerkumgebung' von Windows-Explorer eignet sich nur beschränkt zum Testen. Es kann bis zu mehreren Minuten (bis zu knapp einer Stunde !) dauern, bis ein System erscheint. Schneller geht es mit dem 'net'-Kommando in der Eingabeauforderung.

Bei Änderungen an der Konfigurationsdatei 'smb.conf' sollte die formale Richtigkeit mit dem Aufruf des Kommando-Tools 'testparm' überprüfen werden. Das Tool gibt jedoch keine Auskunft über die Funktionsfähigkeit des Gesamtkonzepts.

Mit 'smbstatus' kann erkannt werden, welche Rechner mit dem Samba-Server verbunden sind und welche Dateien wie geöffnet sind. In der Regel wird 'smbstatus' ohne Parameter aufgerufen.

Weitere Infos

Homepage: Samba http://www.samba.org
Using Samba, 2nd Edition http://de.samba.org/samba/docs/using_samba/toc.html
The Official Samba-3 HOWTO and Reference Guide http://de.samba.org/samba/docs/man/Samba3-HOWTO/
Samba-3 by Example http://de.samba.org/samba/docs/man/Samba3-ByExample/
Samba-HOWTO-Sammlung http://gertranssmb3.berlios.de/output/
Manualseiten zu: samba; smbpasswd man samba; man smbpasswd
Manualseiten zu: smbclient man smbclient
System-Dokumentation:  samba; samba-common /usr/share/doc/samba; /usr/share/doc/samba-common

Home ] Nach oben ] [ Installation ] Vorbemerkungen ] 'Stand-alone'-Server ] Domänencontroller ] Netz-Drucker ] Windows-Zugriff ] Linux-Zugriff ] SWAT ] Sonstiges ]

letzte Änderung: 06. März 2006

 

Copyright © 2004 Norbert Eusterholz