SAMBA 2.x/3.x für die Windowsrechner (Win9x/Me/2000/XP)

Zur Installation sind zwei Pakete nötig. Erstens samba und zweitens samba-doc. Mit apt kann beides gleichzeitig erledigt werden.
apt-get install samba samba-doc
Nach dem Installieren des Paketes, wird höflich gefragt, wie denn die Arbeitsgruppe (Windows) heißt. Anschließend sollte die Frage nach der Passwortverschlüsselung bejaht werden. Die Frage nach einem NetBIOS-Nameservers muß verneint werden, da sich in meinem Netzwerk kein Windows-Server befindet. SAMBA sollte im übrigen nicht als inetd-Service laufen. Die Entscheidung wie SAMBA gestartet werden soll, h$auml;ngt davon ab, welche Sicherheitstufe man vorzieht. Inetd gilt als alt und unsicher. Die Verlinkung der Startscripte (und Ausführung als daemon) erscheint als bessere Variante.
Das Verwenden von verschlüsselten Passwörtern in SAMBA setzt voraus, daß SAMBA eine separate Passwortdatei anlegen darf, welche sp$auml;ter vom Administrator mit Hilfe von smbpasswd aktuell gehalten werden muß. Die Frage nach dem Erstellen der Datenbankdatei muß mit Ja beantwortet werden. Das SAMBA-Protokoll ist vielfältig. Selbst Linuxklienten können darüber kommunizieren. In diesem Fall sollen es aber wirklich Windowsrechner sein, denn für Linux-/ Unixclients eignet sich NFS besser. SAMBA hat den Vorteil, es exportiert nicht nur Dateipfade, sondern auch eingerichtete Drucker. Wird der Druckspoolerpfad gänzlich exportiert, dann wird auch jeder neu eingerichtete Drucker gleich mit exportiert. Nötig dazu ist es, die smb.conf unter /etc zu editieren. Unter Debian Linux 3.1 liegt sie unter /etc/samba/smb.conf Meine sieht wie folgt aus:
;
; /etc/smb.conf
;
[global]
   workgroup = workgroup
   netbios name = anakin
   server string = FILE_SERVER
   guest account = nobody
   keep alive = 30
   os level = 2
   kernel oplocks = false
   security = user
   encrypt passwords = yes
   printing = bsd
   printcap name = /etc/printcap
   load printers = yes
   socket options = TCP_NODELAY
   map to guest = Bad User
   local master = no
   interfaces = 192.168.0.2/255.255.255.0
   wins support = no

[sven]
    comment = Heimatverzeichnis Sven Alisch
    path = /home/sven
    browsable = yes
    read only = no
    writeable = yes
    valid users = sven

[stefanie]
    comment = Heimatverzeichnis von Stefanie
    path = /home/stefanie
    browsable = yes
    read only = no
    writeable = yes
    valid users = stefanie

[pub]
    comment = Internet-Seiten
    path = /pub
    browsable = yes
    read only = no
    writeable = yes
    valid users = sven

[ablage]
    comment = Treiber und Software
    path = /ablage
    browsable = yes
    writeable = yes
    read only = no
    valid users = sven

[mmedia]
    comment = Multimediadaten
    path = /mmedia
    browsable = yes
    writeable = yes
    read only = no
    valid users = sven

[printers]
    comment = All Printers
    browseable = no
    printable = yes
    public = no
    read only = yes
    create mode = 0700
    directory = /tmp
Diese smb.conf wurde an eine BSD-Printing-Style (lprold)-Version angepaßt. In Zeiten wo sich CUPS (Common-Unix-Printing-System) durchsetzt müssen in der smb.conf folgende Anpassungen eingetragen werden:
printing name = lpstat 	(optional)
printing = cups
	...
[printers]
comments = All Printers
path = /var/spool/samba
browsable = yes
guest ok = yes
writable = no
printable = yes
create mode = 0700
print command = lpr -P %p -o raw %s -r
lpq command = lpstat -o %p
lprm command = cancel %p-%j
Bei Debian wird auch nach der CUPS Installation eine Datei printcap.cups unter /etc erzeugt. Möchte man diese Datei benutzen, und nicht in printcap (siehe auch unbedingt Kapitel Drucken) umbenennen, so mu"s die Zeile
printcap name = /etc/printcap
in
printcap name = /etc/printcap.cups
geändert werden. Meine Originaldatei ist im Anhang zu finden. Als nächstes nun wieder zu den Benutzern. Häufigste Quelle für Fehler sind die Zugriffsrechte unter SAMBA. Gerade bei verschlüsselter Passwortübermittlung ist es ganz wichtig, das die Benutzer auch unter SAMBA existieren. Zwei Möglichkeiten bieten sich dem root an. Entweder man trägt in der smb.conf direkt ein, dass SAMBA automatische alle unter Linux vorhanden Benutzer verwendet, oder etwas sicherer, man verwendet den Befehl, bzw. das Script smbadduser. Smbadduser ist ein C-Shell-Script. Hat man das samba-doc-Paket mitinstalliert, befindet sich das smbadduser-Skript unter /usr/share/doc/samba-doc/examples, und sollte nach /usr/bin kopiert werden. Die Syntax bei SAMBA 2.2.x lautet beispielsweise:
smbadduser sven:x
oder behält man die UnixID's bei, funktioniert auch ein:
smbadduser sven:1000 smbadduser stefanie:1001
Ab Debian Linux 3.1 funktioniert auch:
smbpasswd -a sven smbpasswd -a stefanie
Jetzt wird man gebeten ein Passwort für diesen Benutzer einzugeben. Nach der Eingabe und Validierung des Passwortes ist der Benutzer für SAMBA existent. Ein Verbindungsaufbau von den Windowsklienten aus, sollte genau dann funktionieren, wenn auch dort die Benutzer mit Ihren Passwörtern angelegt wurden. Ist SAMBA konfiguriert, kann man den Serverdämon über /etc/init.d/samba start starten. Hat man SAMBA über apt installiert, sollte auch die Verlinkung mit dem jeweiligen Runlevel nicht mehr nötig sein.



Sven Alisch 2005-08-27