54 | SAMBA

Ebben a példában a munkacsoport nevének mezõjébe a SIMPLE, a biztonsági mezõbe
pedig a USER nevet írtuk be. A menüben ezek mellett már csak egyetlen beállítást kell
megváltoztatni, mégpedig azt, amelyik meghatározza, hogy a helyi hálózatban melyik
rendszer oldja fel a NetBIOS címeket. Ennek a rendszernek WINS server a neve. Az oldal
legalján, a wins support mezõben a Yes választ állítsuk be, hacsak nincs már egy WINS
kiszolgáló a hálózatunkban. Ha lenne, akkor ehelyett a wins server mezõbe írjuk be a
WINS kiszolgáló IP címét. Ezt követõen lépjünk vissza az oldal tetejére és a Commit Chan-
ges gombra kattintva írjuk ki a változtatásokat az smb.conf fájlba.



2.3.ábra.A SWAT megosztáskészítõ képernyõje

Következõ lépésként kattintsunk a Shares ikonra. Ekkor a 2.3.ábrán láthatóhoz hasonló
oldal jelenik meg. Kattintsunk a Choose Share gomb melletti Test mezõre. Ekkor meg-
jelenik a 2.4.ábrán látható Share Parameters képernyõ. A comment sorba beírt megjegy-
zéssel emlékeztetjük magunkat arra, hogy ez egy test nevû megosztás az smb.conf fájlban.
A SWAT ide másolja be ezeket az információkat.

Ha rákattintunk a View gombra, a SWAT az alábbi smb.conf fájlt listázza ki:

# Samba config file created using SWAT
# from localhost (127.0.0.1)
# Date: 1998/11/27 15:42:40

 

2.FEJEZET.A SAMBA TELEPÍTÉSE UNIX RENDSZERRE | 55


2.4.ábra.A SWAT Sha e Parameters képernyõje

# Global parameters
workgroup = SIMPLE
[test]
comment = For testing only, please
path = /export/samba/test
read only = no
guest ok = yes

Miután elkészült ez a konfigurációs fájl, átugorhatjuk a következõ lépést, mert a SWAT
garantáltan helyes szintaxist használ.

A konfigurációs fájl tesztelése

Ha a konfigurációs fájl elkészítéséhez nem a SWAT segítségét vettük igénybe, akkor cél-
szerû tesztelnünk a fájlt, hogy nincs-e szintaktikai hiba benne. Lehet, hogy gyerekesnek
tûnik egy mindössze nyolc sorból álló fájlra lefuttatni egy tesztprogramot de jó, ha ez
gyakorlatunkká válik mert a késõbbiekben amikor egy a valóságban is használni kívánt
fájlt megírunk, már nem nélkülözhetjük.

 

56 | SAMBA

A testparm nevû elemzõ program szintaktikai hibákat keres egy smb.conf fájlban, és ha
talál ilyeneket, akkor megjeleníti ezeket azokkal a szolgáltatásokkal együtt, amelyek enge-
délyezve vannak a gépünkön. Következzék egy példa: vegyük észre,hogy a nagy igyeke-
zetben a workgroup szót hibásan workgrp alakban írtuk be (a program listája meglehe-
tõsen hosszú lehet, ezért ajánlható, hogy az utolsó részeket a tee parancs beírásával irányít-
suk át egy fájlba):


Load smb config files from smb.conf
Unknown parameter encountered: "workgrp"
Ignoring unknown parameter "workgrp"
Processing section "[test]"
Loaded services file OK.
Press enter to see a dump of your service definitions
# Global parameters
[global]

workgroup = WORKGROUP
netbios name =
netbios aliases =
server string = Samba 2.0.5a
interfaces =
bind interfaces only = No

…(kihagyott tartalom)…

[test]
comment = For testing only, please
path = /export/samba/test
read only = No
guest ok = Yes

