Linux NetMag #3
Titel: Windows Vorf├╝hren: Samba
URL: http://www.linuxnetmag.de/de/issue3/m3samba1.html

Samba Logo
Mit Samba ist es möglich zwischen Windows und Linux im LAN Dateien zu teilen. Unter Windows wird dann in der "Netzwerkumgebung" der Linux-Rechner genauso erscheinen, wie andere Windows-Maschinen im Netz. Andersherum ist es auch möglich von Linux aus die Festplatten eines Windows-Rechners zu mounten, wenn diese denn freigegeben sind, und mit diesen genauso zu arbeiten wie mit den eigenen Dateien. Die Konfiguration von Samba hat sich zwar schon vereinfacht, ist aber für Linux-Neulinge immer noch recht kompliziert. Wir versuchen nun eine Schritt-für-Schritt Anleitung zu liefern, mit der die Konfiguration eines eigenen Samba-Servers klappen sollte.

Zumeist ist bei einer Linux-Distribution eine Version von Samba schon dabei, wer jedoch noch eine 1.x.x-Version besitzt, sollte diese ersteinmal deinstallieren und sich dann eine neurere 2.0.x-Version aus dem Netz hohlen. Man erhält Samba von der Homepage http://de.samba.org (deutscher Mirror). Wer durch seine Distribution schon eine 2.0-Version  installiert hat, braucht erst wieder bei der Konfiguration mitmachen.

Nachdem wir die Datei heruntergeladen haben, entpacken wir sie nach /tmp

>> tar zxvf samba-xxxxxx.tgz -C /tmp

Im Verzeichnis /tmp/samba-xxx/src führen wir dann das configure-Skript aus

>> cd /tmp/samba-xxxxx/src/

Besitzen Sie einen Kernel mit einer Versionsnummer größer als 2.1.70 dann benutzen Sie

>> ./configure --enable-smbmount

ansonsten starten sie das Script nur mit

>> ./configure

Nachdem das Skript alle Optionen an das eigenen System angepaßt hat, kompilieren wir Samba mit einem

>> make

Das Kompilieren kann je nach Rechner mehrere Minuten dauern. Wenn alles ohne abschließende Fehlermeldung kompiliert wurde, können wir samba in ein Verzeichnis in /usr/local/ kopieren, wo standardmäßig alle selbst hinzugefügten Programme plaziert werden (nur besonders große Pakete wie Gnome, StarOffice oder KDE kommen nach /opt ).

Alle Programme in /usr/local sollten nur vom root beschreibbar sein. Deshalb kopieren wir das Programmpaket auch als root:

>> su

Nach Eingabe des Passwortes kopieren wir mit

>> cp -a /tmp/samba-xxxx /usr/local

Auch alle weiteren Schritte müssen wir als root ausführen, denn als nächsten kopieren wir die kompilierten Dateien an die richtigen Stellen:

>> cd /usr/local/samba-xxxx/source
>> make install

Dabei legt Samba das Verzeichnis /usr/local/samba an, in dem die Binärdateien, die Konfigurationsdatei und unter anderem auch die Log-Dateien abgelegt werden.

Konfiguration
Ab jetzt wird es auch wieder interessant für all diejenigen, die schon eine Samba-Version mit ihrer Distribution gelifert bekommen haben. Denn nun geht es an die Konfiguration der Services.

Eine Konfigurationsdatei namens "smb.conf" muß im Verzeichnis /usr/local/samba/lib/ angelegt werden.

>> touch /usr/local/samba/lib/smb.conf

Wir beginnen zum Testen mit einer Minimalkonfiguration
 

  Datei /usr/local/samba/lib/smb.conf 
[global]
   workgroup = arbeitsgruppe

[alles]
path = /
read only = yes
;
; Semikolon leitet ein Kommentar ein
; Ende

Hinter "workgroup=" muß der selbe Name stehen, der auch unter Windows bei den Netzwerkeigenschaften unter Arbeitsgruppe zu finden ist.

