Linux - Karbantartás

download Linux - Karbantartás

of 58

Transcript of Linux - Karbantartás

  • 8/14/2019 Linux - Karbantarts

    1/58

    A GNU/Linux karbantartsa

    1.0.1

    A Mithrandir Kft. nyelvi ellenorzsvel

    Balsai Pter

    Ksa Attila

    2002. jnius 19.

  • 8/14/2019 Linux - Karbantarts

    2/58

  • 8/14/2019 Linux - Karbantarts

    3/58

    Elozmnyek

    A GNU/Linux karbantartsa

    A Mithrandir Kft. nyelvi ellenorzsvel

    A kiads ve: 2002.

    Szerzo

    Vitz [email protected]

    Szakmai lektor

    Szalay Attila [email protected]

    Nyelvi ellenorzs

    Sri [email protected] Attila [email protected]

    Formzs (LATEX)

    Ksa Attila [email protected]

    Az LME ltal elkszttetett Pingvin fzeteken a Mithrandir Kft. az olvashatsgrdekben nyelvi, helyesrsi javtsokat vgzett.

    A Mithrandir Kft. valamint a nyelvi javtst vgzo termszetes szemlyek szak-mai ellenorzst, javtst nem vgeztek.

    Nem tettk ezt (szakmai javts), akkor sem a szerzok s a szakmai lektorok mun-kja irnti tiszteletbol , ha a lertak nem feleltek meg szakmai meggyozodsknek.

    A Mithrandir Kft. javtst vgzo szakemberei, illetve a Mithrandir Kft. mint jogiszemly a lertak helyessgrt, esetleges avultsgrt semmilyen felelossget nem vl-lal.

    2

  • 8/14/2019 Linux - Karbantarts

    4/58

    Tartalomjegyzk

    1. A GNU/Linux rendszer karbantartsa 5

    1.1. Hlzati belltsok . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.2. Hlzati szolgltatsok . . . . . . . . . . . . . . . . . . . . . . . . . 81.3. Egyb szolgltatsok . . . . . . . . . . . . . . . . . . . . . . . . . . 91.4. Behvszerver konfigurlsa . . . . . . . . . . . . . . . . . . . . . . 181.5. Felhasznli eroforrsok korltozsa . . . . . . . . . . . . . . . . . . 241.6. Teljestmny javtsa . . . . . . . . . . . . . . . . . . . . . . . . . . 331.7. Megfelelo hardver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331.8. Szoftveres teljestmnyjavts . . . . . . . . . . . . . . . . . . . . . . 341.9. Logical Volume Managers naplzott fjlrendszer . . . . . . . . . . . 371.10. Naplzott fjlrendszerek . . . . . . . . . . . . . . . . . . . . . . . . 381.11. Naplelemzs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391.12. Alapveto biztonsgi belltsok . . . . . . . . . . . . . . . . . . . . . 431.13. Ments s helyrellts . . . . . . . . . . . . . . . . . . . . . . . . . 45

    3

  • 8/14/2019 Linux - Karbantarts

    5/58

    brk jegyzke

    1.1. A hlzat felptse . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2. Egy msik hlzat felptse . . . . . . . . . . . . . . . . . . . . . . 7

    4

  • 8/14/2019 Linux - Karbantarts

    6/58

  • 8/14/2019 Linux - Karbantarts

    7/58

    A hlzati interfszeket (tbbek kztt) az ifconfig paranccsal konfigurlhat-

    juk. Bellthatjuk vele a hlzati cmet amire az interfsz hallgatni fog, a hlzati masz-kot, s egyb paramtereket, mint pldul a maximlis csomagmretet, hogy pont-pontkapcsolatunk van-e, stb.

    A konfigurci lekrdezst egy paramterezetlen ifconfig paranccsal oldhat-juk meg:

    $ ifconfigeth0 Link encap:Ethernet HWaddr 00:50:BA:EA:D6:FA

    inet addr:192.168.10.3 Bcast:192.168.10.255 Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:60127 errors:0 dropped:0 overruns:0 frame:0TX packets:64215 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:100Interrupt:3 Base address:0xb800

    lo Link encap:Local Loopbackinet addr:127.0.0.1 Mask:255.0.0.0

    UP LOOPBACK RUNNING MTU:3904 Metric:1RX packets:144794 errors:0 dropped:0 overruns:0 frame:0TX packets:144794 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0

    A listn lthatjuk, hogy kt interfsznk van: egy eth0 nevu, ez az elso ethernetkrtya, az lo pedig a loopback interfsz, ez egy tisztn szoftveres interfsz, amivelegy gpen bell is lehet hlzati szolgltatsokat hasznlni. A listbl egyszer u, forga-lommal kapcsolatos mutatkat is kiolvashatunk, mint a kldtt s fogadott csomagokszma, az tkzsek szma, s a hibs csomagok szma.

    A belltsokat szintn az ifconfig paranccsal vgezhetjk, ez ethernet esetntipikusan gy nz ki:

    ifconfig eth0 192.168.10.1 netmask 255.255.255.0 up

    Ezzel felkonfigurltuk az interfsznket, 192.168.10.1-es IP cmet kapott,255.255.255.0 hlzati maszkkal. Ez azt jelenti, hogy egy olyan ethernet hlzat-ban van a gp, ahol az IP cmek 192.168.10.1-tol 192.168.10.254-ig terjednek, a192.168.10.0 cm magnak a hlzatnak a cme, mg a 192.168.10.255cm a broadcastcm, azaz ha erre a cmre kldnk csomagokat, akkor azt mindegyik gp megkapja ahlzaton. Ezek utn, hogy az interfsszel megvagyunk, jhet a routeols. Meg kellmondanunk a kernelnek, hogy egy clgp (vagy clhlzat) elrse rdekben melyikcsomagot merrefel tovbbtsa (ez jabb rendszereken felesleges lehet, mert automa-tikusan megtrtnik az ifconfig hatsra). Ezt a route paranccsal tehetjk meg,ehhez hasonl mdon:

    route add -net 192.168.10.0 netmask 255.255.255.0 eth0

    Ennek hatsra a 192.168.10.0/255.255.255.0 hlzatra meno csomagokat a rend-szer az eth0 interfsz fel fogja kldeni. Innentol mr ltjuk a loklis hlzatot, elkezd-hetnk rajta forgalmazni, de a vilgba mg nem ltunk ki. Ehhez kell mg egy defaultroute, amin keresztl az sszes, explicit mdon meg nem adott hlzatot elrhetjk.Ehhez szksgnk lesz a mi hlzatunkat a vilggal sszekto router IP cmre. Ha ezmondjuk a 192.168.10.254, akkor a

    route add default gw 192.168.10.254 eth0

    paranccsal llthatjuk ezt be.Ha tbb interfsz van a szmtgpnkben, akkor termszetesen az sszes interf-

    sznket be kell gy lltanunk. Default route csak egy kell.Ha a gpnk router, akkor az

    6

  • 8/14/2019 Linux - Karbantarts

    8/58

  • 8/14/2019 Linux - Karbantarts

    9/58

    Egyltaln ne vlaszoljon a pingre. A szmok jelentse ugyanaz, mint a broad-

    castos belltsnl.

    echo 2 >/proc/sys/net/ipv4/icmp_echoreply_rate

    Szzadmsodpercenknt kt ping csomagra vlaszol.

    echo 0 >/proc/sys/net/ipv4/ip_forward

    A 0 letiltja a csomagok tovbbtst az interfszek kztt.

    echo 1 >/proc/sys/net/ipv4/conf/all/rp_filter

    Az 1 engedlyezi a hamis csomagok szurst.

    Termszetesen ezeken a belltsokon az ignyektol fggoen vltoztatni kell, pl-dul egy routeren nem j tlet az interfszek kzti csomagtovbbtst letiltani. Mivel

    ezek a belltsok rendszerlelltskor elvesznek, rdemes oket valamelyik indulskorlefut szkriptbe beletenni, a hlzati interfszeket bekonfigurl szkript el.

    1.1.3. Egyb, magasabb szint u belltsok

    Hogy jl tudjuk hasznlni a hlzatunkat, be kell lltanunk, hogy a gpnk milyennameservereket hasznljon a szmtgpnvIP cm feloldshoz.

    Az interneten a szmtgpeknek az IP cm mellett nevk is van, ez a cmtr hi-erarchikus felptsu. A nv IP cm oda-vissza trtno lekpezst nameserverekszolgltatjk. Ezek az adatbzisuk alapjn meg tudjk csinlni a lekpezst, vagy hanem, akkor a krst tovbbtjk egy msik szervernek, ami vlaszol majd. A gpek ne-vt gp (host) s domain nevekre lehet osztani. Pldul a www.ceg.hu nvben a wwwa gp neve, a ceg.hu pedig a domain.

    Ennek a szolgltatsnak a hasznlathoz a /etc/resolv.conf fjlt kell meg-feleloen kitlteni. Itt a szerverek IP cme mellett azt is bellthatjuk, hogy a gpnkmilyen domainekben keresse a gpeket, ha nem a teljes nevkkel keressk oket. Egykonkrt plda: a nameszervereink 192.168.100.22, 192.168.22.33; a domain nevnk

    proba.hu, s a masik.hu domain-beli gpeket is hasznlni szeretnnk gy, hogy nema teljes (pldul gepneve.masik.hu) nevkkel, hanem csak a gp nevvel hivatkozunkrjuk.

    # /etc/resolv.confdomain proba.husearch masik.hunameserver 192.168.100.22nameserver 192.168.22.33

    Ezek utn a hlzatos programokban pldul az alma.proba.hu gpre hivatkozha-tunk alma nven, a korte.msik.hu gpre pedig korte nven.

    1.2. Hlzati szolgltatsok

    1.2.1. Inetdbol fut szolgltatsok

    Az inetd egy klnleges szerver program, egyetlen feladata, hogy ms programokatindtson a megfelelo krsek hatsra, pldul ftp, telnet, pop3 szervereket lehetvele futtatni. A konfigurcijt a /etc/inetd.conf fjlban tartja, ami UNIX-osszoksokhoz hven egy sima szveges fjl.

    8

  • 8/14/2019 Linux - Karbantarts

    10/58

    A futtatand szolgltatsokat soronknt lehet megadni a konfigurcis fjlban, a #

    jellel kezdodo sorok megjegyzst jelentenek, ezeket figyelmen kvl hagyja a program.Az inetd konfigurcis fjljban a sorok szerkezete a kvetkezo:

    szolgltatsport sockettpus protokoll wait/nowait szerver-program program argumentumok

    Ahol a szolgltatsport egy a /etc/services fjlban megtallhat port szim-bolikus neve, a sockettpus tipikusan stream vagy dgram lehet aszerint, hogy azilleto szolgltats TCP vagy UDP kapcsolatokat hasznl-e. A protokoll tcp vagy udplehet, hasonlan az elobbi meggondolsokhoz. A wait/nowait azt jelenti, hogy azinetd indtson-e j kiszolgl processzt ha j krs fut be, vagy a mr fut szerverkpes egyszerre tbb klienst kezelni. Ezek alapjn nhny plda inetd szolgltat-sokra:

    # Az ftp dmon, az ftp portrl rootknt fut, egy# pldny csak egy kapcsolatot tud kiszolglni.ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd# Az ident dmon identd felhasznli azonostval fut, s egy pldny# tbb krst is ki tud szolglni. Mindkt program TCP-t hasznl.ident stream tcp wait identd /usr/sbin/identd identd

    Manapsg egyre kevesebb programot szoktak inetd segtsgvel futtatni, rde-mes minden olyan szolgltatst kikommentezni amire nincs szksgnk.

    Ennek ellenre az inetd olyan szempontbl rdekes, hogy jval egyszerubb egyinetd-t hasznl szerverprogramot megrni, mint egy nllt.

    1.3. Egyb szolgltatsok

    1.3.1. SSH

    Az SSH titkostott terminlkapcsolatot s sok minden mst tud szolgltatni, ezrt r-demes vele foglalkozni. Mi az OpenSSHval fogunk foglalkozni, mert ez ingyenes,szabadon felhasznlhat. Az ssh nagy vonalakban gy mukdik, hogy a kliens sszerver oldal egy ktkulcsos titkosts segtsgvel megegyezik egy egykulcsos titkos-tsban, aztn minden kommunikcit e felett a titkostott csatorna felett vgeznek. gyaz adataink biztonsgban vannak a hlzat lehallgatstl, a TCP kapcsolatok eltrt-stol.

    A szerver a konfigurcis fjljt ltalban a /etc/ssh/sshd_config fjlban,vagy a /usr/local/etc/ alatt tartja. A konfigurcis fjl egyszeru opci-rtkprokbl ll. Plda egy felkommentezett konfigurcis fjlra:

    # A 22-es alaprtelmezett ssh porton fog hallgatni a szerver.

    Port 22# A kettes verzij protokollt fogja eloszr# megprblni, aztn a rgi egyest.Protocol 2,1# Alaprtelmezs szerint az sszes hlzati# interfszen vrja a krseket.# ListenAddress 0.0.0.0# A host kulcsok, ezek alapjn tudnak a kliensek meggyozodni,# hogy a szerver az, akinek gondoljk. Ha a szerver kulcsa# megvltozik, a kliensek panaszkodni fognak, mert lehet,# hogy a szervert feltrtk.HostKey /etc/ssh/ssh_host_keyHostKey /etc/ssh/ssh_host_rsa_keyHostKey /etc/ssh/ssh_host_dsa_key# A kapcsolatoknl hasznlt RSA kulcs 768 bit hossz.# Aki paranoid, az magasabb rtket is megadhat itt.ServerKeyBits 768

    9

  • 8/14/2019 Linux - Karbantarts

    11/58

    # A szerver lezrja a kapcsolatot, ha a kliensnek 600# msodperc alatt sem sikerlt az authentikci.

    LoginGraceTime 600# A szerver 3600 msodpercenknt generlja jra a# kapcsolatokhoz hasznlt RSA kulcsot. Esetleg le# lehet cskkenteni kisebb rtkre, a mai modern# processzorok nagyon gyorsan tudnak kulcsot generlni.KeyRegenerationInterval 3600# Rootknt nem lehet tvolrl bejelentkezni.# Ez nem minden esetben szerencss.PermitRootLogin no# A felhasznlk fjljainak hozzfrsi jogt# szigoran ellenorizzk.StrictModes yes# Az X tirnytst bekapcsoljuk, ennek segtsgvel# titkostott csatornn hozhatjuk t a grafikt a hlzaton.X11Forwarding yesX11DisplayOffset 10# A nap zenett s az utols bejelentkezst nem rjuk ki.# Ezt PAM segtsgvel is el lehet intzni, errol# ksobb lesz sz.#PrintMotd no#PrintLastLog noKeepAlive yes

    # Naplrs# A kvetkezo ketto az 1.11. rsz# elolvassa utn teljesen rtheto lesz.SyslogFacility AUTHLogLevel INFO

    # A .rhosts-os authentikcit letiltjuk,# mert nem biztonsgos.RhostsAuthentication no## A .rhosts fjl s a tvoli gpek host-kulcsaival# trtno authentikcit is letiltjuk.RhostsRSAAuthentication no

    # Az RSA kulcsos authentikcit engedjk, az j.# Ehhez kulcsokat kell generlni, errol is lesz sz.RSAAuthentication yes

    # Az egyszeru jelszavas authentikcit is engedjk.PasswordAuthentication yesPermitEmptyPasswords no

    # A kerberosos belltsok most nem rdekelnek minket.#KerberosTgtPassing yes

    # Ezt kommentezhetnnk ki, hogy az sshd# bejelentkezskor kirja, hogy jtt-e levelnk.# A PAM ezt gyis elintzi neknk.#CheckMail yes# A kvetkezo bekapcsolsa esetn az interaktv# bejelentkezsekhez a login programot hasznlhatnnk.#UseLogin no

    # Az sftp-t szintn engedjk. Ezzel ftp-szeru, de# titkostott adattvitelt valsthatunk meg.Subsystem sftp /usr/lib/sftp-server

    A konfigurls utn az sshd paranccsal indthatjuk el az ssh dmont. A fentibelltsok valsznuleg a legtbb esetben jk lesznek, de azrt rdemes jl tgondolni,hogy minden megfelel-e az ignyeinknek.

    Az ssh parancsot alapvetoen azssh [email protected] [parancs]

    mdon hasznlhatjuk, ennek hatsra az ssh megprbl bejelentkezni a tvoli gpre,ott vgrehajtani a parancsot gy, hogy a tvoli parancs kimenete s bemenete a loklisgpen fut ssh kimenetre s bemenetre kerl. Pldul:

    10

  • 8/14/2019 Linux - Karbantarts

    12/58

  • 8/14/2019 Linux - Karbantarts

    13/58

    Ezutn mr hasznlhatjuk a kulcsunkat, vagy gy, hogy az ssh parancsnak a -i

    kapcsol utn megadjuk a ~/.ssh/ujkulcs fjlnevet, vagy hogy az ssh-agentprogramot hasznljuk.Az ssh-agent egy olyan program, ami trolni tudja a kulcsokat s a hozzjuk

    tartoz jelszt. gy a jelszt csak egyszer kell megadni (egy kulcshoz). Ugyanakkorrdemes belegondolni, hogy mivel a jelszt s a kulcsot is trolja az gynk, ezrt haa gpnket feltrik, s pont fut az ssh-agent, knnyen tovbb tudnak menni a tbbigpre is.

    Az ssh-agent parancsot ktflekppen lehet hasznlni: vagy megadjuk neki egyfuttathat program nevt, amit elindt, s addig fut amg a program is, vagy pedig ashell eval parancst hvjuk segtsgl, de ekkor explicit mdon kill-ezni kellaz ssh-agent-et, s ezt knnyu elfelejteni. Plda a kt hasznlati mdra:

    az elso:

    # Azt akarjuk, hogy az ssh-agent addig fusson, amg az# j zsh shellnk fut.$ ssh-agent zsh -l# Elindult a zsh, fut az ssh-agent,# a fortune is lefutott."This generation may be the one that will face Armageddon."-- Ronald Reagan, "People" magazine, December 26, 1985# Ez a "belso" zsh promptja, innentol hasznlhatjuk az# ssh-agent szolgltatsait.# Ha kilpnk ebbol a shellbol, az agent is kilp.$

    a msodik:

    # Ilyenkor gy kell elindtani.

    $ eval ssh-agent# Kirja, hogy elindult.Agent pid 1312# s innentol hasznlhatjuk is.$# De el ne felejtsk leloni!$ eval ssh-agent -kAgent pid 1312 killed

    Ezutn egy sszetettebb plda: elindtjuk az ssh-agent-et, megadjuk neki az jkulcsunkat (ezt az ssh-add paranccsal tehetjk meg), s megnzzk mi trtnik, haa tvoli gpen akarunk valamit futtatni:

    # Szoksos ssh-agent indts.[gabor@debi:~]$ ssh-agent zsh -l# Megadjuk neki a kulcsunkat.

    [gabor@debi:~]$ ssh-add .ssh/ujkulcs# Az ssh-add kri a jelszt a kulcshoz.Need passphrase for .ssh/ujkulcsEnter passphrase for .ssh/ujkulcs:# A kulcs tadsa az ssh-agentnek sikeres.Identity added: .ssh/ujkulcs (.ssh/ujkulcs)# Kiprbjuk, mit csinl az ssh.[gabor@debi:~]$ ssh tonhal uname -a# Nem kr jelszt.Linux tonhal 2.4.2 #5 Mon Feb 26 22:13:40 CET 2001 i686 unknown

    Az RSA kulcsokat hasznlhatjuk klnbzo automatikus dolgok vgrehajtsra is,ha nem adunk meg nekik jelszt a generlskor. Ekkor minden jelszkrs nlkl lp-kedhetnk a gpek kztt. Ez gy persze veszlyes. Hogy a veszlyt cskkentsk, a

    12

  • 8/14/2019 Linux - Karbantarts

    14/58

    tvoli gp .ssh/authorized_keys2 fjljban megadhatjuk, hogy honnan hasz-

    nlhatjk azt a kulcsot, s hogy milyen programot futtathatnak (s mg sok mindenmst). Pldul az ujkulcs nevu kulcsunkat csak a debi nevu gprol engedjk be, s csakaz uptime parancsot lehet vele futtatni:

    # Megnzzk, hogy milyen az .ssh/authorized_keys2 fjl.[gabor@tonhal:~]$ cat .ssh/authorized_keys2from="debi",command="uptime" ssh-rsa AAAAB3N...# Csak a debi gprol lehet hasznlni, csak az uptime# parancsot lehet futtatni. Utna az "ssh-rsa AAAAB3N.."# mr maga a kulcs.[gabor@debi:~]$ ssh tonhal /bin/true

    10:51pm up 1:40, 5 users, load average: 0.02, 0.02, 0.00

    Mint ltjuk a /bin/true helyett az uptime parancs futott le. Egy sszetettplda: a fentieket kombinljuk gy, hogy az adott kulccsal csak egy fjlt tudjunk t-msolni a tvoli gpre, ami a tvoli gpen /tmp/p nven fog megjelenni. Elso lps:

    dntsk el, hogy milyen parancsnak kell lefutnia a tvoli gpen. Erre egyszeruen rj-hetnk, ha az scp parancsot -v kapcsolval futtatjuk, s egy commandtartalm sorrakeresnk benne:

    # Kiprbls.[gabor@debi:~]$ scp -v valami.ps tonhal:/tmp/p# Itt van ami kell neknk, a scp -v -t /tmp/p# fut le a msik oldalon.Executing: program /usr/bin/ssh host tonhal, user (unspecified), command scp -v -t /tmp/pSending file modes: C0664 26632 valami.psvalami.ps 100% |*****************************| 26632 00:00

    Lthatjuk, hogy a tvoli gpen az scp -t /tmp/p parancs fog lefutni. Ezu-tn megfeleloen trjuk a tvoli gpen a .ssh/authorized_keys2 fjlt, s mrmukdik is. A -v opcit kihagyjuk, azt a bobeszdu md miatt kldte.

    # Leellenorizzk a .ssh/authorized_keys2 tartalmt.[gabor@tonhal:~]$ cat .ssh/authorized_keys2from="debi",command="scp -t /tmp/p" ssh-rsa AAAAB3...# Ezzel a kulccsal tnyleg csak a megfelelo# parancsot lehet hasznlni.# Most megprblunk mst futtatni a tloldalon,# de ez nem fog sikerlni.[gabor@debi:~]$ scp proba tonhal:/tmp/aproba 100% |*****************************| 259 00:00

    Nyilvnvalantonhal nevu gpen /tmp/a helyett /tmp/p fjlban fog megjelennia proba fjl tartalma.

    1.3.2. Qmail

    Mirt pont a qmail? A qmail egyszeruen konfigurlhat, biztonsgos, s elggj teljestmnyu. Ugyanakkor rdemes megjegyezni, hogy van egy-kt hinyossga,pldul tl kson ellenorzi, hogy van-e adott nevu felhasznl vagy alias a rendszern-kn; minden egyes kimeno levlhez j kapcsolatot nyit; a licence pedig lehetne kicsitbartsgosabb. rdemes megnzni a postfix programot (http://www.postfix.org/),de annak jval bonyolultabb a konfigurlsa.

    A qmail biztonsgi okok miatt tbb, klnbzo felhasznl azonostval fut pro-cesszre van felosztva, gy ha netaln valamelyik rszvel valami baj trtnne, az akkorsem lesz komoly hatssal a teljes rendszerre. Az MTAk kzt ritka a hasonlan bizton-sgos tervezs.

    13

  • 8/14/2019 Linux - Karbantarts

    15/58

  • 8/14/2019 Linux - Karbantarts

    16/58

    a standard inputrl vrn az adatot, a preline pedig a krnyezeti vltozk tartalmt

    megfeleloen kikldi a program (itt a procmail) inputjra.Ezek utn jn a qmail-smtpd futtatsa. Ezt legegyszerubben az ucspi-tcpcsomag segtsgvel tehetjk meg. Ez is letltheto a http://www.qmail.org/ oldalrl, derdemesebb a disztribcink csomagkezelojvel feltelepteni. Ez a csomag egyszeruhlzatos szolgltatsokat knl.

    /usr/bin/tcpserver \-u id -u qmaild -g id -g nobody -x /etc/tcp.smtp.cdb 0 smtp \/usr/sbin/qmail-smtpd 2>&1 | splogger qmail -t qmail -p mail.notice &

    Ez elindtja a tcpserverprogramot,megmondjaneki, hogy futtassa a qmail-smtpdt aqmaildfelhasznl azonostjval, s nobody csoportazonostval, a /etc/tcp.smtp.cdbfjlban lvo szablyokat hasznlja, a gp brmelyik IP cmre fogadjon el kapcsolatot(a 0 az), s az smtp porton hallgasson.

    A relay-ezst a qmail-smtpd programnak a RELAYCLIENT krnyezeti vl-toz belltsval engedlyezhetjk, akr inetd-bol tcpwrapper segtsgvel, akra tcpserver segtsgvel. Az utbbi hasznlathoz ki kell tlteni egy tetszolegesfjlt, pldul gy:

    127.0.0.1:allow,RELAYCLIENT=""192.168.20.:allow,RELAYCLIENT=""

    Ennek hatsra a loklis gprol s a 192.168.20.0/255.255.255.0 hlzaton lvogpekrol kldhetnek levelet a szerveren keresztl, a szerver rcpthosts fjljbannem szereplo gpnek. Ebbol a fjlbl mg egy binris .cdb adatbzist kell csinlni:

    tcprules /etc/tcp.smtp.cdb temporaryfile < szovegesfile

    Ahol a temporaryfile egy ideiglenes fjl neve, a szovegesfile pedig annak a fjlnaka neve, amibe a fenti kt sort betettk.Aliasok kezelse: a qmail az aliasokat a /var/qmail/aliases knyvtr-

    ban tartja, mindegyiket kln fjlban. A fjlok neve .qmail-aliasneve , teht a/var/qmail/aliases/.qmail-postmaster fjlba kell tennnk, ha pldulvan egy postmaster aliasunk. A .qmail fjlokban a pipe jellel kezdodo sor hatsraa qmail a pipe jel utn lvo program standard inputjra fogja kldeni a bejvo leve-leket. /-rel kezdodo sor hatsra az adott mailboxba vagy Maildirbe fogja tenni abejvo leveleket. Az utbbiba akkor, ha megint csak egy / jel van a sor vgn.

    Ide jnne egy pldakonfigurci, ha szksges.

    1.3.3. vsftpd

    Az ftp nem egy biztonsgos szolgltats, de sajnos a felhasznlk nagyon ragasz-kodnak hozz annak ellenre, hogy az ssh csomagnak van Secure FTP je, titkostottadatvitellel, grafikus klienssel Windowshoz. Az ftp problmja, hogy bizonyos mu-veletekhez az egyszeru felhasznltl magasabb privilgium-szint kell, s radsul aforgalmat sem titkostja (azaz a hlzat lehallgatsval ssze lehet gyujteni a felhasz-nlk jelszavait). Tovbbi problma, hogy kevs igazn biztonsgos ftp szerver lte-zik.

    Egy j ftp szerver a vsftpd, a Very Secure FTP Daemon. A nv termszetesensemmit sem garantl, csak azt, hogy az rja mindent megtesz a biztonsg rdekben.Szmomra ez a szerver biztonsgosabbnak tunik a tbbinl, ezrt ezt ismertetem.

    15

  • 8/14/2019 Linux - Karbantarts

    17/58

    A szerver inetd-bol fut, minden kapcsolathoz kt processzt indt, egy privil-

    gizltat a klnbzo hlzati muveletek elvgzshez (amikhez a norml privilgium-szint kevs lenne), s egy msikat, ami az pp bejelentkezett felhasznl azonostjvalfut. A privilgizlt processz sem rootknt fut, hanem a Linux capabilities nevu mecha-nizmust hasznlva egy egyszeru felhasznlknt gy, hogy kzben a jogot az 1024-tol kisebb hlzati portok megnyitsra megtartja. Radsul egy msra nem hasznltknyvtrba chroot-olja magt, gy onnan nem lt ki. A kt processz Unix DomainSocketen keresztl kommuniklegymssal gy, hogy a privilgizlt processz nem bzika privilgizlatlan ltal kldtt zenetekben. Ehhez hasonlan tervezett ftp dmonokritkk.

    Egy kt klienst kiszolgl szervert gy kpzelhetnk el:Telepts: a vsftpd csomagot a ftp://ferret.lmh.ox.ac.uk/pub/linux/ oldalon lehet

    megtallni, de rdemesebb a disztribcinkbl feltenni, ha ott van a csomagok kzt.A szoftver pldul rsze a Debian Woody disztribcinak. Hozz kpest a kzzel for-

    dtott, vagy ms disztribcik rszt kpezo vltozatok esetben csak a fjlok elrsitvonalban vrhat vltozs.

    Inetd belltsa: a /etc/inetd.conf fjlba rjuk be a kvetkezo sort, majda killall -HUP inetd parancsot kiadva olvastassuk jra az inetd-vel a konfi-gurcis fjljt.

    ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/vsftpd

    A program egyetlen paramtert vr, a konfigurcis fjljnak az elrsi tvo-nalt, ha az nem a /etc/vsftpd.conf fjlban van. Ezek utn termszetesena tcpwrapper csomagot is be kell konfigurlni, a /etc/hosts.allow s a/etc/hosts.deny fjlok megfelelo kitltsvel.

    A /etc/hosts.allow fjlba pldul anonymous ftp esetn ilyesmit lehet rni:

    # Beengednk mindenkit, akinek feloldhat az IP cme, kivve ha a# a nv visszaellenorzsnl nem egyeznek az IP cmek.vsftpd: KNOWN EXCEPT PARANOID

    A konfigurcis fjl: /etc/vsftpd.conf . Ez egyszeru opci=rtk pro-sokbl ll. Fontos tudni, hogy nem lehet szkzaz egyenlosgjel kt oldaln. A fjlbana megjegyzseket a szoksos soreleji # jel jelzi. Elg sok opci logikai rtku, ezeketYES-re illetve NO-ra llthatjuk, ezt nem fogom mindegyiknl kln megemlteni.

    anonymous_enable Ezzel lehet engedlyezni az anonymous ftpt. Az anonymousftphez szksg van egy ftp nevu felhasznlra. Ennek a felhasznlnak a homeknyvtra lesz az anonymous ftp terlet.

    local_enable A norml felhasznlkat engedjk-e bejelentkezni vagy sem. A fentiopcival egytt lehet csak anonymous, csak norml felhasznlkat beengedo,vagy mindkettot engedore konfigurlni az ftp szervert.

    write_enable Engedi-e az rst az ftp szerver (feltlts, stb.).

    local_umask Ez nem logikai rtku, azt mondja meg, hogy milyen umaskot hasznl-jon az j fjlok ltrehozsakor. Az alaprtelmezett 077 esetn pldul csak atulajdonos fogja tudni elrni az ltala letett fjlokat.

    anon_upload_enable Anonymousknt lehet-e feltlteni a szerverre. Kell hozz awrite_enable is.

    16

  • 8/14/2019 Linux - Karbantarts

    18/58

  • 8/14/2019 Linux - Karbantarts

    19/58

    Ezek utn mr ki is lehet prblni az stunnel-t, pldul inetd-bol, gy:

    # /etc/inetd.conf rszlet# A pop3s porton stunnelt futtatunk. A processz neve pop3d lesz.# A tcpwrapper szolgltatsnv solid-pop3d-s, a PEM fjl a# /etc/ssl/certs/pop3.pem, a futtatott program pedig# /usr/sbin/solid-pop3d.pop3s stream tcp nowait root.mail /usr/sbin/stunnel pop3d -N solid-pop3d-s \-p /etc/ssl/certs/pop3.pem -l /usr/sbin/solid-pop3d

    Ha ugyanezt nllan fut stunnel-lel szeretnnk megoldani, akkor egy ilyenparanccsal indthatjuk el az stunnel-t:

    /usr/sbin/stunnel -d pop3s -N solid-pop3d-s \-p /etc/ssl/certs/pop3.pem -l /usr/sbin/solid-pop3d

    Mindkt esetben a hosts.allow fjlban egy hasonl bejegyzsre lesz szks-gnk:

    solid-pop3d-s: localhost, .domain.hu

    Vgl telnet-ssl segtsgvel letesztelhetjk, hogy jl mukdik-e:

    $ telnet-ssl -z ssl szerverneve pop3s+OK Solid POP3 server ready USER gabor+OK username acceptedPASS titokLIST+OK scan listing follows.QUIT+OK session endedConnection closed by foreign host.

    A PEMfjlt az azonossgnak az igazolsra hasznlja az stunnel. Teleptskorgenerl egyet, de lehet, hogy ksobb szksgnk lesz arra, hogy magunknak generl-

    junk egyet. Ezt azopenssl req -new -x509 -days 365 -nodes -config stunnel.cnf \-out stunnel.pem -keyout stunnel.pem

    paranccsal tehetjk meg. Ennek hatsra az openssl egy jelsz nlkli, 365 napig r-vnyes PEM fjlt generl, az stunnel.cnf konfigurcis fjl segtsgvel. A kimenetetaz stunnel.pem fjlba fogja tenni.

    Amikre oda kell figyelni: az openssl Common Name: krdsre a szerver gp-nevt kell megadni.

    Nmelyik disztribci elfelejti az stunnel.cnf fjlt az stunnel csomagbabeletenni, ekkor letlthetjk magunknak a http://www.stunnel.org/ oldalrl.

    Lehet, hogy szksgnk lesz DiffieHellman paramterekre a PEM fjlunkhoz, eztaz

    openssl gendh 512 >> stunnel.pem

    paranccsal generlhatunk hozz.

    1.4. Behvszerver konfigurlsa

    Behvszerverre akkor lehet szksgnk, ha valakiknek modemes internet-elrst sze-retnnk biztostani.

    Behvszerver fellltshoz szksgnk lesz a pppd s az mgetty csomagokra.Ezek ltalban a disztribcik rszt kpezik, nem lesz szksgnk arra, hogy magunk-nak fordtsuk le oket. Eloszr az mgetty konfigurcijval fogunk foglalkozni.

    18

  • 8/14/2019 Linux - Karbantarts

    20/58

    1.4.1. Mgetty

    Az mgetty egy getty-szeru program, de modemekhezterveztk. Valamelyik termi-nleszkzn egy felhasznlnvre vr, s utna meghvja a login, vagy valamilyenms, bejelentkezst kezelo programot. Ezen kvl kezelni tudja a modemek kln-bzo funkciit, pldul modem inicializls, kicsrgsek szma mielott felvenn, faxfogadsa.

    Clunk az lesz, hogy a modem valahny csrgs utn fogadja a hvst, majd azmgetty elindtson egy pppd-t a soros vonalon.

    Az mgettyt a getty parancshoz hasonlan init-bol szoktk futtatni, ehhezegy hasonl sor kell a /etc/inittab fjlba:

    T1:23:respawn:/sbin/mgetty -x0 -s 115200 ttyS1

    Ez azt jelenti, hogy az init processz a kettes s hrmas futsi szinten mindig indt

    egy mgetty programot a ttyS1 soros portra, ha az elozo mgetty kilp.Lthat, hogy az mgetty parancsnak klnbzo parancssori paramterei lehet-

    nek, de ezek kzl csak azokkal fogunk foglalkozni, amelyek neknk fontosak. Ezeka kvetkezok: -s, ezzel adhatjuk meg a modem sebessgt, ezt rdemes 115200-ra l-ltani; a -n, ezzel lehet majd megmondani az mgettynek, hogy hny kicsrgs utnfogadja a hvst; a -x, ezzel llthatjuk a debug levelt, ami fontos lehet a belltskzben. Ezen kvl mg van nhny konfigurcis fjlja, amik szintn fontosak.

    /etc/mgetty/login.config : ebben a fjlban llthatjuk be, hogy milyenfelhasznl nvhez milyen login programot futtasson az mgetty. Ennek a form-tuma

    felhasznlnv felhasznlazonost utmpbejegyzs loginprogram argumentumok...

    gy ha az adott nevu felhasznl jelentkezik be, akkor az adott felhasznlazono-stval az adott program fog lefutni, s az mgetty lerak egy megfelelo bejegyzst azutmp fjlba.

    Az mgetty programnak van egy autoppp mdja, ez hasznos, mert szre tudjavenni, ha ppp dmon van a vonal msik oldaln, s el lehet vele indttatni a ppp dmontezen az oldalon. Ez a sor krlbell gy nz ki:

    /AutoPPP/ - a_ppp /usr/sbin/pppd auth -chap +pap login debug

    Ennek hatsra az mgetty az /AutoPPP/ felhasznl rzkelsekor (azaz ha pppdmon van a msik oldalon) letesz egy a_ppp bejegyzst az utmp fjlba, s meghvjaa pppd parancsot a megadott paramterekkel.

    A - felhasznlazonost hatsra az mgetty nem fog felhasznlazonostt vl-

    tani, teht a pppd is root-knt fog futni, mint az mgetty./etc/mgetty/mgetty.config : itt krlbell ugyanazokat lehet belltani

    mint a parancssorban, megadhatjuk a debug levelt, a modem sebessgt, stb. rdemesodafigyelni, hogy a modemnket csak adatmodemknt konfigurljuk, s a fax-idt kap-csoljuk ki. Ha van fax-id sorunk, kommentezzk ki. A debug levelt egy debug Xsorral llthatjuk, 0 s 9 kztt. speed XXXX opcival llthatjuk be a modem se-bessgt, a data-only yes vagy modem-type data opcival llthatjuk be,hogy nem akarunk faxot kezelni. Ha klnbzo tpus modemjeink vannak, akkorportonknt bellthatjuk ezeket, port portneve (pldul port ttyS1) sorokkalvlaszthatjuk el egymstl a klnbzo portokra vonatkoz bejegyzseket.

    Plda egy minimlis mgetty.config fjlra:

    19

  • 8/14/2019 Linux - Karbantarts

    21/58

    # Ngyes szintu nyomkvets.debug 4

    # 115200 bauddal kommuniklunk a modemmel.speed 115200# A bejelentkezs elott a /etc/issue.mgetty# fjlt kldi ki a soros vonalon.issue-file /etc/issue.mgetty# Adatmodemnk van, faxot nem akarunk.modem-type data

    Ha azt akarjuk, hogy az mgetty ne mindig vegye fel a telefont, cron segts-gvel egy /etc/nologin.ttyS1 (vagy ms, a soros portnak megfelelo nevu) fjlltrehozsval s trlsvel ezt szablyozhatjuk. Ehhez, s a kicsrgsek szmnakmegadshoz a modem automatikus hvsfogadsnak a kikapcsolshoz lehet, hogyt kell konfigurlnunk a modemet. Ehhez fel kell raknunk valamilyen terminlkezeloszoftvert, mint pldul a minicom. Ha a minicom csomagot sikerlt teleptennk sbelltanunk, akkor a

    # A modemet bobeszdure lltjuk.ATV1# Nem akarjuk, hogy a modem automatikusan# felvegye a telefont.AT&M1# Elmentjk a modem konfigurcijt.AT&W

    parancsokkal ki tudjuk kapcsolni az automatikus telefonfelvtelt, be tudjuk kapcsolni amodem bobeszdu mdjt, hogy az mgetty tudja, hogy mikor csrg ki a modem,s vgl elmentjk a belltsokat.

    Az AT&M1 helyett lehet, hogy az AT&M3 parancsra lesz szksgnk az automatikustelefonfelvtel letiltsra.

    1.4.2. PPPD

    A PPP (Point to Point Protocol) segtsgvel lehet soros, vagy ms pont-pont felptsuvonalon hlzati kommunikcit megvalstani. A pppd egy PPP vonal menedzsel-shez szksges klnbzo szolgltatsokat nyjtja, mint pldul a vgpontok kztiauthentikci, kommunikcis paramterek, tmrts, stb. belltsa.

    Ahhoz, hogy a modemes behvszervernk mukdjn, minimlisan a k-vetkezo szoftverekre lesz szksg: egy kernel soros port s ppp tmoga-tssal, mgetty s pppd. Az utbbi kt szoftver verzijt rdemes akernel-forrs/Documentation/Changes fjlban lert verziszmhoz iga-ztani, klnben problmkba tkzhetnk.

    A pppd a konfigurcijt a /etc/ppp/options , a ~/.ppprc s a

    /etc/ppp/options.terminlnv fjlokbl szedi, ahol a terminlnv a termi-nl neve, amit a pppd parancsnak a parancssorban megadtunk. A fjlok megvizsg-lsa utn a parancssort nzi meg.

    A konfigurls elgg egyszeru lesz. Kitltjk a /etc/ppp/options fjlt, jel-szavakat adunk a felhasznlknak, krlbell ennyi az egsz.

    # Az /etc/ppp/options krlbell gy nz ki:#### Sima soros vonalunk van, nem kell semmilyen karaktert# klnlegesen kezelni.asyncmap 0# A kliensnek authentiklnia kell magt, ha pppt akar# hasznlni.auth# Csak chap ("kihvsos") authentikcit hasznlunk,

    20

  • 8/14/2019 Linux - Karbantarts

    22/58

  • 8/14/2019 Linux - Karbantarts

    23/58

    kapja meg hozz. Ennek hatsra a kliensnek sznt hlzati csomagok eloszr eljut-

    nak a szerverhez, majd az tovbbroutolja oket a klienshez. A routols jl fog mukdni,mert a kernel mindig a pontosabban megadott tvonal fel fogja kldeni a csomago-kat, teht a 255.255.255.255-s hlzati maszk ppp linkrl a csomagok jl tjutnak a(mondjuk) 255.255.255.0-s klso hlzat fel, annak ellenre, hogy a kliens IP cme aklso hlzatnak is rszt kpezi.

    IP cm hozzrendelse soros vonalakhoz: tegyk fel, hogy kt soros vonalunk van,ttyS0 s ttyS1. Ekkor az inittab pldul gy fog kinzni:

    ...T0:23:respawn:/sbin/mgetty -x0 -s 115200 ttyS0T1:23:respawn:/sbin/mgetty -x0 -s 115200 ttyS1...

    Ekkor a megfelelo opci fjlok kitltsvel elrhetjk, hogy a kt soros vonalonfut pppd ms IP cmet kapjon:

    #/etc/ppp/options.ttyS0#192.168.10.10:192.168.22.33#/etc/ppp/options.ttyS1#192.168.10.11:192.168.22.34

    A pppd klnbzo szkripteket futtat a ppp kapcsolat kezdetekor s vgekor, ezek-kel sok mindent meg lehet oldani, pldul tuzfal tkonfigurls, forgalommrs. Apppd a /etc/ppp/ip-up szkriptet futtatja amikor a ppp link hasznlhatv vlik,s az /etc/ppp/ip-down szkriptet, amikor a kapcsolatnak vge szakad. Hason-lan futtatja le az /etc/ppp/auth-up s a /etc/ppp/auth-down szkripteket,ha volt authentikci. Ezeket a programokat klnbzo paramterekkel s krnyezettel

    futtatja le, amikbol a ppp link klnbzo paramtereit tudhatjuk meg:Krnyezeti vltozk, amiket a szkriptek megkapnak:

    DEVICE A terminleszkz neve amit a pppd hasznl.

    IFNAME Az interfsz neve amit a pppd hasznl. Pldul ppp0, ppp1.

    IPLOCAL A link loklis felnek IP cme.

    IPREMOTE A link tvoli felnek IP cme.

    PEERNAME A msik oldal neve, ha trtnt authentikci.

    SPEED A vonal sebessge.

    ORIG_UID, PPPLOGNAME A ppp dmont futtat felhasznl eredeti felhasznl-azonostja s felhasznlneve.

    Az ip-down s ip-up szkriptek mg ngy vltozt kapnak:

    CONNECT_TIME A kapcsolat hossza msodpercben.

    BYTES_SENT A soros porton elkldtt byte-ok szma.

    BYTES_RCVD A soros vonalon fogadott byte-ok szma.

    LINKNAME A link logikai neve. A linkname kulcsszval lehet valamelyik opci-fjlban belltani.

    22

  • 8/14/2019 Linux - Karbantarts

    24/58

    Parancssori argumentumok, amiket a szkriptek a pppd parancstl kap-

    nak: a /etc/ppp/auth-up s a auth-down szkriptek az interfsz-nv,msikoldal-neve, felhasznl-nv, terminl-eszkz, sebessg paramtereket kapjk, a/etc/ppp/ip-up s ip-down szkriptek pedig az interfsz-nv, terminl-eszkz,sebessg, loklis IP cm, tvoli IP cm, ipparam paramtereket kapjk meg. Azipparam egy sztring, amit valamelyik opcifjlban adhatunk meg, de ez nem k-telezo.

    1.4.3. PPP ssh felett

    Nha szksg lehet arra, hogy kt vagy tbb tvoli gp kztt biztonsgos adatfor-galmat bonyolthassunk gy, hogy az egy nem megbzhat hlzaton megy t. Ezzelgynevezett VPNt (Virtual Private Network) alakthatunk ki pldul kt iroda kzt.

    Ilyenek kialaktst sokflekppen meg lehet oldani, s sok szoftvermegolds lte-

    zik erre, pldul a tunnelv, a vpnd, a vtun, vagy akr pppt is tkldhetnk sshfelett.

    Mivel mr a ppprol s az ssh csomagrl is volt sz, most ezt ismertetem. A konfi-gurci jval egyszerubb lesz, mint a behvszerver esetben. Nem kell trodni a pppauthentikcival, vagy hogy melyik soros vonalat hasznlja majd a ppp.

    A link kt vgt az rthetosg kedvrt hvjuk kliensnek s szervernek. A kliensoldal fog ssh parancsot hvni, amit a szerver oldali sshd fogad.

    A dolog gy fog m ukdni, hogy a pppd a kliensen indulskor ssh segtsgvelbejelentkezik a szerverre, s ott elindt egy msik pppd parancsot. Ezzel meg is van a

    ppp link kt vge. A routolson, csomagszursen (ha erre szksg van) a kt oldalon a/etc/ppp/ip-up s a /etc/ppp/ip-down segtsgvel lehet mg finomtani.

    Eloszr mindkt oldalon be kell konfigurlni a pppd csomagot. Ehhez egy

    /etc/ppp/peers/partnerneve opci-fjlt kell kitltennk, ehhez hasonlan:# A kliens konfigurcija.## Amg teszteljk, addig rdekelnek az zenetek.debug# Authentikci nem kell.noauth# Nem akarjuk, hogy a pppd a httrbe forkoljon.nodetach# A "soros vonalon" nem modem l, hanem egy ssh.local# Megadjuk a link loklis s tvoli IP cmt.192.168.22.23:192.168.23.23# Kikapcsoljuk az sszes tmrtst.bsdcomp 0novjnovjccompdeflate 0

    nopredictor1# Kikapcsoljuk a proxy arp-t.noproxyarp# Terminlnv helyett a pty opci# segtsgvel egy program nevt adjuk meg.## Ennek hatsra a pppd lefoglal egy terminlt gy, hogy# a terminl egyik vgn a pppd, a msikon a program# (itt az ssh) lesz. gy a pppd az sshn keresztl# fogja a Point-to-Point protokollt megvalstani.pty "/usr/bin/ssh -e none -t -i /root/.ssh/szerverppp root@szerver"# Az ssh a -t kapcsol hatsra lefoglal egy terminlt# a msik oldalon, a -e none hatsra pedig letiltja# a ~. karakterkombincival trtno kapcsolatbontst.

    A fjl neve legyen mondjuk /etc/ppp/peers/proba1 .

    23

  • 8/14/2019 Linux - Karbantarts

    25/58

    A szerveren a pppd konfigurcija ehhez nagyon hasonl. A klnbsg annyi,

    hogy az IP cmeket fell kell cserlni, s nem kell a pty. . . sor. A fjl neve itt/etc/ppp/peers/proba2legyen.Ezek utn jhet az ssh konfigurlsa. Generlnunk kell egy jelsz nlkli RSA

    kulcsot a kliensen, legyen ennek a neve /root/.ssh/szerverppp. Ha ez meg-van, a kulcs publikus felt t kell vinni a szerverre.

    A szerveren a kulcs publikus felt le kell tenni a/root/.ssh/authorized_keys2 fjlba a mr korbban ismertetett m-don. A fjlt ezutn kzzel mdostjuk, hogy csak pppt lehessen futtatni ezzel akulccsal:

    from="szerver_neve",command="/usr/sbin/pppd call proba2" AAAAB3NzaC1yc2EAAA...# Ezt a kulcsot csak a szerverrol engedjk,# csak /usr/sbin/pppd call proba2-t futtathat.

    A szerveren a PAMot rdemes gy belltani, hogy bejelentkezskor semmit serjon ki, mert az megzavarja a pppt. Ehhez a /etc/pam.d/ssh fjlbl ki kell kom-menteznnk a

    session optional pam_lastlog.so,

    session optional pam_motd.so, s a

    session optional pam_mail.so

    sorokat, ha van benne ilyen. Ezeknek a jelentsrol ksobb lesz sz.Vgl, ha minden megvan, a kliensen pppd call proba1 paranccsal indthat-

    juk a pppt. Ennek hatsra a kliensen a pppd a /etc/ppp/peers/proba1 fjlblfogja felszedni a parancsokat,meghvja az ssh parancsot, s a szerver oldalon elindtja

    a pppd call proba2 parancsot. A kapcsolat bontshozHUP szignlt kldhetnka pppd-nek, a kill parancs segtsgvel.

    Ha azt akarjuk, hogy a ppp linknk mindig biztosan menjen, a /etc/inittabfjlba tehetnk egy bejegyzst, hogy az init mindig jraindtsa, ha lell. Ez a be-

    jegyzs pldul gy nzhet ki:

    # A 2-es s 3-as futsi szinten, P0 azonostval# menjen a pppd, s induljon jra ha meghal. A P0# helyett ms, tetszoleges azonostt is hasznlhatunk.P0:23:respawn:/usr/sbin/pppd call proba1

    Ezutn egy killall -HUP init parancsot kiadva mr megy is a pppd.

    1.5. Felhasznli eroforrsok korltozsa1.5.1. Ulimit

    Az ulimit egy shell interfsz a kernel eroforrs-korltoz hvsaihoz.Az ulimit segtsgvel klnbzo eroforrsokat korltozhatunk, mint pldul

    a maximlisan felhasznlhat CPU idot, maximlisan felhasznlhat memrit. Azulimit funkcionalitst vagy shellbol az ulimit hvssal lehet hasznlni, vagysetrlimit() rendszerhvssal a programjainkban. Mivel az ulimit shell pa-rancs, shellenknt vltozhat a szintaxisa.

    Bash ulimit hasznlata: az ulimit paranccsal lehet belltani a klnbzoparamtereket. Kemny s puha korltokat klnbztethetnk meg, a kemnyet

    24

  • 8/14/2019 Linux - Karbantarts

    26/58

    nem lehet nagyobbra mdostani ha egyszer belltottuk, a puht a kemny hatr

    elrsig mdosthatjuk felfel is.A legfontosabb hatrok valsznuleg a hasznlhat memria mennyisgt korltoz-zk, ezek a kvetkezok:

    -l segtsgvel megadhatjuk, hogy mennyi memrit jellhet nem swapelhetonek aprocessz;

    -m segtsgvel megadhatjuk a munkahalmaz maximlis mrett (azaz krlbell azt,hogy egy processznek mennyi fizikai memria jut);

    -s segtsgvel a maximlis stack mretet adhatjuk meg;

    -v a maximlis virtulis memria mretet szablyozhatjuk.

    Ezek kzl sajnos nem mindegyik mukdik gy, ahogy az ember vrn, j vigyznivelk, s letesztelni oket, mielott lesben hasznlnnk. Ennek ellenre rdemes foglal-kozni velk, ilyen korltozsok nlkl loklis felhasznlk knnyen lefoghatnak egygpet.

    Msik hrom fontos kapcsol a

    -n ezzel korltozhatjuk a nyitva tarhat fjlok maximlis szmt;

    -t ezzel korltozhatjuk, hogy egy processz mennyi gpidot kap, ha ezt tllpi, akkoregy szignlt kap, amitol kilp;

    -u az egy felhasznlra jut processzek maximlis szmt hatrozhatjuk meg.

    Egy plda a CPU ido korltozsra:

    # Indtunk egy bash shellt.$ bash# 10 msodperc gpidot adunk neki.$ ulimit -t 10# Shell vgtelen ciklus, hogy felzablja# a 10 msodperct.$ while :; do :; done# Kifutott az idobol, a rendszer lelotte.zsh: killed bash

    1.5.2. PAM

    A PAM (Pluggable Authentication Modules) egy szoftverrendszer, aminek a segts-gvel rugalmas felhasznl-authentikcit lehet megvalstani Linuxon (s ms rend-

    szereken). A hangsly a rugalmassgon van, PAMsegtsgvel ugyanaz az alkalmazsauthentiklhat a szoksos password fjlbl, LDAP adatbzisbl, mysql adatbzisbl,stb. anlkl, hogy az alkalmazson brmit is vltoztatni kellene.

    Pldul az ftp, pop3, ssh dmonok ltalban mind PAMot hasznlnak az aut-hentikci elvgzshez.

    A PAMa bejelentkezssel kapcsolatos klnbzo funkcikat valstja meg, ezek azauthentikci, a felhasznl kiltnek megllaptsa, az account menedzsels (ezzelegyb korltozsokat lehet mg az authentikci mell definilni), a session mene-dzsels (ez a session megkezdse elott s utn fut le, s klnbzo adminisztrcisfunkcikat lt el, mint pldul naplbejegyzsek rsa). A negyedik ilyen funkci a

    jelszmenedzsels.

    25

  • 8/14/2019 Linux - Karbantarts

    27/58

  • 8/14/2019 Linux - Karbantarts

    28/58

    Alaprtelmezett belltsok: a PAM az alaprtelmezett belltsait a

    /etc/pam.d/other fjlban tartja. Ha egy szolgltatsnak nem adunk klnkonfigurcis fjlt, akkor ezt fogja hasznlni. Ezt rdemes gy belltani, hogy senkitse engedjen be:

    auth required pam_deny.soaccount required pam_deny.sosession required pam_deny.sopassword required pam_deny.so

    Majd ki lehet egszteni pam_warn.so modulokkal, mert a pam_deny nem kldsemmilyen hibazenetet.

    Ha kizrtuk magunkat.. . , a szmtgpet single usermdban jraindtva ki tudjukjavtani a hibt.

    A leggyakrabban hasznlt modulok:

    pam_access Ez a modul a /etc/security/access.conf konfigurcis fjlalapjn, a felhasznli nv s a terminl nv, vagy a tvoli gp (ahonnan pldulaz ssh parancsot indtottk) alapjn enged vagy nem enged be felhasznlkat.Tipikus felhasznls:

    account required pam_access.so

    pam_cracklib Ez a modul a cracklib knyvtr segtsgvel megprblja feltrni ajelszt, hogy ellenorizze, elg eros-e. Klnbzo ellenorzseket hajt vgre ajelszn. Tipikus hasznlata:

    password required pam_cracklib.so retry=3 minlen=6 difok=3password required pam_unix.so use_authtok nullok md5

    Paramterei: retry= megadja, hogy hnyszor fog megprblni j jelszt krnia felhasznltl. minlen= a jelsz minimlis hosszt adja meg. dcredit=,ucredit=, lcredit=, ocredit=: ezek azt adjk meg, hogy mennyit sz-mt, ha szmjegy, nagybetu, kisbetu, vagy egyb karakter van a jelszban. Pl-dul nagybetuk esetben plusz eggyel szmt az sszes nagybetu, amg a meg-adott szmtl kevesebb nagybetu van a jelszban. A difok= paramter aztmondja meg, hogy legalbb hny karakternek kell msnak lennie az j s rgi

    jelszban (de ha a karaktereknek legalbb a fele klnbzo, azt mindenkppenelfogadja). Ez a modul tmogatja az erosebb MD5s jelszavak hasznlatt.

    pam_deny Ez a modul minden krst visszautast, nem enged bejelentkezni, jelsztvltoztatni, stb. Hasznlata:

    account required pam_deny.so

    pam_env Ez a modul krnyezeti vltozkat tud belltani. Ehhez a/etc/environment vagy a /etc/security/pam_env.conf fjlthasznlja. A /etc/environment egyszeru vltoznv=rtk prok-bl ll, ezzel szemben a /etc/security/pam_env.conf sszetettebbvltozbelltst enged meg: egy krnyezetivltozhoz megadhatunk DEFAULTs OVERRIDE rtkeket. A vltoz a DEFAULT rtket veszi fel, kivve, ha azOVERRIDEknt megadott sztring nem res. Ebben az esetben a vltoz rtkeaz adott sztring lesz. Tipikus hasznlata:

    27

  • 8/14/2019 Linux - Karbantarts

    29/58

    auth required pam_env.so

    Minimlis plda konfigurcis fjl:

    # /etc/security/pam_env.confDISPLAY DEFAULT=${REMOTEHOST}:0.0 OVERRIDE=${DISPLAY}

    Megjegyzsek: megadhatunk ms fjlokat a /etc/environment s a/etc/security/pam_env.conf fjl helyett az envfile=fjlnv sa conffile=fjlnv modulparamterekkel.

    pam_ftp Ezen modul segtsgvel anonymous ftp, vagy ms hasonl szolgltatstvalsthatunk meg. Ha anonymous vagy ftp felhasznlknt prblunk be-lpni, akkor a felhasznlnevet ftpre lltja s beenged. Egybknt a megadott

    felhasznlnevet s jelszt bkn hagyja, s hibajelzssel tr vissza (aminekhatsra egy msik modul folytathatja az authentikcit mondjuk a szoksos/etc/password fjlbl.) Tipikus hasznlata:

    # /etc/pam.d/ftpauth sufficient pam_ftp.soauth required pam_unix.so use_first_pass

    pam_group Ez a modul a felhasznl ltal hasznlt terminl, a felhasznl neve s azido alapjn extra csoportazonostkat ad a felhasznl processzeinek. A konfi-gurcis fjlja a /etc/security/groups.conf . A fjl szerkezete:

    szolgltatsnv;terminlok;felhasznlk;ido;csoportok

    Ahol a szolgltatsnv a PAMot hasznl szolgltats neve, a terminloka hasz-nlt terminl neve, a felhasznlk a felhasznlk listja, a csoportok pedig azextra csoportazonostk, amiket a felhasznl megkap, ha az elobb emltett fel-ttelek teljeslnek. A listk logikai listk, az idot kivve &, |, ! opertorokkallehet belolk logikai kifejezseket alkotni. Az idot intervallumknt lehet meg-adni, ahol a napokat az angol nevk szerint Mo Tu We Th Fr Sa Su jelli,Al jelenti a ht minden napjt, Wk a htkznapokat, Wd a htvgt. Haegy napot ktszer adunk meg, akkor az tagadst jelent. Pldul ha minden lo-klis felhasznlnak floppy s hangkrtya hasznlati jogot akarunk adni akkor a/etc/security/groups.conf fjlba egy ilyen bejegyst tehetnk:

    login|gdm;tty*&!ttyp*;*;Al0000-2400;floppy, audio

    Ez azt jelenti, hogy a gdm s login szolgltatsokra, a tty* portrl (de nem attyp* portokrl) jvo felhasznlk mindig megkapjk az extra floppy s audiocsoportazonostkat. Tipikus PAMbejegyzs:

    auth required pam_group.so

    pam_issue Ez a modul hozzadja a /etc/issue fjlt a felhasznlnevet krdezoprompthoz. Hasznlata:

    auth required pam_issue.so

    28

  • 8/14/2019 Linux - Karbantarts

    30/58

    pam_lastlog Ez a modul kezeli a /var/log/lastlog fjlt, a sessionk elejn s

    vgn letesz egy-egy bejegyzst ebbe a fjlba, illetve bejelentkezskor ki tudjarni, hogy honnan trtnt az utols bejelentkezs. Hasznlata:

    session required pam_lastlog.so

    Paramterei:

    debug debug informci rsa a syslog dmonon keresztl;

    nodate, noterm, nohost ne rja ki az utols bejelentkezs idejt, a hozz tartozterminlt, s/vagy a tvoli hostot;

    silent semmit se rjon ki;

    never ha a lastlog fjl alapjn gy ltja, hogy a felhasznl mg egyszer sem

    volt bejelentkezve, akkor egy dvzlo szveget fog kirni neki.pam_limits Ezzel az ulimit parancsnl megismert korltozsokat lehet felhaszn-

    lnknt automatikusan belltani. Hasznlata:

    session required pam_limits.so

    Ez a modul a konfigurcijt a /etc/security/limits.conf fjlbantartja. A fjl szerkezete:

    kit_korltozunk hard_vagy_szoft mit_korltozunk korlt_rtkefelhasznlnv/@csoportnv/* soft/hard/- korltozandk rtk

    Ahol a kit_korltozunkegy felhasznl neve, egy @csoportnvvel megadott cso-port neve, vagy * esetn mindenki lehet, a hard_vagy_szofthard, soft vagy --lehet, ha a kt korltot egyszerre akarjukbelltani, a mit_korltozunkpedig core,data, fsize, memlock, nofile, rss, stack, cpu, nproc, as, maxlogins, priority kzllehet egy aszerint, hogy mit akarunk korltozni. A korlt_rtke az eroforrs-hasznlat felso korltjt adja meg. Teht az adott nevu vagy adott csoportbatartoz felhasznl (vagy * esetn mindenki) soft, hard limitjt (vagy mindkettota -- esetn) llthatjuk gy be. Az egyni limitek fellbrljk a csoportlimite-ket. Ha nem adjuk meg a korltozand eroforrs nevt s rtkt, s a soft vagyhard helyn egy -- van, akkor az adott felhasznlk semmilyen korltozst nemfognak kapni. Fontos tudni, hogy ezek a limitek bejelentkezsenknti limitek,ha ktszer jelentkezik be a felhasznl prhuzamosan, akkor pldul dupla annyiprocesszt futtathat egyszerre.

    pam_nologin A /etc/nologin fjl ltezse esetn csak a root felhasznlt fogjabeengedni, a tbbieknek csak megmutatja a /etc/nologin tartalmt. A he-lyes mukds rdekben ennek a modulnak az auth sufficient ... mo-dulok elott kell szerepelnie. Hasznlata:

    auth required pam_nologin.so

    pam_securetty Ez a modul a root felhasznlt csak a /etc/securetty fjlbanfelsorolt terminlokrl engedi bejelentkezni. Hasznlata:

    auth required pam_securetty.so

    29

  • 8/14/2019 Linux - Karbantarts

    31/58

    pam_time Ennek a modulnak a segtsgvel a felhasznlk bejelentkezst ido-

    hz, terminlhoz s szolgltatshoz kthetjk. A modul konfigurcis fjljaa /etc/security/time.conf , melynek hasonl a szerkezete, mint a/etc/security/groups.conf fjl. A klnbsg annyi, hogy itt nemadhatunk meg extra csoportokat, s ha a felttelek nem teljeslnek, akkor a fel-hasznl egyltaln nem tud bejutni. Egy plda a konfigurcis fjlbl:

    su;tty* & !ttyp*;you|me;!Al0000-2400

    Ezzel a you s me felhasznlk a tty* terminlokon sosem hasznlhatjk a suszolgltatst. Hasznlata:

    account required pam_time.so

    pam_unix Ez a modul a szoksos UNIX /etc/password s /etc/shadow fjl-bl authentiklja a felhasznlkat; ezt minden rendszeren hasznlni szoktk. Be-

    jelentkezskor ellenorizni tudja a klnbzo shadow-paramtereket, mint pl-dul utols jelsz vlts. Ehhez az account ellenorzshez tipikusan egy ilyenbejegyzs kell:

    account required pam_unix.so

    Authentikci esetn a modul kezelni tudja a mr korbban emltetttry_first_pass s use_first_pass paramtereket, illetve van mgegy nodelay paramtere, aminek hatsra nem fog vrni az ism-telt prblkozssal, ha a felhasznl jelszava vagy felhasznli neve

    nem volt megfelelo. Authentikcinl tipikusan gy szoktk hasznlni:auth required pam_unix.so Jelszvltskor a modulnak elg sokparamtere lehet, kztk ott van a szoksos try_first_pass s ause_first_pass, a tbbi fontosabb paramter: md5 ennek hatsra a mo-dul md5tel fogja titkostani a jelszt, a gyengbb UNIX-os crypt() helyett. Eztrdemes hasznlni, de kompatibilitsi problmkat okozhat pldul heterogn

    NIS hlzat esetn. A use_authtok hatsra a modul minden esetben az otmegelozo modul ltal belltott jelszt fogja hasznlni. A not_set_pass ha-tsra a modul figyelmen kvl hagyja a korbbi modulok ltal belltott jelszt,s az ltala beolvasott jelszt sem fogja tovbbkldeni a kvetkezo moduloknak.A remember= paramter hatsra a modul a /etc/security/opasswdfjlba visszamenoleg adott szm jelszt eltrol, s megakadlyozza, hogy a fel-hasznl ezek kzl vlasszon jra egyet. Vgl a nullok paramter hatsraengedni fogja a jelszvltoztatst akkor is, ha a rgi jelsz res volt. A jelsz-menedzselo md hasznlata ezek utn valami ilyesmi lehet:

    password required pam_unix.so md5 nullok

    Vgl a session menedzsmentrol: a pam_unix modul egyszeruen csak logoljaa session elejt s vgt a syslog dmonon keresztl. Hasznlata:

    session required pam_unix.so

    lljon itt egy plda egy egyszeru PAM belltsra az ssh parancshoz:

    30

  • 8/14/2019 Linux - Karbantarts

    32/58

  • 8/14/2019 Linux - Karbantarts

    33/58

    touch /home/quota.user /home/quota.group; chmod 600 /home/quota.user /home/quota.group

    Ezutn ha minden megvan (a kernel tudja a quott, az fstab rendben van, sa quota.* fjlokat is megcsinltuk), elindthatjuk a fjlrendszerek quota ellenorzsta quotacheck -avug paranccsal. Ez kitlti a quota.user s quota.groupfjlokat. Ezt rdemes olyankor futtatni, amikor a rendszer msra nem hasznlja az adottfjlrendszereket, klnben az adatok pontatlanok lesznek. Ezek utn bekapcsolhatjuka quott a quotaon -avug paranccsal.

    Ezeknl a parancsoknl a kapcsolk a kvetkezoket jelentik:

    -a az adott parancs nzze vgig az sszes quotzott fjlrendszert;

    -v legyen bobeszdu, futs kzben informljon arrl, hogy mit csinl;

    -u a felhasznlk quotjval (is) foglalkozzon(kapcsolja ki, be, vagy pedig ellenorizze

    azt);

    -g a csoportok quotjval (is) foglalkozzon.

    Shutdownkor a rendszer automatikusan le fogja futtatni a quotaoff -aug pa-rancsot, hogy kikapcsolja a quott. Enlkl a quota.* fjlok lehet, hogy nem a legfris-sebb adatokat fogjk tartalmazni. Ezt a quotacheck futtatsval korriglhatjuk.

    A felhasznlk quotjnak belltsa

    A felhasznlk quotjt az edquota paranccsal llthatjuk, interaktvan vagy auto-matikusan. Interaktv bellts esetn edquota -u felhasznlnv ... se-gtsgvel llthatjuk be a felhasznlk quotit, edquota -g csoportnv ...

    segtsgvel pedig a csoportok quotit. Tbb felhasznl s csoportnevet is megadha-tunk egy parancssorban.

    Megadhatjuk a soft s hard hatrokat, illetve a grace timeot. A soft limit tl-pse esetn a rendszer figyelmezteti a felhasznlkat, hogy tl sok helyet foglalnak,de engedi, hogy tovbb folytassk a helyfoglalst egszen a hard limitig, vagy amggrace time-nyi ido el nem telik a soft limit tlpstol kezdve.

    A hatrokat megadhatjuk kln a blockok szmra (egy block 1024 byte), illetve afjlok (inodeok) szmra. Interaktv mdban az EDITOR krnyezeti vltoz megfelelobelltsval vlaszthatunk szvegszerkesztot a munkhoz.

    Nem interaktv mdban az

    edquota -p prototpusfelhasznl -u felhasznlnv ...

    s azedquota -p prototpuscsoport -g csoportnv ...

    parancsokkal egy prototpus felhasznl vagy csoport quotjval inicializlhatjuk atbbi felhasznl vagy csoport quotjt.

    Quota lekrdezsek

    A quota paranccsal le lehet krdezni a felhasznlk vagy csoportok quotjt, -u kap-csolval a felhasznlkt, a -g-vel a csoportokt. A repquota paranccsal fjlrend-szerenknt lehet lekrdezseket csinlni; ez jval gyorsabb, mint ha a felhasznlkategyesvel krdezgetnnk le.

    32

  • 8/14/2019 Linux - Karbantarts

    34/58

    Egyb megjegysek

    Jelenleg quott a (hasznlhat minosgu) linuxos fjlrendszerek kzl csak az XFS saz ext2 tmogat, ReiserFShez elrhetok kiegsztsek.

    1.6. Teljestmny javtsa

    1.6.1. A teljestmny mrse

    Mielott elkezdennk hangolni a rendszernket, fell kell derteni, hogy mivel lehet(majd) problma.

    Ehhez vannak klnbzo benchmark programok, amivel j esetben hasonl ter-helst tudunk elolltani, mint amilyennel a rendszernknek meg kell majd birkz-nia. Apachehoz van Apachebench (ab, ltalban az apache csomag rsze), aPostfix csomaggal is jn benchmark program, illetve ilyeneket a hlzatrl is lelehet tlteni.

    Alacsonyabb szintu merevlemez benchmark rengeteg van, ilyenek a bonnie,bonnie++, iozone. Velk vigyzni kell, nem biztos, hogy a rendszer azon para-mtereit mrjk meg, amelyekre kvncsiak vagyunk.

    Mikzben benchmarkoljuk a rendszernket, vmstat-tal, ps-sel illetve top-palfigyelhetjk, hogy mit is csinl, milyen clra mennyi gpidot hasznl el.

    A vmstat segtsgvel elg jl el lehet dnteni, hogy a rendszernknek holvan a sz uk keresztmetszete, mit rdemes bovteni ahhoz, hogy javtsunk a teljestm-nyn. A hlzat terhelst akr ifconfig segtsgvel is nzhetjk, vagy inkbb a/proc/net/dev elemzsvel. Ha a hlzat 100%-ig terhelve van, a processzor sa diszk viszont nincs annyira, akkor azon kell vltoztatnunk, stb. Amire rdemes mg

    odafigyelni, az a swap. Egy fjlszervernek nem szabad aktvan swapelnie.

    1.7. Megfelelo hardver

    1.7.1. A merevlemezek

    Ha a szervernk I/O intenzv feladatokat fog vgezni, mint pldul egy fjlszerver(ebbe a kategriba sorolhat a statikus lapokat kiszolgl www szerver, ftp szerver,samba s az elektronikus levelezs is), akkor a vrt forgalomtl fggoen rdemes SCSImerevlemezeket hasznlni.

    Az IDEs SCSImerevlemezek sebessge kzt manapsg egyre cskken a klnb-sg, de alapvetoen ms architektrjuk miatt az IDE merevlemezek kezelse tbb g-

    pidot eszik, mint az SCSIk, ami egy nagy forgalm szerveren problmt jelenthet.A forgalmat nagyon nehz elore megbecslni, nem lehet tudni, hogy pldul egywww szerver sikeres lesz-e, ezrt ha csak a legkisebb eslyt is ltjuk, hogy a forgalommegnohet, vegynk SCSIt.

    Az SCSI tovbbi elonye, hogy egy SCSI vezrlo tbb eszkzt tud meghajtani mintegyIDEvezrlo, ezt is rdemes figyelembe venni. Ha mg tbb pnznk van, vehetnkvegszlon kommunikl, Fibre Channel merevlemezeket, de ezek nagyon drgk.

    Ha lehet tbb merevlemezt vegynk, s szervezzk gy az adatainkat, hogy a terhe-ls megosztdjon a lemezek kzt. Legalbb hrom rszre sztbonthatjuk az adatainkat:a / s egyb olyan fjlrendszerekre, amikhez nem nagyon nyl hozz a rendszer, afjlrendszerre, ahov a naplbejegyzsek kerlnek, s vgl a fjlrendszerre, ahonnan

    33

  • 8/14/2019 Linux - Karbantarts

    35/58

    az adatokat szolgltatjuk. Ezek kzl az utbbi kt fjlrendszer lesz I/O intenzv, rde-

    mes oket kln merevlemezekre tenni.

    1.7.2. Hlzati krtya

    Hlzati krtyknl nagyon fontos a megbzhatsg. Mindenkppen olyan krtyt ve-gynk, aminek j neve van a linuxozk krben. Nem rdemes NE2000 klnnal nagyterhelsu szervert zemeltetni.

    rdemes olyan krtyt venni, ami tud hardveres ellenorzosszeg-szmtst csinlni,s ezt a linux kernel ki is hasznlja, mert nagy forgalom esetn ez komoly terhet vesz lea processzorrl. Ezekkel megvalsthat olyan halzatkezels, hogy a hlzatra kike-rlo adatok egyszer sem mennek t a processzor buszn. Ilyen pldul a 3Com 905C,s a gigabit ethernet krtyk.

    A hlzati krtyk ezen kpessgeinek kihasznlshoz megfelelo, a sendfile rend-

    szerhvst tmogat szoftver kell. Az ftp szerver szoftverek kzl ilyen pldul avsftpd s a proftpd.

    1.7.3. Processzor

    Terhelstol fggoen eros processzorra lehet szksg. Sima statikus fjlszerver esetn, amegfelelo hardveres krtssel egy gyengbb processzor is nyugodtan brni fogja a ter-helst, de pldul dinamikus lapokat kiszolgl www szerver esetn a hatr a csillagosg. rdemes lehet tbb processzorban gondolkozni.

    Oda kell figyelni a processzor cache mretre, s a processzorbusz sebessgre.Ha ezek tl kicsik, a rendszer nem lesz j teljestmnyu. Negatv pldaknt rdemesmegemlteni a rgi, msodszintu cache nlkli Celeronokat.

    1.7.4. Memria

    Memribl rdemes annyit venni, hogy boven elfrjenek benne a futtatott alkalmaz-sok, fjlszerver esetn pedig rengeteg fjlt tudjon a memriban tartani, a gyors elrsrdekben.

    A memria sebessgt rdemes a processzorhoz igaztani. Egy 1 Gi-gabyte/msodperces processzor-busszal rendelkezo (Intel PentiumIII) processzorhozteljesen felesleges mregdrga, 3.2 Gigabyte/msodpercesRambus RAMot venni.

    1.8. Szoftveres teljestmnyjavts

    1.8.1. Megfelelo fjlrendszer-tpus kivlasztsa

    Elg sok fajta linuxos fjlrendszer van, ezek kzl legalbb hrom hasznlhat mino-sgu: a rgi ext2, a Reiserfs, s az SGI-fle XFS.

    Az ext2 nagyon j teljestmnyu nagy fjlok esetn, illetve amg a knyvtrakbankevs fjl van. Nagyon kevs gpidot fogyaszt. J blokklefoglal algoritmusa miattnem nagyon tredeznek a fjlok. Htrnya, hogy ha sok fjl kerl egy knyvtrba na-gyon lelassul, illetve nem naplzott, azaz ramsznet vagy rendszersszeomls esetnfsck-zni kell. Adatbzisokhoz valsznuleg ez a legjobb.

    A Reiserfs egy jabb fjlrendszer, nagyon jl kezeli a sok fjl egy knyvtr-ban esetet, naplzott, rendszersszeomls utn nem kell fsck-zni (ennek ellenre

    34

  • 8/14/2019 Linux - Karbantarts

    36/58

  • 8/14/2019 Linux - Karbantarts

    37/58

    1.8.4. IDE merevlemez finomhangolsa

    A hdparm program segtsgvel sok belltst elvgezhetnk IDE merevlemezeken.Bekapcsolhatjuk a DMA mdokat, stb.

    Ugyanakkor elrontott bellts adatvesztst okozhat, vatosnak kell lenni vele.A hdparm -Tt /dev/hda parancs segtsgvel lemrhetjk a merevlemez t-

    viteli sebessgt, ezt hasznlhatjuk vltoztatsaink hatsnak mrshez. Az elso szma rendszer fjl-cachnek a sebessge, ez nem fog vltozni. A msodik a merevlemezmaximlis tviteli sebessge, ezen tudunk vltoztatni. A kimenete vrhatan gy fogkinzni:

    $ hdparm -Tt /dev/hdc

    /dev/hdc:Timing buffer-cache reads: 128 MB in 0.77 seconds =166.23 MB/secTiming buffered disk reads: 64 MB in 3.46 seconds = 18.50 MB/sec

    A hdparm segtsgvel a merevlemez belltsait, s egyb merevlemez inform-cit is lekrdezhetnk. Ha a hdparm kapcsolihoz nem adunk paramtert, akkor azltalban a belltsok lekrdezst jelenti. A -i kapcsolval a merevlemez booto-lskor kiolvasott belltsait nzhetjk meg, ennek segtsgvel dnthetjk el, hogyegyltaln mit tud a merevlemeznk.

    $ hdparm -i /dev/hda

    /dev/hda:

    Model=QUANTUM FIREBALLlct10 10, FwRev=A03.0900, SerialNo=872012259666Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }RawCHS=16383/16/63, TrkSize=32256, SectSize=21298, ECCbytes=4BuffType=3(DualPortCache), BuffSize=418kB, MaxMultSect=16, MultSect=16DblWordIO=no, OldPIO=2, DMA=yes, OldDMA=2

    CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=20044080tDMA={min:120,rec:120}, DMA modes: mword0 mword1 mword2IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4UDMA modes: mode0 mode1 mode2 mode3 *mode4

    Az gy kapott informcit felhasznlhatjuk a ksobbi belltsoknl.A -m kapcsolval bellthatjuk, hogy hny blokkot olvasson be a merevlemez egy-

    szerre. A maximlis bellthat rtket kiolvashatjuk a hdparm -i parancs kime-netnek MaxMultSect mezojbol. A lineris tviteli sebessget nvelhetjk ennek akapcsolnak a hasznlatval.

    A -c kapcsol segtsgvel lehet az I/O mdot 32 bitesre lltani. Ez megduplz-hatja az tviteli sebessget. A -c utn 1-et rva bekapcsolhatjuk ezt az zemmdot,3-mat rva ehhez mg egy szinkronizl szekvencit krhetnk, ha az 1-gyel nemmukdne jl a merevlemeznk.

    A -u kapcsolval engedlyezhetjk, hogy a kernel ms megszaktsokat is kiszol-gljon az IDEmegszakts kzben. Ez javthat a hlzat s a soros port teljestmnyn,s jobb interaktivitst biztost.

    A -d kapcsolval bekapcsolhatjuk a merevlemez DMA mdjt. Ezek egytt:

    $ hdparm -u1 -m8 -c1 /dev/hdc

    /dev/hdc:setting 32-bit I/O support flag to 1setting multcount to 8setting unmaskirq to 1 (on)multcount = 8 (on)I/O support = 1 (32-bit)unmaskirq = 1 (on)

    36

  • 8/14/2019 Linux - Karbantarts

    38/58

  • 8/14/2019 Linux - Karbantarts

    39/58

    lvextend -L250M /dev/proba/elsolv

    parancsot hasznlhatjuk.Egy VG al a vgextend paranccsal rakhatunk be jabb PVket, illetve a

    vgreduce paranccsal vehetnk ki alla PVket. A vgreduce parancsot csak akkorhasznlhatjuk, ha az adott PVt nem hasznlja a rendszer. A pvmove parancs segt-sgvel egy PVrol mshov kltztethetjk az adatokat, gy akr egy merevlemezrolegy msikra tkltzhetnk anlkl, hogy a rendszert e miatt le kellene lltani. Perszemerevlemez cserjhez, vagy ms konfigurcival kapcsolatos munkk elvgzshezettol mg lehet, hogy le kell llni. Ha pldul a /dev/hda3 partcin lvo proba nevuVGnket t akarjuk kltztetni a /dev/hdc3 partcira, akkor azt a kvetkezokppentehetjk meg:

    # Kibovtjk a VG-t a hdc3-mal.vgextend proba /dev/hdc3

    # A hda3-rl tvisszk az adatokat a hdc3-ra.# (Ez sokig tarthat.)pvmove /dev/hda3 /dev/hdc3# A proba VG all kivehetjk a hda3-mat.vgreduce proba /dev/hda3

    Bootols, shutdown

    Bootolskor a

    vgscanvgchange -a y

    parancsokkal lehet detektlni s aktivlni, shutdownkor pedig a

    vgchange -a n

    paranccsal lehet deaktivlni a VGket.

    1.10. Naplzott fjlrendszerek

    A naplzott fjlrendszerek olyan fjlrendszerek, amelyeknl tranzakcikezelsi tech-nikk segtsgvel mindig konzisztens adat van a diszken.

    Ez nem azt jelenti, hogy ramsznet esetn nem vesztnk adatot, hanem azt, hogynem kell sokig tart fsckra vrni.

    A naplzott fjlrendszerek nem vdenek a merevlemezek meghibsodstl sem.Linux alatt egyre tbb naplz fjlrendszer vlt elrhetov az utbbi vekben,

    mindegyik ms minosgu, ms tuds. Emlts szintjn ezek a Reiserfs, az SGI-fle XFS, az IBM-fle JFS, az ext2 leszrmazottja az ext3, illetve a Tux2 nevu,szintn ext2 fjlrendszerbol szrmaz failsafe fjlrendszer.

    Ezek kzl a leghasznlhatbb a Reiserfs, s az XFS. Itt az elsovel fogok fog-lalkozni.

    A Reiserfs egy kiegyenslyozott fkonalapul fjlrendszer, emiatt foleg kis fj-lok kezelsnl gyorsabb trsainl. Ezen tulajdonsgt kihasznlva nagy teljestmnyufjl, s levelezoszerver ptheto vele. Tovbbi elonys tulajdonsga, hogy tmogatja alemountols nlkli tmretezst, ami jl prosthat az LVM LV tmretezsvel.

    A Reiserfs htrnya, hogy tbb gpidot eszik, mint pldul az ext2, illetve32 MB-ot lefoglal magnak a naplzshoz. Ezrt ha egy 32 MB-os fjlrendszerre vanszksgnk, akkor 64MB-os partci kell hozz.

    38

  • 8/14/2019 Linux - Karbantarts

    40/58

    A Reiserfs a 2.4-es kernelsorozat rszt kpezi, esetleg hibajavtsokrt rde-

    mes elnzni a http://www.namesys.org/ oldalra. Onnan letlthetjk a Reiserfs-heztartoz programokat is, de valsznuleg kedvenc disztribcinkban is megtalljuk eze-ket.

    Ha sikerlt a kernelnket Reiserfs tmogatssal lefordtani s a segdprogra-mok is megvannak, akkor az mkreiserfs vagy mkfs.reiserfs paranccsal hoz-hatunk ltre ilyen fjlrendszert egy blokk-eszkzre, amit aztn a szoksos mount pa-ranccsal kezdhetnk el hasznlni.

    A reiserfs extra mount opcii a notail s a resize=. Az elso segtsg-vel kikapcsolhatjuk a kis fjlok s a fjlvgek klnleges kezelst. Ez gyorsthatja afjlmuveleteket, illetve rgi lilo-nl szksg van erre, klnben nem fogunk tudnibootolni a fjlrendszernkrol. A helyes bootolshoz ezt az opcit a kernel helyretteles a lilo futtatsa elott kell bekapcsolni.

    A resize opci segtsgvel menet kzben tmretezhetnk egy fjlrendszert,

    nem kell lemountolni se. Arra kell figyelni, hogy a fjlrendszer j mrete ne legyennagyobb az alatta lvo blokkos eszkztol. A resize hasznlatval csak nvelni leheta fjlrendszer mrett. Ha cskkenteni akarjuk, akkor a resize_reiserfs progra-mot kell hasznlnunk, miutn lemountoltuk a fjlrendszert.

    A resize opci 4 kB-os blokkmretben vrja az j mretet.Ezek alapjn egyszeruen megrhatunk egy olyan szkriptet, aminek a segtsgvel

    egyszerre mretezhetjk t a fjlrendszert, s az LVt, amin a fjlrendszer l:

    #!/bin/sh# hasznlat resize blokkeszkz-tvonala jmret (MB-ban)## $0 $1 $2## Hiba esetn egybol kilpnk.set -e

    # Ha pontosan kt paramternk van, akkor megynk tovbb.i f [ $ # = 2 ] ; t h e n

    # Nagyobbra hzzuk t a LV-t./sbin/lvextend -L${2}M "${1}"# tszmtjuk a MB-ot ngy kB-os blokkokra.FOURKBLOCKS=/usr/bin/expr ${2} * 256 # Megcsinljuk az tmretezst./bin/mount -n "${1}" -oremount,resize=${FOURKBLOCKS}# Ha eddig eljutottunk, akkor minden jl ment./bin/echo ++++ tmretezs sikeres ++++# Mg kirjuk, hogy mennyi helynk is van az tmretezs utn./bin/df -k "${1}"

    else/bin/echo "Hasznlat: ${0} blokkeszkz-tvonala j mret (MB-ban)"

    fi

    A mount opcikkal kapcsolatban mg annyit rdemes megjegyezni, hogy ha csak

    olvashatknt mountoljuk a fjlrendszert, a Reiserfs akkor is rni fog r, amikor anapljt ellenorzi.

    1.11. Naplelemzs

    1.11.1. A syslog megfelelo belltsa

    A syslog, a rendszer naplr dmonjnak helyes belltsa nagyon fontos a megfe-lelo naplzshoz.

    Syslog dmon tbbfle van, ilyenek a rgi syslog, az jabb, tbbet tudsyslog-ng, illetve vannak adatbzisba naplz dmonok is.

    39

  • 8/14/2019 Linux - Karbantarts

    41/58

  • 8/14/2019 Linux - Karbantarts

    42/58

    A prioritsmeghatrozs egy egyedlll prioritst tartalmazhat, ebben az esetben

    az sszes, az adottal egyezo, s attl nagyobb priorits zenetre illeszkedni fog. Aformja lehet tovbb =priorits, ez rtelemszeruen pontos egyezst jelent. A !segtsgvel lehet tagadst kifejezni. Ha prioritsknt none-t adunk meg, az semmiresem fog illeszkedni.

    Az zenet cljnak meghatrozsa ettol jval egyszerubb. Egy / jellel kezdodo clmerevlemezen lvo fjlt jelent, -/ szintn fjlt jelent, de ebben az esetben az zenetetnem szinkron mdon rja ki a diszkre, hanem hagyja, hogy a kernel azt majd ksobbelintzze (ez gyorsabb mint az elozo mdszer, de sszeomls esetn adatot veszthe-tnk). A |jellel kezdodo cl merevlemezen lvo FIFOt jelent, ezzel akr sajt kezulegis feldolgozhatjuk az zeneteket. A @ jel utn egy tvoli gp nevt vrja a syslog,oda fogja tovbb kldeni a naplbejegyzseket (hogy ez mukdjn, a tvoli rendszeren-r kapcsolval kell indtani a syslog dmont). A * jellel, illetve az egyb karakte-rekkel kezdodo clkijells hatsra a rendszer minden felhasznlnak, vagy az adott

    felhasznlk terminljra fogja kldeni az zenetet.Pldaknt egy rszlet egy syslog konfigurcis fjlbl:

    *.=debug;\auth,authpriv.none;\news.none;mail.none -/var/log/debug

    Ennek hatsra teht a syslog dmon az auth, authpriv, news, mail facilitykenkvl minden debug priorits zenetet aszinkron mdon a /var/log/debug fjlba r.

    Tovbbi meggondolsok: a biztonsgos naplzs rdekben rdemes egy*.debug bejegyzst is hasznlni, hogy biztosan ne hagyjunk ki egy facility-prioritsprost se. Ugyancsak rdemes egy tvoli gpre is kldeni a logokat, hogy pldul egybetrs, vagy komoly rendszersszeomls esetn megtudhassuk mi trtnt.

    1.11.2. A naplfjlok elemzse

    A syslog rendszer egyik problmja, hogy az zenetek, amiket a programok klde-nek, bizonyos szempontbl nem standardizltak, pldul az ssh, ftp, telnet, stb.dmonok mshogy naplzzk, ha egy bejelentkezs sikertelen volt. Ezrt lesz szksgkln naplelemzsre.

    Bizonyos forgalomig kzzel is vgignzhetjk a naplbejegyzseinket, de ez pl-dul napi 10 MB-nyi naplnl is lehetetlen. Ilyenkor valamilyen programot kell hasz-nlnunk.

    A ksz programok kzl valsznuleg a logcheck nevu a legelterjedtebb, de r-hatunk magunknak is egyet.

    Ha magunknak akarunk rni logellenorzo programot, akkor azt egyszeru shell szk-

    riptekkel megtehetjk. Nagyon jl lehet egytt hasznlni a cut, a sed, a sort sa uniq segdprogramokat. Kiindulsknt hasznlhatunk valami ilyesmi rendszert:a cut segtsgvel levghatjuk a dtum mezot a naplbejegyzsekrol (az az elso 16karakter), aztn a sed paranccsal tovbbi feldolgozst csinlhatunk (felesleges soroktrlse, a naplba r processzek processzazonostjnak trlse, stb.), vgl a sorts a uniq segsgvel ha tbb megegyezo sorunk van, abbl egyet csinlhatunk.

    Teht a shell szkriptben valami ilyesmi fog szerepelni:

    cut -b16- /var/log/syslog |sed -f sedparancsfile |sort |uniq

    A sed parancsfjlja pedig ilyesmi lesz (ez csak egy plda!):

    41

  • 8/14/2019 Linux - Karbantarts

    43/58

    /^ debi pppd\[.*$/d/^ debi automount\[[0-9]*\]:.*$/d

    s/CRON\[[0-9]*\]:/CRON:/s/watchdog\[[0-9]*\]:/watchdog:/...

    Azaz a debi nevu gprol jvo pppd illetve automountzeneteire nem vagyunk k-vncsiak, trljk oket, a cron s watchdog dmon zeneteirol pedig leszedjk a pro-cesszazonost szmot, hogy majd a sort s a uniq tbb sort ssze tudjon egyrehzni. Ezt a programkt hasonl elveket kvetve kibovthetjk. Ezek utn a feldolgo-zott naplbejegyzseket elkldhetjk magunknak levlben, kinyomtathatjuk, stb.

    Ez termszetesen csak egy plda volt, vannak hinyossgai, de kezdetnek nemrossz. Innen tovbblpve jval bonyolultabb naplelemzo programokat is megrhatunkmagunknak.

    Ha nem akarunk magunknak naplellenorzo programot rni, akkor hasznlhatjuk

    pldul a logcheck nevu programot. Ezt telepthetjk csomagbl, ha a disztrib-cink rszt kpezi, vagy letlthetjk a http://www.psionic.com/tools/ cmrol. Ez aprogram mintailleszts segtsgvel prblja meg megmondani egy-egy naplbejegy-zsrol, hogy betrsi ksrlet-e, rendszerbiztonsg srlst jelzo bejegyzs-e, vagycsak valamilyen szokatlan sor a naplfjlban.

    A program egyszeruen konfigurlhat, a logcheck.sh fjlban kell trni amegfelelo tvonalakat, amik a klnbzo mintkat tartalmaz fjlokra mutatnak.A HACKING_FILE=, VIOLATIONS_FILE= , VIOLATIONS_IGNORE_FILE=s az IGNORE_FILE= sorokat kell trni aszerint, hogy hov tettk alogcheck.hacking , logcheck.violations, stb. fjlokat.

    Ezek utn a

    $LOGTAIL /var/log/messages >> $TMPDIR/check.$$

    sorokat kell trni, hogy megmondjuk neki, hogy melyik fjlokban ellenorizze a napl-bejegyzseket. Ha van olyan fjlunk ahov a *.debug bejegyzseket kldjk, rde-mes azt megadni.

    Most mr akr le is futtathatnnk a logcheck.sh fjlt, de elobb nzzk t amintkat tartalmaz fjlokat.

    A logcheck.hacking fjl tartalmazza a betrsi ksrletekre utal min-tkat. Ha ezek kzl egy is illeszkedik a naplfjl egy sorra, akkor azta program egy ideiglenes fjlban eltrolja. A logcheck.violations slogcheck.violations.ignore fjlt egytt hasznlja a program; ha a napl-fjl egy sora illeszkedik egy mintra a logcheck.violations fjlbl, de egyresem a logcheck.violations.ignore fjlbl, akkor ezt a sort is beteszi egy t-meneti fjlba. Vgl az sszes olyan sort, ami nem illeszkedik a logcheck.ignore

    mintira, szintn eltrolja. Ha tallt tmadsra utal jeleket, az elmentett adatokat egygpnv dtum ACTIVE SYSTEM ATTACK! cmu levlben elkldi a rendszergazdnak.Ha nem tallt tmadsra utal bejegyzseket, akkor a levl cme egyszeruen gpnvdtum system checklesz.

    Ha gy ltjuk, hogy minden rendben van, akkor a cron dmonra bzhatjuk alogcheck.sh rendszeres lefuttatst.

    42

  • 8/14/2019 Linux - Karbantarts

    44/58

    1.12. Alapveto biztonsgi belltsok

    1.12.1. Szolgltatsok

    Ne futtassunk felesleges szolgltatsokat. A fut processzek listjt pldul a ps axuparanccsal nzhetjk meg. Nzzk vgig a listt, s prbljuk minden processzrolmeg-tudni, hogy mit csinl, a man parancs s a disztribcival jtt egyb dokumentcikalapjn. Ha gy dntttnk, hogy az adott processzre nincs szksgnk, akkor rdemesazt leszedni disztribcink csomagkezelojvel. Ilyen tipikusan felesleges szolgltat-sok kz tartozhat pldul a portmap s az lpd.

    Ezek utn nzzk vgig a nyitott hlzati portokat. Ezt a netstat -a parancssegtsgvel tehetjk meg. Az outputbl minket most csak a LISTEN, azaz hlzatikrsre vr portok rdekelnek. Ezt a listt pldul a

    $ netstat -a |fgrep LISTEN

    paranccsal krhetjk a rendszertol. Plda kimenet:

    tcp 0 0 *:shell *:* LISTENtcp 0 0 *:ldap *:* LISTENtcp 0 0 *:time *:* LISTENtcp 0 0 *:discard *:* LISTENtcp 0 0 *:font-service *:* LISTEN...

    A pldn ltszik, hogy a shell, ldap, time, discard, font-service TCP portok van-nak nyitva. Azt, hogy melyik port milyen processzhez tartozik, az fuser paranccsaltudhatjuk meg. Plda:

    # A font-service tcp port hasznljra vagyunk# kvncsiak, bobeszdu kimenetet krnk.$ fuser -v -n tcp font-service

    USER PID ACCESS COMMANDfont-service/tcp root 323 f.... xfs

    Teht a font-service porton az xfs processz vrja a berkezo krseket.Most, hogy megvan a processznk, a fentebb lertak alapjn dnthetnk arrl, hogyszksgnk van-e r.

    Nyitott UDP portok: ezek a netstat -a kimenetben gy ltszanak:

    udp 0 0 *:talk *:*

    Ezekre is mukdik az fuser parancs, a tcp kulcsszt rtelemszeruen udpre cse-rlve.

    1.12.2. inetd

    Az inetd az Internet Superserver Daemon, igny szerint tbbfajta hlzati szol-gltatst tud nyjtani segdprogramok felhasznlsval. Konfigurcis fjlja a/etc/inetd.conf. Rla mr volt sz korbban.

    Ha nincs szksgnk egy inetd-bol fut szolgltatsra, akkor a sor elejre # jeletrva letilthatjuk azt. Ezutn az inetd programnak HUP szignlt kell kldeni, hogyjraolvassa a konfigurcis fjljt. Plda letiltott telnet szolgltatsra:

    #telnet stream tcp nowait telnetd.telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

    43

  • 8/14/2019 Linux - Karbantarts

    45/58

    1.12.3. /etc/hosts.allow, /etc/hosts.deny

    A /etc/hosts.allow s a /etc/hosts.deny fjlokkal tovbb lehet finomtania hlzati szolgltatsok listjt. A host.allow/deny fjlokat a tcpwrapperlibraryval fordtott programokkal vagy a tcpd-t hasznl inetd-s programokkalhasznlhatjuk. A hosts.deny fjlba kerl bele a tiltand szolgltatsok listja, ahosts.allow fjlba pedig az engedlyezettek.

    A fjlok formja durvn:

    szolgltats1,szolgltats2 : host1, host2, .domain.pelda, ipcm/netmask

    Kirtkelsi sorrend hosts.allow, hosts.deny. Ha egy szolgltats-klienspros egyikben sem szerepel, akkor a hozzfrst engedlyezni fogja. Ajnlott ahost.deny fjlba a ALL: ALL sort rni, s a hosts.allow fjlban engedlyeznia megfelelo hostokat. Plda hosts.allow fjlra:

    ALL: 192.168.10.0/255.255.255.0in.telnetd: .ilyen.nincs.hu

    Ennek hatsra a 192.168.10.0/255.255.255.0 hlzatrl minden tcpwrapperesszolgltats, s az .ilyen.nincs.hu domainbl a telnetszolgltats lesz elrheto.

    1.12.4. Mount opcik

    Megfeleloen megvlasztott mount opcikkal nagyban javthatjuk rendszernk biz-tonsgt. Amit mount opcikkal befolysolhatunk: rhat-e az adott fjlrend-szer, futtathatunk-e rla programokat, lehet-e hasznlni eszkzfjlokat rajta, illetvehasznlhatunk-e setuid bitet.

    Ennek megfeleloen az rdekes mount opcik:

    ro read only, csak olvashat lesz az adott fjlrendszer;nodev eszkzfjlokat nem lehet hasznlni az adott fjlrendszeren;

    nosuid setuid-os fjlokat nem a tulajdonos felhasznli azonostjval fogja fut-tatni, hanem a hv processzvel, mintha a setuid bit nem lenne rajta bel-ltva;

    noexec az adott fjlrendszeren levo fjlokat nem lehet futtatni (mg ha klnben fut-tathatk is lennnek). Ez a kapcsol jelen pillanatban megkerlheto az albbimdon:

    ldd /mnt/noexec_drive/bin/bash

    A fenti parancs elindtja a szndkunk szerint nem futtathat llapot partci/bin/ knyvtrbl a bash binrist. Emiatt bnjunk vatosan a noexec kap-csolval!

    A mount opcikat a remount mount opcival vltoztathatjuk meg. Pldk:

    mount /dev/hda3 /tmp -onosuid,nodevmount /dev/hda2 /usr -oro

    Remountra:

    mount /tmp -oremount,nosuid,nodev,noexec

    Termszetesen itt is rdemes csak a minimlisan szksges jogokat meghagyni(/usr read-only, /tmp s /home nosuid, nodev s esetleg noexec).

    44

  • 8/14/2019 Linux - Karbantarts

    46/58

    1.12.5. Egyebek: lilo, jelsz biztonsg

    A kernelnek lilo-n keresztl meg lehet adni, hogy az init helyett milyen programotindtson elsoknt. Pldul:

    LILO: linux init=/bin/bash

    Ez azonnali root shellt eredmnyez a szmtgphez kzvetlenl hozzfro fel-hasznlknak. Ez ellen segt a restricted lilo.conf opci, ennek hatsra alilo jelszt fog krni, ha a kernelnek valamilyen paramtert akarunk tadni a liloparancssorban. Plda:

    # /etc/lilo.conf# ...image=/boot/vmlinuzrestricted=Ezittajelszo!

    label=Linux

    read-only

    Termszetesen kell mg egy chmod 600 /etc/lilo.conf is, illetve a liloprogram futtatsa.

    ltalnos jelszbiztonsg: sose hasznljunk sztri szt jelszknt, inkbb ge-nerljunk egyet a pwgen programmal. A jelszavakat cserljk rendszeresen. r-demes lehet nha a John the Ripper programot futtatni a jelszfjlra (letltheto ahttp://www.openwall.com/ oldalrl).

    1.13. Ments s helyrellts

    1.13.1. tar

    A GNU tar segtsgvel teljes knyvtr-hierarchikat lehet egy vagy tbb eszkzresszecsomagolni, gy pldul egy fjlba lerakni, vagy szalagra rni.

    A tar a parancsokat a parancssorban vrja. Egy, s csak egy parancsot meg kellneki adni.

    A parancsokon kvl vannak mg nem ktelezo jellegu paramterei.A tar leggyakrabban hasznlt parancsai: a --create egy j archvum ltreho-

    zshoz, a --extract egy ltezo archvum kibontshoz, azaz a fjlok visszllts-hoz. Egy archvum tartalmt a --list paranccsal tudjuk kilistzni. Ha j archvumothozunk ltre, akkor a tar parancsnak meg kell mondanunk, hogy miket tegyen bele.Ehhez az archivland fjlokat fel kell sorolni a tar parancsai s kapcsoli utn. Ar-chvum kibontsa esetn hasonlan adhatjuk meg az archvumbl kibontand fjloklistjt.

    Gyakori opcionlis kapcsolk a --file=, az archv fjl nevt lehet gy megadni;a tar ezt fogja hasznlni a parancsok elvgzsnl, pldul ebbe fogja tenni az archi-vland fjlokat. Ha nem hasznljuk a --file= kapcsolt, akkor a tar a standardoutputot fogja hasznlni. Fontos kapcsol mg a --verbose, ennek hatsra a tarbobeszdu lesz.

    Ezek utn mr ki is lehet prblni a tar parancsot:

    # Csinlunk egy knyvtrstruktrt a prbhoz.$ mkdir proba$ echo hello >proba/a$ echo hello2 >proba/b# A proba nevu knyvtrat elmentjk az# elso.tar nevu fjlba.

    45

  • 8/14/2019 Linux - Karbantarts

    47/58

    $ tar --create --file=elso.tar --verbose probaproba/

    proba/aproba/b# Kilistzzuk az archvum tartalmt.$ tar --list --file=elso.tar --verbosedrwxrwxr-x root/root 0 2001-07-19 13:55:07 proba/-rw-rw-r-- root/root 6 2001-07-19 13:55:02 proba/a-rw-rw-r-- root/root 7 2001-07-19 13:55:07 proba/b# Elvesztjk a proba knyvtrunkat.$ rm -rf proba# Aztn a mentsbol visszalltjuk.$ tar --extract --verbose --file=elso.tarproba/proba/aproba/b# Aztn mg egyszer kibontjuk, de most csak a# proba/a nevu fjlra vagyunk kvncsiak.$ tar --extract --verbose --file=elso.tar proba/aproba/a

    Ezek utn az egyszeru pldk utn jhetnek az rdekesebb dolgok: a tar--update parancsa segtsgvel egy archv fjl tartalmt frissthetjk. Ez egysze-ruen gy mukdik, hogy a tar vgignzi az archv fjlt, s az archivland knyvtr-struktrt, s ha valamelyik fjl jabb, mint az archvumban tallhat, akkor az j fjlthozzfuzi az archvumhoz. Emiatt az archv fjl mrete llandan noni fog. Az archvfjl kibontsa esetn csak az utoljra hozzfuztt fjl fog a lemezen maradni. Szalagosegysgeken ezt nem lehet hasznlni. Pldul:

    $ echo megegy >proba/k$ tar --update --file=elso.tar --verbose probaproba/proba/k

    A tar --delete parancsa segtsgvel trlhetnk egy fjlt az archvumbl. Ez

    nem mukdik szalagos egysgek esetn.

    # Kitrljk a proba/a fjlt az archvumbl.$ tar --delete --file=elso.tar proba/a

    A tar segtsgvel inkrementlis mentsek is kszthetok, ehhez a--listed-incremental= opcit kell hasznlni. Ez az opci egy fjl nevtvrja, a tar ezt a fjlt fogja hasznlni a knyvtr-hierarchiban trtnt vltozsokkvetsre, teht ms-ms knyvtrak mentshez ms fjlt kell megadnunk. Pldul:

    # Csinlunk egy j mentst.$ tar --create --file=masodik.tar --verbose --listed-incremental=/tmp/lista probaproba/proba/aproba/bproba/k

    # Ezutn ltrehozunk egy j fjlt a proba knyvtr alatt,# s arrl csinlunk egy inkrementlis mentst.# Az inkrementlis ments j tar fjlba kerl.$ touch proba/ujfile$ tar --create --file=harmadik.tar --verbose --listed-incremental=/tmp/lista probaproba/proba/ujfile# Ezek utn, ha vissza akarjuk lltani a proba knyvtr# tartalmt, akkor azt kt tar segtsgvel megtehetjk.$ tar --extract --file=masodik.tar$ tar --extract --file=harmadik.tar

    A tar parancsnak van mg egy fontos opcija, a --multi-volume , ennek se-gtsgvel pldul tbb szalagra lehet menteni az adatokat. A kazettavltsok kzt atar jelez.

    46

  • 8/14/2019 Linux - Karbantarts

    48/58

  • 8/14/2019 Linux - Karbantarts

    49/58

  • 8/14/2019 Linux - Karbantarts

    50/58

    --numeric-ids hatsra az rsync numerikusan fogja tvinni a felhasznls cso-

    portazonostkat. Ez elonys lehet, pldul ha a home knyvtrakat mentjk msikgpre, s a tvoli gpen a felhasznlink nincsenek felvve.

    49

  • 8/14/2019 Linux - Karbantarts

    51/58

    GNU Szabad DokumentcisLicensz 1.1 verzi, 2000 mrcius

    Copyright c

    2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston,MA 02111-1307 USA

    Jelen licensz sz szerinti sokszorostsa s terjesztse brki szmra megengedett, vl-toztatni rajta ugyanakkor nem lehet.

    0. EL OSZ

    Jelen Licensz clja egyolyan kziknyv, tanknyv, vagy effajta rott dokumentummeg-alkotsa, mely a sz szoros rtelmben szabad: annak rdekben, hogy mindenkinekbiztostsa a szveg sokszorostsnak s terjesztsnek teljes szabadsgt, mdost-sokkal, vagy anlkl, akr kereskedelmi, akr nem-kereskedelmi ton. Msfelol, eLicensz megorzi a szerzo, vagy kiad munkja elismershez fuzodo jogt, s egyttalmentesti ot a msok ltal beiktatott mdostsok kvetkezmnyei all.

    Jelen Licensz egyfajta etalonnak tekintheto, ami nem jelent mst, mint hogy adokumentumbl szrmaztatott munkk maguk is szabad minostst kell, hogy kapja-nak. E dokumentum egyben a GNU ltalnos Felhasznli Licensz kiegsztojekntis szolgl, mely egy a szabad szoftverekre vonatkoz etalon licensz.

    E Licenszet a szabad szoftverek kziknyveiben val hasznlatra alkottuk, hiszen aszabad szoftver egyben szabad dokumentcit is ignyel: egy szabad programot olyankziknyvvel kell elltni, mely ugyanazon szabadsgokat biztostja, mint maga a prog-ram. Jelen Licensz, mindazonltal, nem korltozdik pusztn kziknyvekre; feltteleitetszoleges trgykru rott dokumentumra alkalmazhatk, fggetlenl attl, hogy azknyvformban valaha megjelent-e. Mindamellett e Licenszet foknt olyan munkk-hoz ajnljuk, melyek elsodleges clja az tmutats, vagy a tjkoztats.

    1. ALKALMAZHATSG S DEFINCIK

    E Licensz minden olyan kziknyvre, vagy ms jellegu munkra vonatkozik, melyenmegtallhat a szerzoi jogtulajdonos ltal feltntetett figyelmeztets, miszerint a do-kumentum terjesztse jelen Licensz felttelei alapjn lehetsges. A Dokumentumalbb brmely ilyen jellegu kziknyvre, vagy egyb munkra vonatkozik. A lakossgminden tagja potencilis licensztulajdonosnak tekintheto, s mindegyikk megszl-tsa egyarnt n.

    50

  • 8/14/2019 Linux - Karbantarts

    52/58

    A Dokumentum Mdostott Vltozata brmely olyan munkra vonatkozik, mely

    tartalmazza a Dokumentumot, vagy annak elemeit akr sz szerint, akr mdostsok-kal, s/vagy ms nyelvre lefordtva.A Msodlagos Szakasz egy egyedi nvvel br fggelk, esetleg a Dokumentum

    egy megelozo szakasza, mely kizrlag a kiadknak, vagy az alkotknak a Dokumen-tum tfog trgykrhez(vagy kapcsold tmkhoz) fuzodo viszonyrl szl, s nemtartalmaz semmi olyat, ami kzvetlenl ezen tfog tmakr al eshet. (Ha pldul aDokumentum rszben egy matematika tanknyv, gy a Msodlagos Szakaszban nincslehetosg matematikai trgy magyarzatokra.) A fenti kapcsolat trgya lehet a tma-krrel, vagy a kapcsold tmkkal val trtnelmi viszony, illetve az azokra vonat-koz jogi, kereskedelmi, filozfiai, etikai, vagy politikai felfogs.

    A Nem Vltoztathat Szakaszok olyan specilis Msodlagos Szakasznak szm-tanak, melyek ilyetn val meghatrozst az a kzlemny tartalmazza, miszerint aDokumentum jelen Licensz hatlya alatt lett kiadva.

    A Bortszvegek olyan rvid szvegrszek, melyek Cmlap-szvegknt, illetveHtlap-szvegknt kerlnek felsorolsraabban a kzlemnyben, miszerint a Dokumen-tum jelen Licensz hatlya alatt lett kiadva.

    A Dokumentum tltsz pldnya olyan gppel-olvashat vltozatot jell, melya nyilvnossg szmra hozzfrheto formtumbankerl terjesztsre, tovbb melynektartalma szokvnyos szvegszerkeszto-programokkal, illetve (pixelekbol ll kpekesetn) szokvnyos kpmegjelento-programokkal, vagy (rajzok esetn) ltalnosanhozzfrheto rajprogramok segtsgvel azonnal s kzvetlenl megtekintheto, vagymdosthat; tovbb olyan formtumban mely alkalmas a szvegszerkesztokbe valbevitelre, vagy a szvegszerkesztok ltal kezelt formtumokba val automatikus ta-laktsra. Egy olyan, egybknt tltsz formtumban kszlt pldny, melynek mar-kupja gy lett kialaktva, hogy megakadlyozza, vagy eltntortsa az olvaskat minden

    tovbbi mdoststl, nem tekintheto tltsznak. A nem tltsz pldnyok aztltszatlan megnevezst kapjk.Az tltszsg kritriumainak megfelelo formtumok kztt megtallhat pldul

    a markup nlkli egyszeru ASCII, a Texinfo beviteli formtum, a LATEX beviteli for-mtum, az SGML vagy az XML egy ltalnosan hozzfrheto DTD hasznlatval, sa standardnak megfelelo, emberi mdostsra tervezett egyszeru HTML. Az tltszat-lan formtumok kz sorolhat a PostScript, a PDF, a szabadalmaztatott s csak fizetosszvegszerkesztokkel olvashat formtumok, az olyan SGML vagy XML, melyhez aszksges DTD s/vagy egyb feldolgoz eszkzk nem ltalnosan hozzfrhetok, saz olyan gpileg-generlt HTML formtum, melyet egyes szvegszerkesztok hoznakltre, kizrlag kiviteli clra.

    Egy nyomtatott knyv esetben a Cmlap magt a cmlapot, illetve brmely aztkiegszto tovbbi oldalt jell, amely a jelen Licenszben definilt cmlap-tartalmakkzzttelhez szksges. Az olyan formtum munkknl, melyek nem rendelkez-nek effajta cmlappal, a Cmlap a munka cmhez legkzelebb eso, m a szvegtrzst megelozo szvegrszeket jelli.

    2. SZ SZERINTI SOKSZOROST S

    nnek lehetosge van a dokumentum kereskedelmi, vagy nem-kereskedelmi jellegusokszorostsra s terjesztsre, brmely mdiumon keresztl, feltve, hogy jelen Li-censz, a szerzoi jogi figyelmeztets, tovbb a Dokumentumot jelen Licensz hatlya

    51

  • 8/14/2019 Linux - Karbantarts

    53/58

    al rendelo kzlemny minden pldnyban egyarnt megjelenik, s hogy e feltteleken

    kvl semmi mst nem tesz hozz a szveghez. Nem alkothat olyan technikai korl-tokat, melyek megakadlyozhatjk, vagy szablyozhatjk az n ltal terjesztett pld-nyok elolvasst, vagy sokszorostst. Mindazonltal elfogadhat bizonyos sszeget amsolatok fejben. Amennyiben az n ltal terjesztett pldnyok szma meghalad egybizonyos mennyisget, gy a 3. szakasz feltteleinek is eleget kell tennie.

    A fenti kritriumok alapjn klcsnbe adhat egyes pldnyokat, de akr nyilvno-san is kzzteheti a szveget.

    3. SOKSZOROST S NAGYOBB MENNYISGBEN

    Amennyiben 100-nl tbb nyomtatott vltozatot tesz kzz a Dokumentumbl, s an-

    nak Licensze felttell szabja a Bortszvegek megltt, gy minden egyes pldnytkteles elltni olyan bortlapokkal, melyeken a kvetkezo Bortszvegek tisztn solvashatan fel vannak tntetve: Cmlap-szvegeka cmlapon, illetve Htlap-szvegeka htlapon. Mindkt bortlapra egyrtelmuen s olvashatan r kell vezetnie a kiad,vagyis