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.
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.
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.