Windows-Einstellungen

Nach dem Editieren der Konfigurationsdatei starten wir Samba durch die Befehle

>> /usr/local/samba/bin/nmbd -D
>> /usr/local/samba/bin/smbd -D

Nun können wir uns unter Windows einloggen, müssen hier aber einen Benutzernamen wählen,der auch unter Linux existiert.
Durch einen Doppelklick auf Netzwerkumgebung Netzwerkumgebung sollte ein Fenster geöffnet werden, in dem nun auch der Linux-Rechner anwählbar ist. Wählt man jetzt den neu hinzugekommenden Linux-Rechner aus, erscheint ein Fenster mit einer Passwort-Abfrage. Hier muß das Passwort eingegeben werden, mit dem Sie sich auch unter Linux einloggen. Deshalb müssen auf beiden Systemen, Windows und Linux, auch die Benutzernamen übereinstimmen.

Mit der jetzigen Konfiguration, können sie schon auf  alle Dateien ihres Linux-Rechners zugreifen. Wir wollen aber die Einstellungen noch etwas verfeinern. Wir ändern die Konfigurationsdatei /usr/local/samba/lib/smb.conf . Die folgende Konfiguration sollte auf den meisten PCs funktionieren. Wir werden nicht im einzelnen auf die Einstellungen eingehen. Bei näherem Interesse sollte man sich die Anleitungen unter http://de.samba.org ansehen.
 

  Datei /usr/local/samba/lib/smb.conf 
[global]
   workgroup = arbeitsgruppe
   guest account = nobody
   keep alive = 30
   os level = 2
   security = user
   printing = bsd
   printcap name = /etc/printcap
   load printers = yes

; If you want Samba to act as a wins server, please set
; 'wins support = yes'
   wins support = no

; If you want Samba to use an existing wins server,
; please uncomment the following line and replace
; the dummy with the wins server's ip number.
;   wins server = 192.168.1.1

[local]
   path = /usr/local
   read only = yes
; Hiermit können Sie alle Programm unter usr/local
;  nun auch unter Windows finden

[homes]
   comment = Heimatverzeichnis
   browseable = no
   read only = no
   create mode = 0750

; The following share gives all users access to the Server's CD drive,
; assuming it is mounted under /cd. To enable this share, please remove
; the semicolons before the lines

[cdrom]
   comment = Linux CD-ROM
   path = /cdrom
;  Hier kommt der Pfad zu Ihrem CD-Rom Laufwerk hin
;  meistens /cdrom oder /mnt/cdrom
   read only = yes
   locking = no

[printers]
   comment = All Printers
   browseable = no
   printable = yes
   public = no
   read only = yes
   create mode = 0700
   directory = /tmp
; Auch Drucker können nun von Windows aus genutzt werden

Wir beenden die vorhin gestarteten nmbd und smbd ersteinmal. Also PID-Nummer ausfindig machen mit

>>ps x

Ausgabe:
[...]
 7199  ?  S    0:00 /usr/local/samba/bin/nmbd -D
 7201  ?  S    0:00 /usr/local/samba/bin/smbd -D
[...]

und dann zweimal mit

>> kill NUMMER

wobei hier die PID-Nummer eingesetzt wird, die als erstes in der jeweiligen Zeile angezeigt wird. Wir starten die Dienste erneut, jetzt aber mit der neuen Konfigurationsdatei:

>> /usr/local/samba/bin/nmbd -D
>> /usr/local/samba/bin/smbd -D

und suchen unter Windows Netzwerkumgebung den Linux-Rechner. Eigentlich sollte er hier erscheinen, falls nicht, hilft häufig ein Blick in die Log-Dateien /usr/local/samba/var/log.smb und /usr/local/samba/var/log.nmb .

In der nächsten Ausgabe erklären wir dann, wie man von Linux aus auf Windows-Festplatten zugreift, und was sich hinter SWAT verbirgt.