7.7. Linux som server i Windows-netværk (SAMBA)

Selv om denne bog handler om Linux, skal man ikke glemme, at der findes andre styresystemer. Et af de mere udbredte er Windows - herunder wfw/95/98/NT, som alle har indbygget muligheden for at fungere i netværk. Hvis man påtænker at opbygge eller allerede har et heterogent netværk af Windows- og UNIX-computere, skal man kigge nærmere på SAMBA.

SAMBA er Open Source Software og kan dermed erhverves gratis. I Danmark kan SAMBA bedst downloades fra http://sunsite.auc.dk/samba/samba.html, ellers fra http://www.samba.org.

Med SAMBA installeret får man stort set samme muligheder, som hvis man investerer i en langt dyrere og meget mere hardwarekrævende NT licens eller en OS/2 Lan Manager. Det, SAMBA først og fremmest kan tilbyde, er at fungere som fil- og printerserver. Derudover kan SAMBA også fungere som domain controller for Windows 95/98 klienter. Fuld domain control for Windows NT domæner findes i version 2.0.

Med SAMBA installeret (og ikke mindst konfigureret) vil serveren kunne ses, hvis man klikker på "network neighbourhood" (på dansk: "andre computere") eller på samme netværk i Windows 95/98/NT.

Den letteste måde at installere/opgradere SAMBA på er ved at bruge en prækompileret pakke. Sådanne pakker kan hentes på http://sunsite.auc.dk/samba/ftp/Binary_Packages/, og de findes til flere forskellige Linux-distributioner, bl.a. Red Hat, Caldera, Debian, Slackware og SuSE. Hvis man holder af at kompilere sin kildetekst selv, kan den hentes her: ftp://sunsite.auc.dk/pub/unix/networking/samba. Vi vil dog meget anbefale at bruge en prækompileret pakke, og vi vil i eksemplet gå ud fra, at du har Red Hat installeret. Når du har hentet rpm-pakken, skriver du bare:

[root@linus /root]#  rpm -ivh samba-2.0.3-8.i386.rpm

Når du har fået installeret SAMBA serveren, skal du have den konfigureret. Dette gøres ved at rette i filen /etc/smb.conf. Denne fil kan virke meget skræmmende, da der er vel omkring 80 parametre, man kan sætte. Det skal du dog af to grunde ikke lade dig gå på af: For det første har de fleste parametre udmærkede default værdier, så dem behøver man slet ikke at bekymre sig om. For det andet bliver der installeret en udmærket default /etc/smb.conf, som virker uden de store ændringer. Denne default smb.conf er desuden meget velkommenteret, hvilket yderligere letter tilpasning. Her er et eksempel på en lille /etc/smb.conf fil, der ud over at sætte SAMBA op som fil- og printerserver også konfigurerer SAMBA som domain controller.

[global]
   workgroup = hjemme

   printing = bsd
   printcap name = /etc/printcap
   load printers = yes

   log file = /var/log/samba-log.%m

   short preserve case = yes
   preserve case = yes

   lock directory = /var/lock/samba
   locking = yes
   strict locking = yes

   security = user

   socket options = TCP_NODELAY

   domain master = yes
   domain logons = yes

[homes]
   comment = Home Directories
   read only = no
   create mode = 0750

[deskjet870cxi]
   comment = All Printers
   path = /var/spool/samba
   browseable = yes
   printable = yes
; Set public = yes to allow user 'guest account' to print
   public = no
   writable = no
   create mode = 0700

Det skal også nævnes at der er et grafisk konfigurationsværktøj swat til SAMBA, som virker sammen med Netscape.

7.7.1. Krypterede adgangskoder

SMB bruger en krypteringsteknik, der ligner standard UNIX kryptering. Det er dog kun tilsyneladende, at de to teknikker er ens, UNIX variationen sender nemlig typisk kodeordet i klar tekst over netværket, når man skal logge ind. SMB sender i modsætning hertil en kodet version af passwordet.

Hvorvidt man vælger at bruge krypterede passwords eller ej, er op til den enkelte at afgøre, da der er både fordele og ulemper.

Fordele ved krypterede passwords:

Ulemper ved krypterede passwords:

Windows 98 og Windows NT 4 (sp3 og senere) kræver som default brug af krypterede kodeord. Det betyder, at du har to valg:

7.7.1.1. Konfigurering af SAMBA

Konfigurering gøres ved at føje følgende linje til [global] sektionen i /etc/smb.conf

encrypt passwords = yes

Dernæst skal du lave en ny password fil til brug for SAMBA alene. Der findes et shell script, der kan generere en SAMBA password fil ud fra den eksisterende UNIX password fil. Det gør du med følgende kommando:

[daisy@linus daisy]$  cat /etc/passwd | mksmbpasswd.sh >/etc/smbpasswd

I SuSE 6.3 er smbpasswd.sh placeret i kataloget /usr/sbin, og biblioteksplaceringen skal med i kommandoen. Desuden har filen i den distribution ikke rettigheder til at kunne eksekveres, hvilken du således skal tildeles, før kommandoen udføres.

Kommandoen opretter filen til de krypterede passwords, men den opretter ikke selve de krypterede passwords. Uanset om du vælger, at brugerne skal have samme SAMBA-passwords, som de er tildelt som brugere i dit Linux-system, skal du alligevel bagefter tildele dem krypterede SAMBA-passwords ved hjælp af kommandoen smbpasswd.

Selv hvis du med linjen null passwords = yes i /etc/smb.conf under global-sektion har tilladt, at SAMBA-password'et er blankt, skal du alligevel oprette et "blankt" password med smbpasswd-kommandoen.

Du bør bruge samba-1.9.18p10 eller senere, da kryptering er slået til som default - dette gælder i hvert fald for Red Hat. Bruger du andre distributioner, bør du checke, hvordan SAMBA er konfigureret. Hvis du gerne vil oversætte din egen software, skal du anvende linkerflaget -lcrypt til LIBSM. Til sidst kan vi også nævne værktøjet "swat" som gør at du kan konfigurere SAMBA via en vilkårlig web-browser.

7.7.1.2. Konfigurering af Windows 98/NT

Windows 95/98 maskiner konfigurerer du det ved at ændre i en indgang i registry-databasen, så den ser således ud:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001
Tilsvarende for Windows NT:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters]
"EnablePlainTextPassword"=dword:00000001
En meget udførlig beskrivelse af brugen findes i filen ENCRYPTION.txt, der følger med SAMBA-distributionen.

Ud over man-siderne og dokumentationen, der installeres i /usr/doc, findes der en bog om SAMBA. Den er ikke blændende godt redigeret hele vejen igennem, men er ualmindelig rar at have stående som opslagsværk, hvis du administrerer en server med SAMBA. Sidst i bogen er der et rigtig godt kapitel om fejlfinding.

John D. Blair: SAMBA: Integrating UNIX and Windows, Specialized Systems Consultants, Inc., ISBN: 1-57831-006-7, 290 sider + CDROM