kategória | ||||||||||
|
||||||||||
|
||
A
Debian GNU/Linux operációs rendszer konfigurálása
Debian GNU/Linux
TELEPÍTÉS
A Debian GNU/Linux egy könnyen használható telepítő rendszert biztosít a felhasználó részére. A telepítőrendszere párbeszéd alapú, ezért ha lépésről lépésre haladunk, valóban egy működő rendszert telepítettünk, nem felejtünk ki semmit.
A Debian GNU/Linux telepítő egy menürendszer segítségével vezet végig a telepítés folyamatán. A legelső menüpont mindig a telepítő szerint soron következő lépést ajánlja fel (azt feltételezve, hogy egy teljesen tiszta tároló helyre telepítjük), amit mi felülbírálhatunk, ha tudjuk, hogy nincs rá szükség.
Kép 1: A Debian GNU/Linux egyik tipikus képe telepítésnél:
Amennyiben a CD-ROM-ról sikerült elindítanod a rendszert, akkor a képernyőn meg-jelenő boot: felirat a telepítés kezdetét jelenti.
Itt három dolgot tehetünk:
1. funkcióbillentyűk lenyomásával különböző segítségekhez juthatsz,
F1 - a főoldal, ahol azt találod, hogy a többi funkcióbillentyű lenyomására milyen segítségeket kaphatsz,
F2 - a rendszer minimális hardverigényét írja le,
F3 - az indítási módok rövid leírása,
F4 - speciális indítási paraméterek,
F5 - speciális indítási paraméterek,
F9 - hogyan szerezhetsz még több segítséget,
F10 - szerzői jogok és garanciák.
2. a prompt után a linux szót beírva paraméterezhetjük a rendszer indulásának folyamatát,
3. egyszerűen <Enter> -t ütve minden paraméter nélkül elindíthatjuk a Debian GNU/Linux telepítését.
Négy terminálon követheted nyomon a telepítés folyamatát:
- Az első terminálon vagy interaktív kapcsolatban a telepítővel.
- A második terminálon elindíthatsz egy korlátozott képességű shellt.
- A harmadik terminálon a rendszer az elinduló programok nevét és PID értékét, valamint a le 444e41e álló processzek visszatérési értékét láthatod
- A negyedik terminálon a hardvereszközökről kapsz értesítést.
Telepítés főbb lépései (vázlatosan):
1. billentyűzet kiosztásának beállítása
2. merevlemez partícionálása a cfdisk nevű partíciókezelő program segítségével
3. a swap partíció beállítása és aktiválása
4. a fájlrendszer létrehozását
5. operációs rendszer kerneljének és moduljainak telepítése
6. a hálózat beállítása
7. az alaprendszer telepítése
8. az időzóna beállítása
9. egy indítólemez készítése (ez ajánlott, de ez helyettesíthető telepítő CD-vel, ha véletlenül még a számítógép képes egyáltalán CD-t olvasni)
10. újraindul a rendszer (ekkor már a Debian GNU/Linux operácíós rendszere köszönt már minket)
11. megkérdezi mi legyen a root jelszó, akarunk-e shadow jelszókat használni, hozunk-e létre új felhasználókat, stb...
12. a feltelepítendő csomagok kiválasztása, telepítése
13. vége a Debian GNU/Linux telepítésének :-)
Ha NFS-en keresztül akarjuk telepíteni rendszerünket, akkor a fent vázolt lépéseket az alaprendszer telepítése (7.) pontig kell végrehajtani (hogy felkészítsük a Debian GNU/Linux rendszerünket a hálózat használatára), majd az alaprendszer telepítése menüpontban adjuk meg a hálózat azon gépét ahol a telepítendő rendszer található (meg kell adni az IP címet s a könyvtárat). Természetesen a forrásként megadott gépen futnia kell egy megfelelően beállított NFS szervernek.
Felhasználói- és csoportazonosítók létrehozása, karbantartása
Kezdeti környezet az /etc/skel
Amikor egy új felhasználó /home könyvtára létrejön, a /etc/skel tartalma alapján töltődik fel új tartalommal. Ezért ebbe a könyvtárba a rendszeradminisztrátor létrehozhat egy szép környezetet az új felhasználók számára. Pl. létrehozhat egy /etc/skel/.profile fájlt, amely az EDITOR környezeti változót egy népszerű, új felhasználóknak szánt szövegszer-kesztőre állítja be.
Általában az a legjobb, ha a /etc/skel a lehető legkisebb, mivel csaknem lehetetlen a már létrehozott felhasználói fájlok frissítése. Pl.: ha a közkedvelt editor megváltozik, minden már létező felhasználónak meg kell szerkeszteni a .profile fájlját. A rendszeradminisztrátor megkísérelheti ezt automatikusan, shell szkriptből megtenni, de ilyenkor nagyon nagy valószínűséggel sérülhet valakinek a módosított .profile fájlja.
Hacsak lehetséges, a globális konfigurációt globális fájlokba érdemes tenni, mint pl. a /etc/profile . Ezáltal a felhasználói fájlok megsértésének veszélye nélkül változtathatjuk meg a beállításokat.
Felhasználók létrehozása mechanikusan:
Egy új felhasználói számla mechanikusan is létrehozható, ha követjük az alábbi lépéseket:
1. Szerkesszük meg a /etc/passwd fájlt a vipw programmal, és adjunk egy új sort hozzá, mely az új számlát írja le. Nagyon vigyázzunk a szintaxisra! Ne szerkesszük egy általános szövegszerkesztővel a jelszófájlt! A vipw lefoglalja a fájlt, így más programok nem fogják frissíteni a szerkesztés ideje alatt. A jelszó mezőjébe írjunk ' '-ot, hogy még ne lehessen bejelentkezni a számlára.
2. Hasonlóan szerkesszük meg a /etc/group fájlt a vigr paranccsal, ha új csoportot is létre kell hoznunk.
3. Hozzuk létre a home könvtárat az mkdir paranccsal.
4. Másoljuk a /etc/skel tartalmát a home könyvtárba.
5. Korrigáljuk a tulajdonosokat és az engedélyeket a chown és chmod parancsokkal. A -R opció hasznos lehet (ez a rekurziót fedi).
6. Állítsuk be a jelszót a passwd paranccsal. Az utolsó lépés után a számla működni fog. Ezért ezt valóban csak legutoljára megtenni, különben a felhasználó bejelentkezhet, miközben készítjük a számláját, ami bonyodalmakhoz vezethet.
Néha szükséges olyan buta számlák létrehozása, melyet nem használ egy ember sem. Pl.: egy anonymous FTP-szerver létrehozásához egy ftp nevű felhasználót kell létrehozni. Ilyen esetekben nem szükséges a jelszót beállítani, sőt, jobb, ha nem tesszük meg, mert így senki sem tudja azt használni, csak a root , mivel ő minden felhasználó nevében dolgozhat.
Felhasználók létrehozása nem csak így lehetséges, sok könnyen kezelhető program áll rendelkezésre, de alapjába véve mindegyik a fenti módon működik, csak barátságosabb környezetet nyújt az adminisztrátor részére.
Felhasználók törlése:
Egy felhasználó törléséhez először le kell törölni az összes fájlját, levelesládáját, nyomtatási feladatait, cron és at feladatait, és minden egyéb hivatkozást a felhasználóra. Azután törölhető a megfelelő sor a /etc/passwd fájlból, és a rá vonatkozó bejegyzések a /etc/group -ból. Jó ötlet először kikapcsolni a számlát, ahogy fentebb láttuk, majd utána elvégezni ezeket, hogy ne használhassa a rendszert a felhasználó, miközben töröljük számláját.
Figyeljünk arra, hogy a felhasználónak lehetnek fájljai a home könyvtárán kívül is. A find használható ezek keresésére. Ez a parancs hosszú ideig futhat, ha nagyok a lemezeink. Ha NFS-en keresztül csatolt lemezeink is vannak, akkor vigyázni kell, hogy ne terheljük túl a hálózatot vagy a szervert. Néhány Linux terjesztés speciális parancsokat tartalmaz a felhasználók törlése céljából, melyek szokásos neve deluser vagy userdel . Igaz, ez a munka kézzel is könnyen elvégezhető, és ekkor biztosak lehetünk abban, hogy minden rendben és hiánytalanul zajlott.
Felhasználó időleges kikapcsolása:
Néha szükséges egy számla ideiglenes kikapcsolása anélkül, hogy törölnénk. Pl.: ha a felhasz-náló nem fizette a használati díjat, vagy a rendszeradminisztrátor észrevette, hogy egy cracker megszerezte a jelszót arra a számlára. A legjobb mód az időleges kikapcsolásra a be-jelentkezési burok egy speciális programra való kicserélése, mely egy üzenetet ír ki, majd azonnal kilép. Ily módon akárki próbál bejelentkezni a számlára, nem fog tudni semmilyen parancsot kiadni, de megtudja ennek okát. Célszerű, ha az üzenet felhívást tartalmaz a rendszeradminisztrátorral való kapcsolatfelvételre a hiba elhárítása érdekében.
Felhasználók kezelésére a következő programok használhatók:
useradd - felhasználók felvétele
usermod - felhasználók tulajdonságainak módosítása
userdel - felhasználók törlése
Ezek a programok a legtöbb Linux disztribúcióban megtalálhatók.
Felhasználók korlátozása
Kétféle korlátozást vezethetünk be a tárolóterület (kvóta) és erőforrások (processzoridő, processzek száma, stb...) korlátozását.
A kvóta:
A kvóta használatához szükséges eszközök:
A kernelbe bele kell fordítani a quota támogatást. Kell még a szoftver, ami ellenőrzi, beállítja, stb. a kvótát.
Beállítás:
Módosítani kell a rendszerindító scripteket, hogy a rendszer indulásakor megtörténjen a kvóta ellenőrzése és beállítása. Ha csomagból telepíted a kvóta szoftvert, akkor minden a helyére fog kerülni. Módosítani kell a /etc/fstab fájlt. A megfelelő fájlrendszer opcióihoz be kell írni az usrquota és a grpquota szavakat.
# /etc/fstab: static file system information.
#<file system> <mount point> <type> <options> <dump> <pass>
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 none swap sw 0 0
proc proc proc defaults 1 0
/dev/hda3 /usr/local ext2 rw,nodev 1 2
/dev/hda7 /home ext2 rw,nosuid,usrquota,grpquota 1 2
/dev/hda6 /stuff ext2 rw,usrquota,grpquota 1 2
/dev/hdd /cdrom iso9660 noauto,user 0 0
/dev/fd0 /floppy ext2 noauto,user 0 0
A /etc/fstab fájl módosítása után a következő parancs létrehozza a quota.user és quota.group fájlokat, és leteszteli a beállított meghajtót.
quotacheck -avug (quotacheck: ellenőrzi, hogy az fstab-ban megjelőlt helyeken valaki túllépte-e a kvótát és aktualizálja quota.user quota.group beállításait. Ajánlatos futtatni rendszerindításkor, valamint CRON-ból hébe-hóba.)
Hozzá kell rendelni a kvótát a felhasználókhoz és csoportokhoz. Ehhez az edquota parancsot kell használni, pl.: a következőképpen: edquota anyu . Az edquota parancs használható kapcsolóiról bővebb leírás olvasható a MAN-ban. A parancs kiadása után a következő kép fogadott a vi szövegszerkesztőben:
Quotas for user anyu:
/dev/hda7: blocks in use: 10, limits (soft = 0, hard = 0)
inodes in use: 7, limits (soft = 0, hard = 0)
A fenntiek magyarázata:
blocks in use: a pillanatnyilag felhasznált blokkok száma. A blokk mérete attól függ, hogy mekkora blokkméretet használunk az adott partíción.
inodes in use: a pillanatnyilag felhasznált inode-ok száma.
Soft limit: jelzi a felhasználó által elfoglalható lemezterületet. Amikor kombináljuk a grace period -dal, akkor ez a választóvonal, ezt átlépve a felhasználó a bejelentkezésekor kap egy figyelmeztető üzenetet, melyben tájékoztatják, hogy átlépte a számára kiszabott kvótát.
Hard limit Ez határozza meg a maximálisan felhasználható lemezterületet, amelyet nem tud átlépni a felhasználó.
- Grace period: Egy időhatárt jelent, amennyi ideig a felhasználó átlépheti a soft limit-ben meghatározott kvótát. Amennyiben átlépte a soft limit-et, és a grace period is lejárt, akkor módosítani sem tud fájlokat, csak abban az esetben, ha töröl annyi fájlt, hogy belülre kerüljön a soft limit által meghatározott határon. Beállítása az edquota-t paranccsal lehetséges. Időnek megadhatunk másodpercet, percet, órát, napot, hetet és hónapot.
A grace period beállítására a következő parancsot kell kiadnunk:
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/hda7: block grace period: 7 days, file grace period: 7 days
Mint látható, pillanatnyilag 7 napra van beállítva mind blokkokra, mind fájlokra.
- A ,,Quotas for user anyu:'' sort nem kell bántani, csak tájékoztatásunkra szolgál, hogy éppen kinek a kvótáján dolgozunk. Ha valamelyik limitértéket - vagy mindkettőt - nullára állítjuk, akkor kikapcsoljuk a kvótát. A limiteknél csak a zárójelbe tett részt kell átszerkesztenünk.
Miután eddig eljutottunk, már csak a kvóta bekapcsolása maradt. Ezt megtehetjük a következő paranccsal: quotaon /dev/hda7
A quotaon parancs kapcsolja be a kvóta használatát, a quotaoff pedig kikapcsolja. Rendszerinduláskor és leállításkor használatos általában. A quotaon és quotaoff parancsok használható kapcsolóiról bővebb leírás olvasható a MAN-ban.
Repquota: Megmutatja az aktuális összegzett kvóta-információkat a fájlrendszerről. A repquota parancs használható kapcsolóiról bővebb leírás olvasható a MAN-ban. (egyébként mostmár elárulhatjuk, hogy szinte bárminek bővebb leírása a MAN-ban, azaz a manualban található, ezért a továbbiakban nem hivatkozunk erre, a tisztelt olvasóra bízzuk, hogy mindig odaképzelje.)
repquota /dev/hda7
A parancs a következő kimenetet adta:
Block limits File limits
User used soft hard grace used soft hard grace
root -- 628 0 0 16 0 0
sly -- 241079 0 0 3671 0 0
anyu -- 10 100 150 7 50 70
Amennyiben sok felhasználónak szeretnénk ugyanazt a kvótát beállítani, először létre kell hoznunk pl.: a wanek nevű felhasználó kvótaadatait kézzel, és utána végrehajthatjuk a következő parancsot:
edquota -p wanek `awk -F: '$3 > 499 ' /etc/passwd`
A parancs végrehajtása után mindenkinek, akinek 500-tól kezdődik az UID-je ugyanaz lesz a kvótája, mint a wanek nevű felhasználónak.
Eröforrások korlátozása
Ha korlátozni szeretnénk a felhasználók rendszer erőforrások használatát, akkor ezt megtehetjük /etc/limits fájl segítségével. Itt most csak a fájl felépítését közöljük.
/etc/limits:
# /etc/limits contains user resource limits.
# See limits(5).
# A rendszer erőforrásainak korlátozása a felhasználók számára.
# Format:
# Formátuma:
# <username> <limits-string>
# felhasználói név korlátozás
# default entry is '*' for username
# Alapértelmezett jelzés a '*' a felhasználói név helyén
# Valid flags are:
# Használható jelzők:
# A: max address space (KB)
# Maximális címterület kilobájtban
# C: max core file size (KB)
# A core fájl maximális mérete kilobájtban
# D: max data size (KB)
# Maximális adatméret kilobájtban
# F: maximum filesize (KB)
# Maximális fájlméret kilobájtban
# M: max locked-in-memory address space (KB) [only for root on Linux 2.0.x]
# A maximálisan zárolható memóriacím-terület kilobájtban
# N: max number of open files
# A megnyitható fájlok maximális száma
# R: max resident set size (KB) [no effect on Linux 2.0.x]
# Maximális rezidens méret kilobájtban
# S: max stack size (KB)
# A verem maximális mérete kilobájtban
# T: max CPU time (MIN)
# Maximális processzoridő percben
# U: max number of processes
# A processzek maximális száma
# L: max number of logins for this user
# A felhasználó egyszerre maximum ennyiszer jelentkezhet be
# Examples:
# the default entry
# Az alapértelmezett beállítások
#* L2 D6144 R2048 S2048 U32 N32 F16384 T5 C0
# another way of suspending a user login
# Egy másik út a felhasználó időszakos kikapcsolására
#guest L0
# this account has no limits
# Ennek a felhasználónak nincs korlátozás
#sysadm -
SZERVERALKALMAZÁSOK
Telnetszerver:
A telnet szolgáltatás valamelyik telnet szervert tartalmazó csomag telepítése után rendelkezésünkre áll. A telnetd démon indítható parancssorból, rendszerindításkor valamint az /etc/inetd.conf fájl segítségével. Ez utóbbi akkor célszerű, ha ritkán veszik igénybe ezt az alkalmazást. Ha az inetd.conf fájlból való indítást választjuk, akkor írjuk bele a következő sort:
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd
A telnet szerver a telnet kliensnek a kapcsolódás folyamán beállít - alapértelmezésben - két környezeti változót: a DISPLAY és a PRINTER változókat (exportálja is őket). A USER változót is exportálja, ha a megfelelő opcióval (-a vagy -l) indítod a telnet klienst. A telnet használja a HOME, a SHELL, a DISPLAY és a TERM környezeti változókat. Egyéb környezeti változók beállítására a TELNET ENVIRON opció segítségével veheted rá. A telnet szerver egy virtuális terminált indít a kliens kapcsolódásakor, és annak változtatja meg a beállításait, ha szükséges (például jelszó bekérésekor az echo-zás kikapcsolása). Ezeket a beállításokat továbbküldi a kliensnek, amely a valódi terminálon hajtja végre ugyanazokat a beállításokat.
Ftp szerver:
Az ftp szolgáltatás valamelyik ftp szervert tartalmazó csomag telepítése után rendelkezésünkre áll. A ftpd démon indítható parancssorból, rendszerindításkor valamint az /etc/inetd.conf fájl segítségével. Ez utóbbi megint akkor célszerű, ha ritkán veszik igénybe ezt az alkalmazást. Ha az inetd.conf fájlból való indítást választjuk, akkor írjuk bele a következő sort:
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd
Ez (alapértelmezésben) nem biztosít anonymous ftp szolgáltatást, csak a névvel rendelkező felhasználók tudnak belépni így a rendszerbe (mivel az ftp szerver authentikációt is végez, lehetőséged van általad meghatározott felhasználók kizárására ebből a szolgáltatásból). Létezik több anonymous ftp szolgáltatást nyújtó szerverprogram is, például: proftpd és wu-ftpd-academ
A szerver csak statikusan linkelt programokat használhat - biztonsági okokból -, tehát a bin könyvtárban lévő parancsok is statikusan linkeltek kell, hogy legyenek. Ezekre a programokra azért van egyáltalán szükség, mert az ftp szerver a saját home könyvtárára végrehajt egy chroot-ot, így az anonymous-ként (vagy ftp-ként) belépő felhasználók számára ez a könyvtár lesz a gyökér. Ezért nem érhetik el a gépen lévő többi programot, tehát létre kell hoznod egy ,,mini fájlrendszert'' a szükséges könyvtárszerkezettel és programokkal. Az anonymous-ként (vagy ftp-ként) való belépéshez a gép jelszófáljában szerepelnie kell az ftp felhasználónak jelszó nélkül, és egy nem létező shellt kell neki adni, hogy ezzel a felhasználói névvel ne lehessen bejelentkezni.
Az anonymous ftp szerver könyvtárait célszerű a következőképp létrehozni:
- A bin könyvtár jogosultságai: 0111. (Csak a legszükségesebb fájlok vannak itt.)
gzip - A fájl jogosultságai: 0111.
ls - A fájl jogosultságai: 0111.
tar - A fájl jogosultságai: 0111.
zip - A fájl jogosultságai: 0111.
- Az etc könyvtár jogosultságai: 0111. A group és a passwd fájlok ne egyezzenek meg a rendszerben használt fájlokkal. NaNá!
group - A fájl jogosultságai: 0444.
passwd - A fájl jogosultságai: 0444.
pathmsg - A fájl jogosultságai: 0444.
- A lib könyvtár jogosultságai: 0111.
ld-linux.so.2 - A fájl jogosultságai: 0555.
libc.so.6 - A fájl jogosultságai: 0444.
- A pub könyvtár jogosultságai: 0555. Ez alatt a könyvtár alatt olyan könyvtárstruktúrát alakíthatsz ki magunknak, amilyen csak jólesik. Ha a telepítéskor a feltöltést is engedélyezted, akkor itt létrejön az alábbi könyvtár:
- Az incoming könyvtár jogosultságai: 0753.
- A welcome.msg fájl jogosultságai: 0644. Az ebben a fájlban lévő üzenetet kapja meg minden felhasználó - a bejelentkezés előtt - aki a szerverhez fordul. A fájlban változókat is használ-hatsz, például:
%U - A bejelentkezni szándékozó felhasználó neve, amennyiben le tudja kérdezni.
%R - Annak a gépnek a neve, ahonnan a felhasználó be szeretne jelentkezni.
%T - A szervert futtató gép lokális ideje.
%L - A szervert futtató gép neve.
WWW szerver:
Debian GNU/Linux alatt is webszerverből is több közül választhatsz: Apache, dhttpd, cern-httpd, ncsa, Roxen.
Az egyik legnépszerűbb webszerver az Apache. (Nem csak Debian GNU/Linuxos vagy más Linuxos változata létezik, elérhető más operációs rendszerek alá is.) Mivel a webszerver telepítésének és beállításának leírása alapja lehetne egy külön dolgozatnak, ezért csak egy pár dolog bemutatására vállalkozunk.
A szerver beállításaival kapcsolatos fájlokat a /etc/apache/ könyvtárban (az SSL-es változat esetében a /etc/apache-ssl) találhatod meg. Az itt található fájlok:
access.conf a hozzáférési jogosultságok beállításait tartalmazza,
cron.conf a szerverhez tartozó karbantartó script beállításait tartalmazza,
httpd.conf a működésre vonatkozó alapvető beállításokat tartalmazza,
srm.conf a MIME beállításait tartalmazza,
mime.types csak egy link a /etc/mime.types fájlra, amelyben a MIME-típusok vannak felsorolva.
A telepítés végén lefut egy program, ami beállítja a webszerver alapvető működését, de nem tud (a nagyon sok lehetőség miatt) mindenre kitérni. A program neve: apacheconfig vagy apache-sslconfig (az SSL-es változat esetén). A következő kérdéseket teszi fel ez a program:
1. Ki a szerver adminisztrátora? - Ide egy e-mail címet kell megadnod, amit a beállítási hiba miatt keletkezett hibaüzenetek aljára fog kiírni a szerver.
2. Mi legyen a dokumentumok gyökérkönyvtára? - Az itt megadott könyvtár lesz a webszerver gyökérkönyvtára.
3. Melyik porton várja a kéréseket? - A megadott porton fogja figyelni a szerver a kapcsolódási kéréseket.
4. Akarod-e ellenőrizni, hogy milyen modulok töltődjenek be? - Ha erre a kérdésre nemmel válaszolsz, akkor az előre beállított modulok fognak betöltődni a szerver indulásakor. Ha igennel válaszolsz, akkor egyesével dönthetsz arról, hogy melyik modult szeretnéd betölteni. (Futás közben nem lehet újabb modulokat betölteni, ehhez újra kell indítani a szervert.) Vannak olyan modulok, amiket feltétlenül be kell töltenünk, mert szükségesek a szerver működéséhez (required), vannak "standard" jelölésű modulok, amelyek az általános használat közben kelleni szoktak, és vannak az egyéb, extra funkciókat megvalósító modulok.
Pár beállítási lehetőség a httpd.conf fájlból:
ServerType Indíthatod a szervert az inetd segítségével, vagy a rendszer indulásakor standalone módban.
HostnameLookups A szervert meghívó gép IP címét - a DNS szerver segítségével - megpróbálja ,,nevesíteni''.
User : A megadott felhasználó jogaival fog futni a szerver.
Group : A megadott csoport jogaival fog futni a szerver.
ServerRoot : A szerver minden beállítását az itt megadott könyvtárban keresi.
LoadModule : Egy ezzel a szóval kezdődő sor tölti be a paraméterében megadott modult.
ErrorLog : A hibaüzeneteket tartalmazó fájl neve.
TransferLog : A kiszolgált anyag, és az anyagot lekérő adatait tartalmazó fájl neve.
PidFile : Annak a fájlnak a neve, amelyben a rendszer tárolja a szerver elsődleges pro-cesszének processz ID-jét.
KeepAlive : A kérések maximális száma kapcsolatonként.
KeepAliveTimeout : Hány másodpercet várjon a szerver KeepAlive kapcsolat esetén a következő kérésre.
MinSpareServers : Legalább ennyi ,,unatkozó'' ,,gyermek-szervert'' fog elindítani az Apache.
MaxSpareServers : Legfeljebb ennyi ,,unatkozó'' ,,gyermek-szervert'' fog elindítani az Apache.
StartServers : Ennyi ,,gyermek-szervert'' fog elindítani az Apache, amikor elindul.
MaxClients : Az egyszerre maximálisan kiszolgálható kérések száma.
MaxRequestPerChild : Egy ,,gyermek-szerver'' maximum ennyi kérést szolgálhat ki, azután leáll (ha kell, akkor a ,,szülő'' egy új ,,gyermek-szervert'' indít helyette).
Pár beállítási lehetőség a access.conf fájlból (könyvtáranként lehet beállítani ezeket az opciókat):
Indexes : Lehessen-e listát kérni a könyvtárról, ha nincsen benne index.html fájl.
FollowSymlink : Kövesse-e a szerver a szimbolikus linkeket.
ExecCGI : Lehessen-e CGI-t futtatni.
Includes : Használhatsz-e beszúrt fájlokat.
order allow deny : Ezekkel határozhatod meg, hogy kinek szolgáltathat adatokat a szerver.
Pár beállítási lehetőség a srm.conf fájlból:
UserDir : A rendszer felhasználói az itt megadott nevű - a saját home könyvtárjukban lévő - könyvtárban helyezhetik el saját honlapjaikat.
Alias : Így adhatsz meg olyan hivatkozásokat, melyek máshová mutatnak, mint a hivatkozott könyvtár vagy fájl.
AddType : Újabb MIME-típusok hozzáadására használható.
A felsorolt lehetőségek csak nagyon kis részét mutatják be az Apache tudásának. Ha például feltelepítesz mellé egy adatbázis-szervert és a PHP3 modulokat, akkor lehetővé válik szerver-oldali adatbáziskezelő-programok futtatásával bonyolult problémák megoldása is.
NFS szerver
Az NFS szolgáltatás valamelyik NFS szervert tartalmazó csomag telepítése után rendelkezésünkre áll. A nfsd és mountd démonok indíthatóak parancssorból, rendszer-indításkor valamint az /etc/inetd.conf fájl segítségével.
A működéshez a mountd és az nfsd , démonoknak futniuk kell. Ha telepítetted a megfelelő csomagot (nfs-server), akkor minden a helyén van. Ha magadnak fordítod a programot, akkor arra kell vigyáznod, hogy a démonok a portmapper után induljanak el.
De először a /etc/exports fájlt kell megfelelően szerkesztened! A fájl formája nagyon egyszerű: könyvtárnév gép(opció,opció,...) gép(opció,...) ...
Mint lehetséges export:
/ KUPACarpo1(rw) KUPACarpo2(rw,no_root_squash)
/puskak h*.stud.u-szeged.hu(rw)
/pub (ro,insecure,all_squash)
/pub/anyu (noaccess)
A szerver egész köyvtárszerkezetét el lehet érni KUPACarpo1 gépről, írható-olvashaó módon. A KUPACarpo2 gépről szintén írható-olvasható módon, de ezen felül, ha a kliens rootjogot kér, azt meg is kapja. A /puskak könyvtárat bemountolhatja írható-olvasható módon minden olyan gép, amelynek neve h -val kezdődik, és stud.u-szeged.hu-val végződik (ez nem jelent teljes védelmet pl.: ha h -val kezdődik valamely oktató gépazonositója). A /pub könyvtárat mindenki bemountolhatja csak olvasható módon, s engedélyez minden gépről nem hitelesített hozzáférést, minden kérést nobody felhasználóként szolgál ki. A /pub/anyu könyvtárat soha, senki, sehonnan, sehogy se érheti el, feülbírálva a felette lévő sort. Jól használható opciók még: root_squash , ami a kliensről jövő root felhasználót nobody -felhasználóvá teszi. Az all_squash az előzőhöz hasonló, de az összes felhasználót nobody -ként kezeli.
Ha a démonok futása alatt szerkeszted át a fájlt, akkor csak rá kell venned a démonokat, hogy újraolvassák ezt a fájlt. A következő módon tudod ezt végrehajtani (beírhatod egy scriptbe is, mint a példában):
#!/bin/sh = Ez a script_neve
killall -HUP /usr/sbin/rpc.mountd
killall -HUP /usr/sbin/rpc.nfsd
echo Újraexportáltam a fájlrendszert
Ebben az esetben ne felejtsd el a chmod a+rx script_neve parancsot kiadni, a futtathatóvá tétel érdekében. Van egy másik lehetőség is, a etc/init.d/netstd_nfs reload parancs kiadása. Ez is ugyanazt a feladatot hajtja végre. Ezek után ellenőrizd, hogy megfelelően futnak-e a démonok. Erre az rpcinfo -p parancs szolgál. Ezt sima felhasz-nálóként is megteheted.
wanek@KUPACarpo:~$ rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100003 2 udp 2049 nfs
100003 2 tcp 2049 nfs
100005 1 udp 793 mountd
100005 2 udp 793 mountd
100005 1 tcp 796 mountd
100005 2 tcp 796 mountd
wanek@KUPACarpo:~$
Láthatod, hogy regisztrálták magukat, tehát működnek. Ha ilyesmit kapsz az rpcinfo-tól, hogy "can't contact portmapper: RPC: Remote system error - Connection refused" vagy valami hasonló üzenetet, akkor a portmapper program nem fut. Ha a hibaüzenet "No remote programs registered'', akkor az egyik portmapper nem tud kapcsolatot teremteni a másikkal, vagy valami más probléma van. Állítsd le a démonokat és a portmappert, és próbáld az indítást sorban újra. Miután megvizsgáltad a portmappert az rpcinfo -val, ellenőrizheted a ps ax paranccsal is. Mert a portmapper azután is szolgáltatja ezeket az információkat, miután a démonok esetleg lefagytak, tehát így a démonok tényleges futását tudod ellenőrizni. A végső ellenőrzésre egy NFS-klienst használhatsz, megpróbálva felmountolni a szerver kiajánlott részeit.
SaMBa szerver
A SaMBa fő részei:
smbd : Az SMB szerver. Ez kezeli a kapcsolatokat, ellenőrzi a jogokat és végzi az aktuális adatátvitelt.
nmb : Netbios Name Server. Segít a klienseknek megtalálni a szervereket, ez intézi a böngé-szést (browse), és a maga módján a tartományvezérlő (domain controller) szerepet is betöltheti.
smbclient : Unix-os kliens program, ftp-szerű felhasználói illesztővel.
smbrun : Egy kis ,,glue'' (ragasztó) program, hogy az smbd biztonságosan tudjon külső prog-ramokat hívni.
testprns : program a szerver nyomtatóeléréseinek tesztelésére.
testparms : program a konfigurációs fájl szintaktikus ellenőrzésére.
A SaMBa konfigurációs fájlja általában a /usr/local/samba/smb.conf helyen található, de ha Linux disztribúció tartalmazza, akkor az etc/smb.conf vagy az /etc/samba/smb.conf helyre kerül.
A dokumentáció nagyon hasznos. Nem csak a SaMBA-hoz, de nagyon érdekes dolgokat tudhatunk meg a kereskedelemben kapható egyéb SMB-s rendszerek belső lelkivilágáról is.
Elterjedtebb kliensek:
LAN manager client for DOS: Ez egy szabadon letölthető Microsoft kliens. Előnye: DOS is elég, hátrányai: max. 8 karakter hosszú share nevek, sok konvencionális RAM-ot fogyaszt
Windows for Workgroups 3.11: Nem ingyenes, de a TCP/IP stack szabadon letölthető hozzá. A trumpet winsock nem elég, mert nem csak az alkalmazásoknak, de a rendszernek is kell a TCP/IP. Nem csak kliens, de szerver is lehet. Angol verzió 8. lemezén található az admincfg.exe , ezzel le lehet tiltani a password cache -et, ami elég nagy biztonsági rést üthet az egyébként valószínűleg jól védett UNIX-os rendszerünkön is. A password cache fájlok felhasználónév.pwl nevűek, és többek között tartalmazzák azt, hogy az adott felhasználó melyik share-re, milyen jelszóval csatlakozott. Elvileg biztonságos a kódolása, de tudott, hogy melyik pozíción tartalmazza a felhasználói nevet (ami a fájl neve is), ezt kihasználva egy jó gépen néhány óra alatt feltörhető. A Microsoft TCP/IP stack nehezen él együtt az IPX/SPX-el, ha ilyenre van szükség, akkor inkább használjunk Win95-öt.
Windows 95: Egyes verzióknál, ha megosztott nyomtató van, akkor a \windows\system\ könyvtár mindenki által olvasható. A rendszer itt tárolja a usernev.pwl fájlokat. Lehetséges következményei már ismertek fentebbről.
Windows NT 3.x WorkStation: Megbízható kliens, de sajnos a SaMBa még nem tud domain controller lenni NT-knek. Bővebb információt erről a:
/usr/doc/samba/DOMAIN_CONTROL.txt fájlban olvashatunk.
Windows NT 4.x WorkStation: Kedveli a titkosított jelszavakat. Ha egyszer egy gépről megjegyzi, hogy tudja kezelni a titkosított jelszavakat, akkor később már szóba sem áll vele, ha az a gép nem így kéri. Ha ilyen kliensünk vagy szerverünk van, akkor jobb a legutolsó SaMBa verziót használni.
A NOVELL NetWare is fel van készítve a SaMBa protokoll használatára, de a megvalósítás sikerességéről nem állnak részletek rendelkezésünkre (de majd kipróbáljuk).
Az smb.conf file szekciókból és paraméterekből áll. A szekció a nevével kezdődik, ami szögletes zárójelek között van, és a következő szekció kezdetéig tart. A szekció nevek és paraméterek nem érzékenyek a kis- és nagybetűkre. Három speciális szekció van:
[global] : paraméterei a szerver egész működésére vonatkoznak, alapértékeket állítanak be a szolgáltatásoknak
[homes] : paraméterei a kliensek /home könyvtárait szabályozzák
[printers] : paraméterei a nyomtatók megosztását szabályozzák, ha létezik, akkor a fel-használók hozzáférnek a szerver printcap fájljában megadott nyomtatókhoz
Az smb.conf file néhány paramétere:
workgroup : a munkacsoport neve
server string : a WINxxx klienseken a tulajdonságok/ megjegyzés sorban található szöveg
encrypt passwords : a jelszó kódolt átvitele (NT 4.0 SP3 és feletti kliensek ajánlott használni)
log file : megadja a logfájlok helyét
max log size : a logfájlok max. mérete, ha túllépi, akkor átnevezi az előzőt és újat nyit
printcap name : a printcap-fájl neve
dns proxy : Ha YES az értéke, és a wins server = YES beállítást is használjuk, akkor a DNS-ben keresi a gazdaneveket, ha a WINS-ben nem találja
wins support : Ha YES az értéke, a Samba WINS kiszolgálóként műkodik. A wins sever beállítás nem vehető fel, ha a wins support = Yes beállítást használjuk.
queuepause command : megadja azt a parancsot, mellyel szüneteltethető egy nyomtatási várakozási sor
queueresume command : megadja azt a parancsot, amely a szüneteltetett nyomtatási várakozási sort aktivizálja
create mask : meghatározza, hogy mik lehetnek az új fájlokhoz maximálisan megadható engedélyek: oktális engedélyező bitek; alapértelmezés:
guest ok : ha itt YES érték szerepel, és az /etc/passwd fájlban létezik a pcquest felhasználó, akkor ő használhatja azokat a szolgáltatásokat
printable :hozzáférhetővé teszi a nyomtatót
print command : megadja azt a parancsot, amellyel a várakozó sorban álló nyomtatási feladat a nyomtatóra küldhető; elfogadja %p %s %f változókat és tartalmaznia kell azt a parancsot is, amely törli a nyomtatandó fájlt a várakozási listából
Rengeteg további paraméter van (és valószínű, hogy sok fontos kimaradt a felsorolásból),
ezért, ha valaki akar SaMBa-t használni olvassa el a SaMBa howto-t.
Fontosabb helyettesítők:
%h : a SaMBa-t futtató gép neve
%v : a SaMBa verzió száma
%M : a kliens gép internet neve
%I : a kliens gép IP-címe
%a : a kliens gép architektúrája (Win NT, Win95, stb...)
%U : a Windows-os kliensről bejelentkezett felhasználó neve
%S : a szolgáltatás neve (ha van)
%P : a szolgáltatás gyökérkönyvára (ha van)
%u : a szolgáltatás felhasználójának neve (ha van)
%H : a %u hómkönyvtára
%T : az aktuális idő/dátum
Íme egy példa:
# Samba config file
# Date: 2001/10/15 16:33:00
# Global parameters
[global]
workgroup = SIMPLE
server string = Samba
encrypt passwords = Yes
log file = /var/log/samba/log.%m
max log size = 50
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
printcap name = lpstat
dns proxy = No
wins support = Yes
printing = cups
print command = /usr/bin/lp -d%p -oraw %s; rm %s
lpq command = /usr/bin/lpstat -o%p
lprm command = /usr/bin/cancel %p-%j
queuepause command = /usr/bin/disable %p
queueresume command = /usr/bin/enable %p
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
guest ok = Yes
printable = Yes
print command = lpr-cups -P %p -o raw %s -r
# using client side printer drivers.
lpq command = lpstat -o %p
lprm command = cancel %p-%j
[samba]
comment = sok sok hely
path = /samba
[cd]
path = /cdrom
Találat: 2576