Az érdekes részek a lista elején és a végén vannak. A lista elején kiírásra kerülnek azok a
szintaktikai hibák, amelyeket a fájlban elkövettünk, a végén pedig felsorolást kapunk
azokról a szolgáltatásokról, amelyekrõl a kiszolgáló feltételezi, hogy fel tudja kínálni. Jó
tanács: gyõzõdjünk meg arról, hogy a mi és a kiszolgáló elvárásai egybeesnek.
Ha minden rendben volt, akkor nekifoghatunk elindítani a kiszolgáló démonjait.

A Samba démonjainak indítása

Két Samba démon van az smbd és az nmbd amelyeknek futniuk kell ahhoz hogy helye-
sen mûködjön a Samba.Ezek háromféle módon indíthatók el:

 

2.FEJEZET.A SAMBA TELEPÍTÉSE UNIX RENDSZERRE | 57

A démonok kézi indítása

Ha nagyon sietünk, akkor a Samba démonjait kézzel is elindíthatjuk. Rootként írjuk be a
következõ parancsokat:

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

Ettõl a ponttól kezdve a Samba futni fog a rendszerünkben, és kész arra hogy kapcsolato-
kat építsen fel.


Önmagukban álló démonok

Ha a Samba mûveleteket önmagukban álló démonokként akarjuk futtatni akkor az elõzõ
részben felsorolt parancsokat fel kell vennünk a standard Unix-indító szkriptekbe.Ez kü-
lönbözõképpen történhet meg attól függõen hogy BSD-stílusú vagy System V Unix rend-
szerünk van-e.

BSD Unix

BSD-stílusú Unix esetében az alábbi kódot kell felvenni az rc.local fájlba, ami tipikusan az
/etc vagy az /etc/rc.d könyvtárban található:


if [ -x /usr/local/samba/bin/smbd]; then
echo "Starting smbd..."
/usr/local/samba/bin/smbd -D
echo "Starting nmbd..."
/usr/local/samba/bin/nmbd -D
fi

Ez a kód nagyon egyszerû: megvizsgálja hogy az smbd fájlnak van-e végrehajthatósági
engedélye, és ha van, akkor a rendszer indításakor elindítja mindkét Samba démont.

System V Unix

A System V Unix rendszer esetében a dolgok már kicsit bonyolultabbak. A System V tipi-
kusan olyan szkripteket használ, amelyek elindítanak és leállítanak démonokat a rend-
szeren. Ezért nekünk kell megmondanunk a Sambának, hogy miként mûködjön, amikor
elindul, és amikor leáll. Módosíthatjuk az /etc/c.local könyvtár tartalmát és az alábbihoz
hasonló kódot vehetjük fel az smb programba:

#!/bin/sh
# Contains the "killproc" function on Red Hat Linux
./etc/rc.d/init.d/functions
PATH="/usr/local/samba/bin:$PATH"

 

58 | SAMBA

case $1 in

’start’)
echo "Starting smbd..."
smbd -D
echo "Starting nmbd..."
nmbd -D
;;

’stop’)
echo "Stopping smbd and nmbd..."
killproc smbd
killproc nmbd
rm -f /usr/local/samba/var/locks/smbd.pid
rm -f /usr/local/samba/var/locks/nmbd.pid
;;

*)
echo "usage: smb {start|stop}"
;;

esac

Ezt a szkriptet elkészítve, a következõ parancsokkal indíthatjuk el és állíthatjuk le az SMB
szolgáltatást:

# /etc/rc.local/smb start
Starting smbd...
Starting nmbd...

# /etc/rc.local/smb stop
Stopping smbd and nmbd...

Indítás az inetd démonból

Az inetd démon a Unix rendszer "internetes szuperdémonja". Ez az /etc/services fájlban
definiált TCP portokat figyeli és minden egyes portra végrehajtja az /etc/inetd.conf fájlban
definiált megfelelõ programot. Ennek az elrendezésnek az az elõnye, hogy nagy számban
lehetnek felkérésre készen várakozó démonjaink, amelyeknek azonban nem kell egyide-
jûleg futniuk. E démonok helyett az inetd démon figyeli a felkéréseket. Ennek fejében
mindössze annyi a teendõnk, hogy létre kell hoznunk egy új démon processzt, és egy
helyett két fájlt kell szerkesztenünk. Ez akkor használható, ha csak egy vagy két felhasz-
nálónk van, vagy ha túl sok démon van a gépünkön. Így egy frissítést is könnyebb végre-
hajtani, anélkül, hogy megzavarnánk egy meglévõ kapcsolatot.
Ha a démonokat az inetd démonból akarjuk indítani akkor elõször nyissuk meg a szö-
vegszerkesztõnkben az /etc/services fájlt. Ha még nem definiáltuk az alábbiakat, akkor
vegyük fel bele a következõ két sort:

netbios-ssn 139/tcp
netbios-ns 137/udp

 

2.FEJEZET.A SAMBA TELEPÍTÉSE UNIX RENDSZERRE | 59

Következõ lépésként szerkesszük az /etc/inetd.conf fájlt. Keressük meg az alábbi két sort,
és ha nem léteznének, akkor írjuk be õket. Ha már van egy smbd és nmbd sor a fájlban
akkor úgy szerkesszük õket, hogy az általunk telepített új smbd és nmbd démonra mutas-
sanak. A különbözõ Unix változatok egymástól némileg eltérõ szintaxist használhatnak
ebben a fájlban; útmutatóul nézzük meg a meglévõ bejegyzéseket és az inetd.conf kézi-
könyvét:

netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd
netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbd

Végezetül zárjuk le az összes smbd vagy nmbd processzt, és küldjünk az inetd processz-
nek egy leállítás (hangup,HUP) jelet. (Az inetd démon a HUP jel beérkezésekor újraolvas-
sa a konfigurációs fájlt.) Ehhez a ps paranccsal keressük meg a processzazonosítóját (ID),
és az alábbi parancs kiadásával küldjük el a leállító jelet:

# kill -HUP process_id

Ezt követõen összeállnak a részprogramok, és elindul a Samba.

A Samba démonok tesztelése

Talán alig hihetõ de már szinte mindent elvégeztünk a Samba kiszolgáló telepítéséhez.
Már csak az van hátra, hogy meggyõzõdjünk mindennek a helyes mûködésérõl. Ennek
egyik kényelmes módja az smbclient program futtatása, amelynek segítségével megvizs-
gálhatjuk, hogy milyen szolgáltatásokat képes nyújtani a kiszolgáló a hálózaton. Ha min-
den rendesen mûködik, akkor képesnek kell lennünk a következõre:

# smbclient -U% -L localhost

Ha minden rendben volt, akkor a program arról tájékoztat, hogy a Hydra kiszolgáló
Simple munkacsoportjában létrejött egy test nevû lemezmegosztás.
Ha bármilyen probléma lépne fel ne essünk pánikba! Próbáljuk meg kézi módon elin-
dítani a démonokat, és vizsgáljuk meg a rendszer kimenõ üzeneteit, vagy nézzük át a
/usr/local/samba/var/log.smb könyvtárban lévõ fájlokat hogy megállapíthassuk mi tör-
tént. Ha komolyabb hibára gyanakszunk, akkor ugorjunk át a ,,Hibakeresés a Sambában”
címû 9.fejezetre, és nézzük meg, milyen hibák fordulhatnak elõ a démonokkal kapcsolat-
ban.

Ha nem volt hiba, vagy az elõfordult hibákat sikerült kijavítani, akkor ezzel sikeresen
befejeztük a lemezmegosztást kínáló Samba kiszolgáló telepítését. Ez ugyan egy egyszerû
szolgáltatás, de már használhatjuk arra, hogy a következõ fejezetben telepítsük és tesztel-
jük a Windows 95 és NT ügyfeleket. A késõbbiekben aztán tovább bõvítjük a szolgáltatá-
sok körét olyan kínálatokkal, mint a home könyvtárak, nyomtatók, biztonság, és azt is látni
fogjuk miként integrálható a kiszolgáló egy nagyobb Windows tartományba.