Professional Documents
Culture Documents
Linux - Karbantartas1
Linux - Karbantartas1
1.0.1
A Mithrandir Kft. nyelvi elleno rzsvel
Balsai Pter
Ksa Attila
2002. jnius 19.
Szerzo
Vitz Gbor gabor@swszl.szkp.uni-miskolc.hu
Szakmai lektor
Szalay Attila sasa@lme.linux.hu
Nyelvi ellenorzs
Sri Gbor saga@tux.hu
Ksa Attila atkosa@shinwa.hu
Formzs (LATEX)
Ksa Attila atkosa@shinwa.hu
Elozmnyek
A GNU/Linux karbantartsa
A Mithrandir Kft. nyelvi ellenorzsvel
A kiads ve: 2002.
Szerzo
Vitz Gbor gabor@swszl.szkp.uni-miskolc.hu
Szakmai lektor
Szalay Attila sasa@lme.linux.hu
Nyelvi ellenorzs
Sri Gbor saga@tux.hu
Ksa Attila atkosa@shinwa.hu
Formzs (LATEX)
Ksa Attila atkosa@shinwa.hu
Tartalomjegyzk
1. A GNU/Linux rendszer karbantartsa
1.1. Hlzati belltsok . . . . . . . . . . . . . . . . .
1.2. Hlzati szolgltatsok . . . . . . . . . . . . . . .
1.3. Egyb szolgltatsok . . . . . . . . . . . . . . . .
1.4. Behvszerver konfigurlsa . . . . . . . . . . . .
1.5. Felhasznli eroforrsok korltozsa . . . . . . . .
1.6. Teljestmny javtsa . . . . . . . . . . . . . . . .
1.7. Megfelelo hardver . . . . . . . . . . . . . . . . . .
1.8. Szoftveres teljestmnyjavts . . . . . . . . . . . .
1.9. Logical Volume Manager s naplzott fjlrendszer .
1.10. Naplzott fjlrendszerek . . . . . . . . . . . . . .
1.11. Naplelemzs . . . . . . . . . . . . . . . . . . . .
1.12. Alapveto biztonsgi belltsok . . . . . . . . . . .
1.13. Ments s helyrellts . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
8
9
18
24
33
33
34
37
38
39
43
45
brk jegyzke
1.1. A hlzat felptse . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Egy msik hlzat felptse . . . . . . . . . . . . . . . . . . . . . .
5
7
1. fejezet
A GNU/Linux rendszer
karbantartsa
1.1. Hlzati belltsok
1.1.1. Hlzati interfszek konfigurlsa
Linux alatt a szmtgp hlzati csatlakozsi pontjait hlzati interfszek reprezentljk. Az interfsz neve, amit a kernel hasznl, egy szimbolikus dolog, mint pldul
az eszkzvezrlo fjlok, de rdemes megjegyezni, hogy a hlzati interfszek nem
eszkzvezrlo fjlok, o k mshol lnek. Az interfszeknek klnbzo tulajdonsgai
lehetnek, pldul a maximlis csomagmret amit kezelni tud.
Most ezek belltsrl lesz sz. A belltsoknl TCP/IP hlzati protokollt s
Ethernetes krnyezetet feltteleznk. Manapsg ezek a legelterjedtebbek.
A hlzat felptst az 1.1. bra mutatja.
linux 1
gp 1
router
gp 2
A hlzati interfszeket (tbbek kztt) az ifconfig paranccsal konfigurlhatjuk. Bellthatjuk vele a hlzati cmet amire az interfsz hallgatni fog, a hlzati maszkot, s egyb paramtereket, mint pldul a maximlis csomagmretet, hogy pont-pont
kapcsolatunk van-e, stb.
A konfigurci lekrdezst egy paramterezetlen ifconfig paranccsal oldhatjuk meg:
$ ifconfig
eth0
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.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:60127 errors:0 dropped:0 overruns:0 frame:0
TX packets:64215 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:3 Base address:0xb800
lo
A listn lthatjuk, hogy kt interfsznk van: egy eth0 nevu, ez az els o ethernet
krtya, az lo pedig a loopback interfsz, ez egy tisztn szoftveres interfsz, amivel
egy gpen bell is lehet hlzati szolgltatsokat hasznlni. A listbl egyszeru, forgalommal kapcsolatos mutatkat is kiolvashatunk, mint a kldtt s fogadott csomagok
szma, az tkzsek szma, s a hibs csomagok szma.
A belltsokat szintn az ifconfig paranccsal vgezhetjk, ez ethernet esetn
tipikusan gy nz ki:
ifconfig eth0 192.168.10.1 netmask 255.255.255.0 up
Ennek hatsra a 192.168.10.0/255.255.255.0 hlzatra men o csomagokat a rendszer az eth0 interfsz fel fogja kldeni. Innento l mr ltjuk a loklis hlzatot, elkezdhetnk rajta forgalmazni, de a vilgba mg nem ltunk ki. Ehhez kell mg egy default
route, amin keresztl az sszes, explicit mdon meg nem adott hlzatot elrhetjk.
Ehhez szksgnk lesz a mi hlzatunkat a vilggal sszekt o router IP cmre. Ha ez
mondjuk a 192.168.10.254, akkor a
route add default gw 192.168.10.254 eth0
echo 1 >/proc/sys/net/ipv4/ip_forward
192.168.11.0/255.255.255.0
gp3
linux
192.168.10.0/255.255.255.0
klvilg(minden ms)
gp2
router
gp1
bels hlzat
(192.168.10.0/255.255.255.0 s
192.168.11.0/255.255.255.0)
Ezek utn a hlzatos programokban pldul az alma.proba.hu gpre hivatkozhatunk alma nven, a korte.msik.hu gpre pedig korte nven.
Ahol a szolgltatsport egy a /etc/services fjlban megtallhat port szimbolikus neve, a sockettpus tipikusan stream vagy dgram lehet aszerint, hogy az
illeto szolgltats TCP vagy UDP kapcsolatokat hasznl-e. A protokoll tcp vagy udp
lehet, hasonlan az elobbi meggondolsokhoz. A wait/nowait azt jelenti, hogy az
inetd indtson-e j kiszolgl processzt ha j krs fut be, vagy a mr fut szerver
kpes egyszerre tbb klienst kezelni. Ezek alapjn nhny plda inetd szolgltatsokra:
# 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, rdemes minden olyan szolgltatst kikommentezni amire nincs szksgnk.
Ennek ellenre az inetd olyan szempontbl rdekes, hogy jval egyszerubb egy
inetd-t hasznl szerverprogramot megrni, mint egy nllt.
# A debi nev
u gpen az ls parancsot akarom futtatni
$ ssh debi ls
gabor@debis password:
GNUstep
NetPIPE.out
...
$
Az ssh parancsnak rengeteg kapcsolja van, ezek kzl egyel o re a -v-t rdemes
megemlteni, ennek hatsra bo beszdu lesz az ssh. Ez segti a hibakeresst. A
tbbirol menet kzben lesz sz.
Az ssh csomagban van egy scp parancs, ezzel biztonsgos tvoli fjltvitel valsthat meg. Az scp parancsot
scp tvolifelhasznl@tvoli.gp:tvolifjl loklisfjl
vagy a
scp loklisfjl tvolifelhasznl@tvoli.gp:tvolifjl
s a
scp file felhasznl@tvoli.gp:tvoli/file
11
a msodik:
# Ilyenkor gy kell elindtani.
$ eval ssh-agent
# Kirja, hogy elindult.
Agent pid 1312
ol hasznlhatjuk is.
# s innent
$
# De el ne felejtsk lel
oni!
$ eval ssh-agent -k
Agent pid 1312 killed
12
tvoli gp .ssh/authorized_keys2 fjljban megadhatjuk, hogy honnan hasznlhatjk azt a kulcsot, s hogy milyen programot futtathatnak (s mg sok minden
mst). Pldul az ujkulcs nevu kulcsunkat csak a debi nevu gpr o l engedjk be, s csak
az uptime parancsot lehet vele futtatni:
# Megnzzk, hogy milyen az .ssh/authorized_keys2 fjl.
[gabor@tonhal:~]$ cat .ssh/authorized_keys2
from="debi",command="uptime" ssh-rsa AAAAB3N...
# Csak a debi gpr
ol 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 sszetett
plda: a fentieket kombinljuk gy, hogy az adott kulccsal csak egy fjlt tudjunk tmsolni a tvoli gpre, ami a tvoli gpen /tmp/p nven fog megjelenni. Els o lps:
dntsk el, hogy milyen parancsnak kell lefutnia a tvoli gpen. Erre egyszeruen rjhetnk, ha az scp parancsot -v kapcsolval futtatjuk, s egy command tartalm sorra
keresnk 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/p
Sending file modes: C0664 26632 valami.ps
valami.ps
100% |*****************************| 26632
00:00
Lthatjuk, hogy a tvoli gpen az scp -t /tmp/p parancs fog lefutni. Ezutn megfeleloen trjuk a tvoli gpen a .ssh/authorized_keys2 fjlt, s mr
mukdik is. A -v opcit kihagyjuk, azt a bo beszdu md miatt kldte.
# Leellen
orizzk a .ssh/authorized_keys2 tartalmt.
[gabor@tonhal:~]$ cat .ssh/authorized_keys2
from="debi",command="scp -t /tmp/p" ssh-rsa AAAAB3...
# Ezzel a kulccsal tnyleg csak a megfelel
o
# parancsot lehet hasznlni.
# Most megprblunk mst futtatni a tloldalon,
# de ez nem fog sikerlni.
[gabor@debi:~]$ scp proba tonhal:/tmp/a
proba
100% |*****************************|
259
00:00
Nyilvnvalan tonhal nevu gpen /tmp/a helyett /tmp/p fjlban fog megjelenni
a proba fjl tartalma.
1.3.2. Qmail
Mirt pont a qmail? A qmail egyszeruen konfigurlhat, biztonsgos, s elgg
j teljestmnyu. Ugyanakkor rdemes megjegyezni, hogy van egy-kt hinyossga,
pldul tl kson ellenorzi, hogy van-e adott nevu felhasznl vagy alias a rendszernkn; minden egyes kimeno levlhez j kapcsolatot nyit; a licence pedig lehetne kicsit
bartsgosabb. 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 processzre van felosztva, gy ha netaln valamelyik rszvel valami baj trtnne, az akkor
sem lesz komoly hatssal a teljes rendszerre. Az MTAk kzt ritka a hasonlan biztonsgos tervezs.
13
Az elso sor csak trli a felesleges krnyezeti vltozkat, a msodik sor elindtja
a qmail-startot gy, hogy a loklis kzbestshez a procmailt fogja hasznlni, a logolshoz pedig az sploggert, ami a sima syslog programon keresztl logol. A preline
azrt kell, mert a qmail sok helyen krnyezeti vltozkat hasznl ahol ms program
14
Ahol a temporaryfile egy ideiglenes fjl neve, a szovegesfile pedig annak a fjlnak
a neve, amibe a fenti kt sort betettk.
Aliasok kezelse: a qmail az aliasokat a /var/qmail/aliases knyvtrban tartja, mindegyiket kln fjlban. A fjlok neve .qmail-aliasneve, teht a
/var/qmail/aliases/.qmail-postmaster fjlba kell tennnk, ha pldul
van egy postmaster aliasunk. A .qmail fjlokban a pipe jellel kezd o do sor hatsra
a qmail a pipe jel utn lvo program standard inputjra fogja kldeni a bejvo leveleket. /-rel kezdodo sor hatsra az adott mailboxba vagy Maildirbe fogja tenni a
bejvo 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 ragaszkodnak hozz annak ellenre, hogy az ssh csomagnak van Secure FTPje, titkostott
adatvitellel, grafikus klienssel Windowshoz. Az ftp problmja, hogy bizonyos muveletekhez az egyszeru felhasznltl magasabb privilgium-szint kell, s radsul a
forgalmat sem titkostja (azaz a hlzat lehallgatsval ssze lehet gyujteni a felhasznlk jelszavait). Tovbbi problma, hogy kevs igazn biztonsgos ftp szerver ltezik.
Egy j ftp szerver a vsftpd, a Very Secure FTP Daemon. A nv termszetesen
semmit sem garantl, csak azt, hogy az rja mindent megtesz a biztonsg rdekben.
Szmomra ez a szerver biztonsgosabbnak tunik a tbbinl, ezrt ezt ismertetem.
15
A szerver inetd-bol fut, minden kapcsolathoz kt processzt indt, egy privilgizltat a klnbzo hlzati muveletek elvgzshez (amikhez a norml privilgiumszint kevs lenne), s egy msikat, ami az pp bejelentkezett felhasznl azonostjval
fut. A privilgizlt processz sem rootknt fut, hanem a Linux capabilities nevu mechanizmust hasznlva egy egyszeru felhasznlknt gy, hogy kzben a jogot az 1024tol kisebb hlzati portok megnyitsra megtartja. Radsul egy msra nem hasznlt
knyvtrba chroot-olja magt, gy onnan nem lt ki. A kt processz Unix Domain
Socketen keresztl kommunikl egymssal gy, hogy a privilgizlt processz nem bzik
a privilgizlatlan ltal kldtt zenetekben. Ehhez hasonlan tervezett ftp dmonok
ritkk.
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 fordtott, vagy ms disztribcik rszt kpezo vltozatok esetben csak a fjlok elrsi
tvonalban vrhat vltozs.
Inetd belltsa: a /etc/inetd.conf fjlba rjuk be a kvetkezo sort, majd
a killall -HUP inetd parancsot kiadva olvastassuk jra az inetd-vel a konfigurcis fjljt.
ftp
stream
tcp
nowait
root
/usr/sbin/tcpd
/usr/sbin/vsftpd
A program egyetlen paramtert vr, a konfigurcis fjljnak az elrsi tvonalt, ha az nem a /etc/vsftpd.conf fjlban van. Ezek utn termszetesen
a 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 visszaellen
orzsnl nem egyeznek az IP cmek.
vsftpd: KNOWN EXCEPT PARANOID
A konfigurcis fjl: /etc/vsftpd.conf. Ez egyszeru opci=rtk prosokbl ll. Fontos tudni, hogy nem lehet szkz az egyenl o sgjel kt oldaln. A fjlban
a megjegyzseket a szoksos soreleji # jel jelzi. Elg sok opci logikai rtku, ezeket
YES-re illetve NO-ra llthatjuk, ezt nem fogom mindegyiknl kln megemlteni.
anonymous_enable Ezzel lehet engedlyezni az anonymous ftpt. Az anonymous
ftphez szksg van egy ftp nevu felhasznlra. Ennek a felhasznlnak a home
knyvtra lesz az anonymous ftp terlet.
local_enable A norml felhasznlkat engedjk-e bejelentkezni vagy sem. A fenti
opcival egytt lehet csak anonymous, csak norml felhasznlkat beenged o ,
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 hasznljon az j fjlok ltrehozsakor. Az alaprtelmezett 077 esetn pldul csak a
tulajdonos fogja tudni elrni az ltala letett fjlokat.
anon_upload_enable Anonymousknt lehet-e feltlteni a szerverre. Kell hozz a
write_enable is.
16
1.3.4. stunnel
Az stunnel segtsgvel titkostott SSL (Secure Socket Layer) kapcsolatba csomagolhatunk klnbzo protokollokat, mint pldul POP3, vagy IMAP. gy pldul SSLes
POP3 szerver valsthat meg, egy SSLt nem ismero szerverprogram segtsgvel. Ezzel lehet vdekezni a hlzatlehallgats ellen.
Az stunnel-t lehet inetd-bol vagy nmagban futtatni. A kt md csak egy
kapcsolban tr el egymstl.
Az stunnel leggyakrabban hasznlt kapcsoli:
-l segtsgvel lehet megadni, hogy milyen programot futtasson, amikor csatlakoznak
hozz. Itt egy inetd segtsgvel is futtathat programot vr (pldul egy pop3
szerver).
-N segtsgvel adhatjuk meg, hogy a hosts.allow s a hosts.deny fjlt milyen
szolgltatsnv szerint vizsgljon meg.
-p utn adhatjuk meg az stunnel-nek a PEM fjljt. Ezzel igazolja a szerver, hogy
o valban az, akinek lltja magt.
-d segtsgvel llthatjuk t az stunnel mukdsi mdjt inetd-sro l klnllra.
Ez egy hlzati port nevt vrja paramterknt.
17
paranccsal tehetjk meg. Ennek hatsra az openssl egy jelsz nlkli, 365 napig rvnyes PEM fjlt generl, az stunnel.cnf konfigurcis fjl segtsgvel. A kimenetet
az stunnel.pem fjlba fogja tenni.
Amikre oda kell figyelni: az openssl Common Name: krdsre a szerver gpnevt kell megadni.
Nmelyik disztribci elfelejti az stunnel.cnf fjlt az stunnel csomagba
beletenni, ekkor letlthetjk magunknak a http://www.stunnel.org/ oldalrl.
Lehet, hogy szksgnk lesz DiffieHellman paramterekre a PEM fjlunkhoz, ezt
az
openssl gendh 512 >> stunnel.pem
1.4.1. Mgetty
Az mgetty egy getty-szeru program, de modemekhez terveztk. Valamelyik terminleszkzn egy felhasznlnvre vr, s utna meghvja a login, vagy valamilyen
ms, bejelentkezst kezelo programot. Ezen kvl kezelni tudja a modemek klnbzo funkciit, pldul modem inicializls, kicsrgsek szma miel o tt felvenn, fax
fogadsa.
Clunk az lesz, hogy a modem valahny csrgs utn fogadja a hvst, majd az
mgetty elindtson egy pppd-t a soros vonalon.
Az mgettyt a getty parancshoz hasonlan init-bo l szoktk futtatni, ehhez
egy 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 elo zo mgetty kilp.
Lthat, hogy az mgetty parancsnak klnbzo parancssori paramterei lehetnek, de ezek kzl csak azokkal fogunk foglalkozni, amelyek neknk fontosak. Ezek
a kvetkezok: -s, ezzel adhatjuk meg a modem sebessgt, ezt rdemes 115200-ra lltani; a -n, ezzel lehet majd megmondani az mgettynek, hogy hny kicsrgs utn
fogadja a hvst; a -x, ezzel llthatjuk a debug levelt, ami fontos lehet a bellts
kzben. Ezen kvl mg van nhny konfigurcis fjlja, amik szintn fontosak.
/etc/mgetty/login.config: ebben a fjlban llthatjuk be, hogy milyen
felhasznl nvhez milyen login programot futtasson az mgetty. Ennek a formtuma
felhasznlnv felhasznlazonost utmpbejegyzs loginprogram argumentumok...
gy ha az adott nevu felhasznl jelentkezik be, akkor az adott felhasznlazonostval az adott program fog lefutni, s az mgetty lerak egy megfelel o bejegyzst az
utmp fjlba.
Az mgetty programnak van egy autoppp mdja, ez hasznos, mert szre tudja
venni, ha ppp dmon van a vonal msik oldaln, s el lehet vele indttatni a ppp dmont
ezen az oldalon. Ez a sor krlbell gy nz ki:
/AutoPPP/ -
a_ppp
19
# Ngyes szint
u nyomkvets.
debug 4
# 115200 bauddal kommuniklunk a modemmel.
speed 115200
# A bejelentkezs el
ott 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 segtsgvel egy /etc/nologin.ttyS1 (vagy ms, a soros portnak megfelelo nevu) fjl
ltrehozsval s trlsvel ezt szablyozhatjuk. Ehhez, s a kicsrgsek szmnak
megadshoz a modem automatikus hvsfogadsnak a kikapcsolshoz lehet, hogy
t kell konfigurlnunk a modemet. Ehhez fel kell raknunk valamilyen terminlkezel o
szoftvert, mint pldul a minicom. Ha a minicom csomagot sikerlt teleptennk s
belltanunk, akkor a
# A modemet b
obeszd
ure lltjuk.
ATV1
# Nem akarjuk, hogy a modem automatikusan
# felvegye a telefont.
AT&M1
# Elmentjk a modem konfigurcijt.
AT&W
1.4.2. PPPD
A PPP (Point to Point Protocol) segtsgvel lehet soros, vagy ms pont-pont felptsu
vonalon hlzati kommunikcit megvalstani. A pppd egy PPP vonal menedzselshez szksges klnbzo szolgltatsokat nyjtja, mint pldul a vgpontok kzti
authentikci, kommunikcis paramterek, tmrts, stb. belltsa.
Ahhoz, hogy a modemes behvszervernk mukdjn, minimlisan a kvetkezo szoftverekre lesz szksg: egy kernel soros port s ppp tmogatssal, mgetty s pppd.
Az utbbi kt szoftver verzijt rdemes a
kernel-forrs/Documentation/Changes fjlban lert verziszmhoz igaztani, 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 terminl neve, amit a pppd parancsnak a parancssorban megadtunk. A fjlok megvizsglsa utn a parancssort nzi meg.
A konfigurls elgg egyszeru lesz. Kitltjk a /etc/ppp/options fjlt, jelszavakat 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
szerver
titkosjelsz IPcm
Ahol rtelemszeruen a kliens a kliens neve, a szerver a szervernk neve, a titkosjelsz a kliens jelszava, az IPcm pedig az az IP cm, amit a kliens hasznlhat, vagy
*, ha brmilyen IP-t hasznlhat, amit megadtunk a pppd options fjljaiban. Itt gy
felvehetjk a felhasznlinkat.
Mit csinl a proxyarp? A proxyarp kulcssz hatsra a pppd tesz egy bejegyzst a szerver elso ethernet interfsznek arp tbljba, hogy ha a kliens hardvercmt szeretn tudni valamelyik gp a szerver hlzatn, akkor a szerver hardver cmt
21
kapja meg hozz. Ennek hatsra a kliensnek sznt hlzati csomagok el o szr eljutnak a szerverhez, majd az tovbbroutolja o ket a klienshez. A routols jl fog mukdni,
mert a kernel mindig a pontosabban megadott tvonal fel fogja kldeni a csomagokat, 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 a
klso 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 ttyS0
T1:23:respawn:/sbin/mgetty -x0 -s 115200 ttyS1
...
A pppd klnbzo szkripteket futtat a ppp kapcsolat kezdetekor s vgekor, ezekkel sok mindent meg lehet oldani, pldul tuzfal tkonfigurls, forgalommrs. A
pppd 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. Hasonlan 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 felhasznlazonostja 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 opcifjlban belltani.
22
Parancssori argumentumok, amiket a szkriptek a pppd parancstl kapnak: 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. Az
ipparam egy sztring, amit valamelyik opcifjlban adhatunk meg, de ez nem ktelezo.
1.5.2. PAM
A PAM (Pluggable Authentication Modules) egy szoftverrendszer, aminek a segtsgvel rugalmas felhasznl-authentikcit lehet megvalstani Linuxon (s ms rendszereken). A hangsly a rugalmassgon van, PAM segtsgvel ugyanaz az alkalmazs
authentiklhat 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 authentikci elvgzshez.
A PAM a bejelentkezssel kapcsolatos klnbzo funkcikat valstja meg, ezek az
authentikci, a felhasznl kiltnek megllaptsa, az account menedzsels (ezzel
egyb korltozsokat lehet mg az authentikci mell definilni), a session menedzsels (ez a session megkezdse elo tt s utn fut le, s klnbzo adminisztrcis
funkcikat lt el, mint pldul naplbejegyzsek rsa). A negyedik ilyen funkci a
jelszmenedzsels.
25
fontossg-jelz
o
modulneve
modulparamterek
26
Alaprtelmezett belltsok:
a PAM az alaprtelmezett belltsait a
/etc/pam.d/other fjlban tartja. Ha egy szolgltatsnak nem adunk kln
konfigurcis fjlt, akkor ezt fogja hasznlni. Ezt rdemes gy belltani, hogy senkit
se engedjen be:
auth
account
session
password
required
required
required
required
pam_deny.so
pam_deny.so
pam_deny.so
pam_deny.so
required
pam_access.so
required
required
required
pam_deny.so
auth
required
pam_env.so
pam_ftp.so
pam_unix.so use_first_pass
Ahol a szolgltatsnv a PAMot hasznl szolgltats neve, a terminlok a hasznlt terminl neve, a felhasznlk a felhasznlk listja, a csoportok pedig az
extra csoportazonostk, amiket a felhasznl megkap, ha az el o bb emltett felttelek teljeslnek. A listk logikai listk, az ido t kivve &, |, ! opertorokkal
lehet belolk logikai kifejezseket alkotni. Az ido t intervallumknt lehet megadni, 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. Ha
egy napot ktszer adunk meg, akkor az tagadst jelent. Pldul ha minden loklis 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 a
ttyp* portokrl) jvo felhasznlk mindig megkapjk az extra floppy s audio
csoportazonostkat. Tipikus PAM bejegyzs:
auth
required
pam_group.so
required
pam_issue.so
28
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 tartoz
terminlt, 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 felhasznlnknt automatikusan belltani. Hasznlata:
session
required
pam_limits.so
hard_vagy_szoft
soft/hard/-
mit_korltozunk
korltozandk
korlt_rtke
rtk
Ahol a kit_korltozunk egy felhasznl neve, egy @csoportnvvel megadott csoport neve, vagy * esetn mindenki lehet, a hard_vagy_szoft hard, soft vagy -lehet, ha a kt korltot egyszerre akarjuk belltani, a mit_korltozunk pedig core,
data, fsize, memlock, nofile, rss, stack, cpu, nproc, as, maxlogins, priority kzl
lehet egy aszerint, hogy mit akarunk korltozni. A korlt_rtke az er o forrshasznlat felso korltjt adja meg. Teht az adott nevu vagy adott csoportba
tartoz felhasznl (vagy * esetn mindenki) soft, hard limitjt (vagy mindkett o t
a -- esetn) llthatjuk gy be. Az egyni limitek fellbrljk a csoportlimiteket. Ha nem adjuk meg a korltozand ero forrs nevt s rtkt, s a soft vagy
hard helyn egy -- van, akkor az adott felhasznlk semmilyen korltozst nem
fognak kapni. Fontos tudni, hogy ezek a limitek bejelentkezsenknti limitek,
ha ktszer jelentkezik be a felhasznl prhuzamosan, akkor pldul dupla annyi
processzt futtathat egyszerre.
pam_nologin A /etc/nologin fjl ltezse esetn csak a root felhasznlt fogja
beengedni, a tbbieknek csak megmutatja a /etc/nologin tartalmt. A helyes mukds rdekben ennek a modulnak az auth sufficient ... modulok elott kell szerepelnie. Hasznlata:
auth
required
pam_nologin.so
required
pam_securetty.so
29
pam_time Ennek a modulnak a segtsgvel a felhasznlk bejelentkezst id o hz, terminlhoz s szolgltatshoz kthetjk. A modul konfigurcis fjlja
a /etc/security/time.conf, melynek hasonl a szerkezete, mint a
/etc/security/groups.conf fjl. A klnbsg annyi, hogy itt nem
adhatunk meg extra csoportokat, s ha a felttelek nem teljeslnek, akkor a felhasznl egyltaln nem tud bejutni. Egy plda a konfigurcis fjlbl:
su;tty* & !ttyp*;you|me;!Al0000-2400
required
pam_time.so
pam_unix Ez a modul a szoksos UNIX /etc/password s /etc/shadow fjlbl authentiklja a felhasznlkat; ezt minden rendszeren hasznlni szoktk. Bejelentkezskor ellenorizni tudja a klnbzo shadow-paramtereket, mint pldul utols jelsz vlts. Ehhez az account elleno rzshez tipikusan egy ilyen
bejegyzs kell:
account
required
pam_unix.so
required
pam_unix.so
md5
nullok
required
pam_unix.so
lljon itt egy plda egy egyszeru PAM belltsra az ssh parancshoz:
30
#%PAM-1.0
### Authentikci.
# A /etc/nologin ellen
orzse.
auth
required
pam_nologin.so
# Authentikci a szoksos UNIX-os password fjlokbl.
auth
required
pam_unix.so
# Krnyezeti vltozk belltsa.
auth
required
pam_env.so
### Account ellen
orzs.
orzse.
# Jelsz s account lejrat ellen
account
required
pam_unix.so
### Session adminisztrci.
# A bejelenetkezs logolsa.
session
required
pam_unix.so
ok sikeressge nem olyan fontos:
# A kvetkez
# utols bejelentkezs kirsa
session
optional
pam_lastlog.so
# a "nap zenett" kirja,
session
optional
pam_motd.so
# kirja, hogy jtt-e a felhasznlnak levele,
session
optional
pam_mail.so standard
oforrs-korltokat.
o er
# vgl belltja a klnbz
session
required
pam_limits.so
### Jelszmendzsels.
# Cracklib segtsgvel
# er
ossgt,
password required
# ha az sikeres volt, a
# password fjlba.
password required
1.5.3.
ellen
orizzk az j jelsz
pam_cracklib.so retry=3 minlen=6 difok=3
pam_unix leteszi az j bejegyzst a
pam_unix.so use_authtok nullok md5
Quota
Mi a quota?
A quota egy olyan szolgltats Linux s ms UNIX rendszerek alatt, mely megakadlyozza, hogy a felhasznl (vagy csoport) egy bizonyos fjl- (inode), vagy trolhelykorltot (block) tllpjen. gy a felhasznlk csak a sajt quota-jukon bell tudnak
adatokat trolni, ellenorztt krlmnyek kztt tevkenykedhetnek, nem tudjk teletlteni a fjlrendszereket, nem veszik el egymstl a helyet. A quota lehet o v teszi,
hogy a felhasznlk vagy csoportok ezen belltsai fjlrendszerenknt klnbz o ek
legyenek, teht szemlyenknt (csoportonknt) vltozhat az egy fjlrendszeren belli
block, illetve inode korlt.
A quota belltsa
A quota mukdshez eloszr is meg kell gyozodnnk rla, hogy a kernelnkbe vane quota tmogats fordtva, ha nincs, ezt meg kell tennnk.
Ezek utn disztribcink csomagkezelo jnek segtsgvel fel kell teleptennk a
quota csomagot, majd a /etc/fstab fjlban t kell rnunk a quotzni kvnt fjlrendszerek bejegyzst:
# block eszkz
/dev/hda7
knyvtr
/home
fs_tpus
ext2
opcik
defaults,rw,usrquota,grpquota
s az
edquota -p prototpuscsoport -g csoportnv ...
Egyb megjegysek
Jelenleg quott a (hasznlhat mino sgu) linuxos fjlrendszerek kzl csak az XFS s
az ext2 tmogat, ReiserFShez elrheto k kiegsztsek.
33
az adatokat szolgltatjuk. Ezek kzl az utbbi kt fjlrendszer lesz I/O intenzv, rdemes o ket kln merevlemezekre tenni.
1.7.3. Processzor
Terhelstol fggoen eros processzorra lehet szksg. Sima statikus fjlszerver esetn, a
megfelelo hardveres krtssel egy gyengbb processzor is nyugodtan brni fogja a terhelst, de pldul dinamikus lapokat kiszolgl www szerver esetn a hatr a csillagos
g. 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 rdemes
megemlteni a rgi, msodszintu cache nlkli Celeronokat.
1.7.4. Memria
Memribl rdemes annyit venni, hogy bo ven elfrjenek benne a futtatott alkalmazsok, fjlszerver esetn pedig rengeteg fjlt tudjon a memriban tartani, a gyors elrs
rdekben.
A memria sebessgt rdemes a processzorhoz igaztani.
Egy 1 Gigabyte/msodperces processzor-busszal rendelkezo (Intel Pentium III) processzorhoz
teljesen felesleges mregdrga, 3.2 Gigabyte/msodperces Rambus RAMot venni.
34
parancsot adjuk ki, ha pldul 16384-re szeretnnk lltani a nyitva tartott fjlok maximlis szmt. Hogy szksgnk van-e ennek a megemelsre, azt
a /proc/sys/fs/file-nr fjlbl tudhatjuk meg. Ebben az elso szm a
lefoglalt fjl-azonostk szmt jeleneti; ha ez kezd kzel kerlni a harmadik
szmhoz (ami ugyanaz, mint ami a file-max fjlban van), akkor ideje megemelni a megnyithat fjlok szmt.
Mountolhat fjlrendszerek szma: ha nagyon sok fjlrendszert akarunk mountolni,
az
echo 512 > /proc/sys/fs/super-max
A hdparm segtsgvel a merevlemez belltsait, s egyb merevlemez informcit is lekrdezhetnk. Ha a hdparm kapcsolihoz nem adunk paramtert, akkor az
ltalban a belltsok lekrdezst jelenti. A -i kapcsolval a merevlemez bootolskor kiolvasott belltsait nzhetjk meg, ennek segtsgvel dnthetjk el, hogy
egyltaln mit tud a merevlemeznk.
$ hdparm -i /dev/hda
/dev/hda:
Model=QUANTUM FIREBALLlct10 10, FwRev=A03.0900, SerialNo=872012259666
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=32256, SectSize=21298, ECCbytes=4
BuffType=3(DualPortCache), BuffSize=418kB, MaxMultSect=16, MultSect=16
DblWordIO=no, OldPIO=2, DMA=yes, OldDMA=2
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=20044080
tDMA={min:120,rec:120}, DMA modes: mword0 mword1 mword2
IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4
UDMA modes: mode0 mode1 mode2 mode3 *mode4
36
segtsgvel gynevezett Physical Volumeot (PV) lehet belo le kszteni, majd a PVkbol
VGt:
vgcreate proba /dev/blokkeszkznv1 ...
Ennek hatsra ltrejn egy proba nevu VG, aminek a mrete megegyezik az alatta
lvo partci mretvel. Ezek utn egy LVt kell ltrehoznunk rajta, s mr hasznlhatjuk is:
lvcreate -L200M -n elsolv proba
mkfs.ext2 /dev/proba/elsolv
mount ...
Ennek hatsra a rendszer ltrehoz egy 200 MB-os elsolv nevu LVt, a proba nevu
VGre.
Ezek utn jhetnek az rdekesebb dolgok: az lvextend segtsgvel tmretezhetjk az LVnket. Arra vigyzzunk, hogy ha nagyobbra mretezzk, akkor mindig
eloszr az LVt lltsuk nagyobbra, s csak aztn a fjlrendszert rajta, ha pedig kisebbre
vesszk, akkor eloszr a fjlrendszert, aztn az LVt mdostsuk. Az LV mdostshoz az lvextend s az lvreduce programokat hasznlhatjuk. Pldul egy LV
nagyobbra vtelhez (250 MB-ra) az
37
parancsot hasznlhatjuk.
Egy VG al a vgextend paranccsal rakhatunk be jabb PVket, illetve a
vgreduce paranccsal vehetnk ki alla PVket. A vgreduce parancsot csak akkor
hasznlhatjuk, ha az adott PVt nem hasznlja a rendszer. A pvmove parancs segtsgvel egy PVrol mshov kltztethetjk az adatokat, gy akr egy merevlemezr o l
egy msikra tkltzhetnk anlkl, hogy a rendszert e miatt le kellene lltani. Persze
merevlemez cserjhez, vagy ms konfigurcival kapcsolatos munkk elvgzshez
ettol mg lehet, hogy le kell llni. Ha pldul a /dev/hda3 partcin lvo proba nevu
VGnket t akarjuk kltztetni a /dev/hdc3 partcira, akkor azt a kvetkez o kppen
tehetjk meg:
# Kib
ovtjk 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
vgscan
vgchange -a y
A Reiserfs a 2.4-es kernelsorozat rszt kpezi, esetleg hibajavtsokrt rdemes elnzni a http://www.namesys.org/ oldalra. Onnan letlthetjk a Reiserfs-hez
tartoz programokat is, de valsznuleg kedvenc disztribcinkban is megtalljuk ezeket.
Ha sikerlt a kernelnket Reiserfs tmogatssal lefordtani s a segdprogramok is megvannak, akkor az mkreiserfs vagy mkfs.reiserfs paranccsal hozhatunk ltre ilyen fjlrendszert egy blokk-eszkzre, amit aztn a szoksos mount paranccsal kezdhetnk el hasznlni.
A reiserfs extra mount opcii a notail s a resize=. Az elso segtsgvel kikapcsolhatjuk a kis fjlok s a fjlvgek klnleges kezelst. Ez gyorsthatja a
fjlmuveleteket, illetve rgi lilo-nl szksg van erre, klnben nem fogunk tudni
bootolni a fjlrendszernkrol. A helyes bootolshoz ezt az opcit a kernel helyrettele
s 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 legyen
nagyobb az alatta lvo blokkos eszkztol. A resize hasznlatval csak nvelni lehet
a fjlrendszer mrett. Ha cskkenteni akarjuk, akkor a resize_reiserfs programot 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 egyb
ol kilpnk.
set -e
# Ha pontosan kt paramternk van, akkor megynk tovbb.
if [ $# = 2 ] ; then
# 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
1.11. Naplelemzs
1.11.1. A syslog megfelelo belltsa
A syslog, a rendszer naplr dmonjnak helyes belltsa nagyon fontos a megfelelo naplzshoz.
Syslog dmon tbbfle van, ilyenek a rgi syslog, az jabb, tbbet tud
syslog-ng, illetve vannak adatbzisba naplz dmonok is.
39
40
-/var/log/debug
Ennek hatsra teht a syslog dmon az auth, authpriv, news, mail facilityken
kvl 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-priorits
prost se. Ugyancsak rdemes egy tvoli gpre is kldeni a logokat, hogy pldul egy
betrs, vagy komoly rendszersszeomls esetn megtudhassuk mi trtnt.
41
/^ 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 automount zeneteire nem vagyunk kvncsiak, trljk o ket, a cron s watchdog dmon zeneteiro l pedig leszedjk a processzazonost szmot, hogy majd a sort s a uniq tbb sort ssze tudjon egyre
hzni. Ezt a programkt hasonl elveket kvetve kibo vthetjk. Ezek utn a feldolgozott naplbejegyzseket elkldhetjk magunknak levlben, kinyomtathatjuk, stb.
Ez termszetesen csak egy plda volt, vannak hinyossgai, de kezdetnek nem
rossz. Innen tovbblpve jval bonyolultabb naplelemz o programokat is megrhatunk
magunknak.
Ha nem akarunk magunknak naplelleno rzo programot rni, akkor hasznlhatjuk
pldul a logcheck nevu programot. Ezt telepthetjk csomagbl, ha a disztribcink rszt kpezi, vagy letlthetjk a http://www.psionic.com/tools/ cmr o l. Ez a
program mintailleszts segtsgvel prblja meg megmondani egy-egy naplbejegyzsrol, hogy betrsi ksrlet-e, rendszerbiztonsg srlst jelzo bejegyzs-e, vagy
csak valamilyen szokatlan sor a naplfjlban.
A program egyszeruen konfigurlhat, a logcheck.sh fjlban kell trni a
megfelelo 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 a
logcheck.hacking, logcheck.violations, stb. fjlokat.
Ezek utn a
$LOGTAIL /var/log/messages >> $TMPDIR/check.$$
sorokat kell trni, hogy megmondjuk neki, hogy melyik fjlokban ellen o rizze a naplbejegyzseket. Ha van olyan fjlunk ahov a *.debug bejegyzseket kldjk, rdemes azt megadni.
Most mr akr le is futtathatnnk a logcheck.sh fjlt, de elo bb nzzk t a
mintkat tartalmaz fjlokat.
A logcheck.hacking fjl tartalmazza a betrsi ksrletekre utal mintkat.
Ha ezek kzl egy is illeszkedik a naplfjl egy sorra, akkor azt
a program egy ideiglenes fjlban eltrolja. A logcheck.violations s
logcheck.violations.ignore fjlt egytt hasznlja a program; ha a naplfjl egy sora illeszkedik egy mintra a logcheck.violations fjlbl, de egyre
sem a logcheck.violations.ignore fjlbl, akkor ezt a sort is beteszi egy tmeneti fjlba. Vgl az sszes olyan sort, ami nem illeszkedik a logcheck.ignore
mintira, szintn eltrolja. Ha tallt tmadsra utal jeleket, az elmentett adatokat egy
gpnv dtum ACTIVE SYSTEM ATTACK! cmu levlben elkldi a rendszergazdnak.
Ha nem tallt tmadsra utal bejegyzseket, akkor a levl cme egyszeruen gpnv
dtum system check lesz.
Ha gy ltjuk, hogy minden rendben van, akkor a cron dmonra bzhatjuk a
logcheck.sh rendszeres lefuttatst.
42
0
0
0
0
0
0
0
0
0
0
*:shell
*:ldap
*:time
*:discard
*:font-service
*:*
*:*
*:*
*:*
*:*
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
A pldn ltszik, hogy a shell, ldap, time, discard, font-service TCP portok vannak nyitva. Azt, hogy melyik port milyen processzhez tartozik, az fuser paranccsal
tudhatjuk meg. Plda:
# A font-service tcp port hasznljra vagyunk
# kvncsiak, b
obeszd
u kimenetet krnk.
$ fuser -v -n tcp font-service
USER
root
font-service/tcp
0 *:talk
*:*
1.12.2. inetd
Az inetd az Internet Superserver Daemon, igny szerint tbbfajta hlzati szolgltatst tud nyjtani segdprogramok felhasznlsval. Konfigurcis fjlja a
/etc/inetd.conf. Rla mr volt sz korbban.
Ha nincs szksgnk egy inetd-bo l fut szolgltatsra, akkor a sor elejre # jelet
rva letilthatjuk azt. Ezutn az inetd programnak HUP szignlt kell kldeni, hogy
jraolvassa a konfigurcis fjljt. Plda letiltott telnet szolgltatsra:
#telnet
stream
tcp
nowait
telnetd.telnetd
43
/usr/sbin/tcpd
/usr/sbin/in.telnetd
Remountra:
mount /tmp -oremount,nosuid,nodev,noexec
Ez azonnali root shellt eredmnyez a szmtgphez kzvetlenl hozzfr o felhasznlknak. Ez ellen segt a restricted lilo.conf opci, ennek hatsra a
lilo jelszt fog krni, ha a kernelnek valamilyen paramtert akarunk tadni a lilo
parancssorban. Plda:
# /etc/lilo.conf
# ...
image=/boot/vmlinuz
restricted=Ezittajelszo!
label=Linux
read-only
45
A tar parancsnak van mg egy fontos opcija, a --multi-volume, ennek segtsgvel pldul tbb szalagra lehet menteni az adatokat. A kazettavltsok kzt a
tar jelez.
46
A tar klnbz eszkzkre tud menteni, ezek tipikusan fjl s mgnesszalag (a tar-t eredetileg szalagos eszkzkhz terveztk), de tud tvoli eszkzkre is mentst vgezni rsh vagy ssh hasznlatval. Ha tvoli eszkzt szeretnnk hasznlni, akkor a --file= opcinl ezt a gpnv:tvonal vagy a
felhasznl@gpnv:tvonal paramterekkel rhetjk el.
$ tar --create --verbose --file=debi:/tmp/proba.tar --rsh-command=/usr/bin/ssh .
./
./index.html
...
A tvoli gpen kell lennie egy /etc/rmt programnak, ez biztostja a tvoli eszkzk elrst.
A visszallts tvolrl hasonlkppen trtnik.
A tar tud klnbzo tmrtseket kezelni, de rdemesebb egyszeruen pipe-ot
hasznlva rkldeni egy tmrto programra, mert azt gy knnyebb paramterezni.
Pldul ha erosebb tmrtst szeretnnk alkalmazni, hogy kisebb llomnyt kapjunk,
akkor azt gy oldhatjuk meg:
$ tar --create --verbose . | gzip -9 >/tmp/proba.tar.gz
./
./index.html
...
1.13.2. rsync
Az rsync egy foleg mirrorozsra hasznlt program, gy pldul kt gp (vagy csak
egy gpen bell) kztt tud knyvtr-hierarchikat mozgatni.
Az rsync elonye pldul az ftp parancsot hasznl mirrorokkal szemben az,
hogy eleve mirrorozsra terveztk. A kt knyvtr-hierarchia kzt csak a klnbsgeket viszi t, ezekkel egytt alkalmas pldul egy szerver s egy tartalk szerver kzti
adatszinkronizlsra.
Az rsync parancsot ltalban
rsync opcik forrsmeghatrozs clmeghatrozs
mdon szoktk hasznlni, ahol az opcik hatrozzk meg a fjltvitel klnbz o paramtereit, a forrs s a cl pedig rtelemszeruen a forrs- s clknyvtrat hatrozzk
meg.
Az rsync elgg sok opcit ismer, ezek kzl a legfontosabbakkal foglalkozunk
itt.
A -v s a -q opcik a bobeszdu s a csendes zemmd kzt vltanak. Tbb -v
hatsra az rsync egyre tbb zenetet fog kirni, ezzel segti a hibakeresst.
A -a opci az archv mdot kapcsolja be. Ez azt jelenti, hogy az rsync rekurzvan
msolja a fjlokat s a knyvtrakat, s megtartja a tulajdonosokat, a fjlok jogosultsgait, linkeket, s az eszkzfjlokat, feltve, hogy van ehhez joga. Ezek utn mr ki is
lehet prblni az rsync-et:
# Ltrehozunk egy knyvtrat a prbhoz.
$ mkdir /tmp/proba
# Elindtjuk az rsyncet, a public_html knyvtrat
# visszk t a /tmp/proba knyvtrba.
$ rsync -av public_html/ /tmp/proba
building file list ... done
./
index.html
...
47
--numeric-ids hatsra az rsync numerikusan fogja tvinni a felhasznl s csoportazonostkat. Ez elonys lehet, pldul ha a home knyvtrakat mentjk msik
gpre, s a tvoli gpen a felhasznlink nincsenek felvve.
49
0. ELOSZ
Jelen Licensz clja egy olyan kziknyv, tanknyv, vagy effajta rott dokumentum megalkotsa, mely a sz szoros rtelmben szabad: annak rdekben, hogy mindenkinek
biztostsa a szveg sokszorostsnak s terjesztsnek teljes szabadsgt, mdostsokkal, vagy anlkl, akr kereskedelmi, akr nem-kereskedelmi ton. Msfel o l, e
Licensz megorzi a szerzo, vagy kiad munkja elismershez fuzo do jogt, s egyttal
mentesti o t a msok ltal beiktatott mdostsok kvetkezmnyei all.
Jelen Licensz egyfajta etalonnak tekintheto , ami nem jelent mst, mint hogy a
dokumentumbl szrmaztatott munkk maguk is szabad min o stst kell, hogy kapjanak. E dokumentum egyben a GNU ltalnos Felhasznli Licensz kiegszt o jeknt
is szolgl, mely egy a szabad szoftverekre vonatkoz etalon licensz.
E Licenszet a szabad szoftverek kziknyveiben val hasznlatra alkottuk, hiszen a
szabad szoftver egyben szabad dokumentcit is ignyel: egy szabad programot olyan
kziknyvvel kell elltni, mely ugyanazon szabadsgokat biztostja, mint maga a program. Jelen Licensz, mindazonltal, nem korltozdik pusztn kziknyvekre; felttelei
tetszoleges trgykru rott dokumentumra alkalmazhatk, fggetlenl attl, hogy az
knyvformban valaha megjelent-e. Mindamellett e Licenszet f o knt olyan munkkhoz ajnljuk, melyek elsodleges clja az tmutats, vagy a tjkoztats.
1. ALKALMAZHATSG S DEFINCIK
E Licensz minden olyan kziknyvre, vagy ms jellegu munkra vonatkozik, melyen
megtallhat a szerzoi jogtulajdonos ltal feltntetett figyelmeztets, miszerint a dokumentum terjesztse jelen Licensz felttelei alapjn lehetsges. A Dokumentum
albb brmely ilyen jellegu kziknyvre, vagy egyb munkra vonatkozik. A lakossg
minden tagja potencilis licensztulajdonosnak tekintheto , s mindegyikk megszltsa egyarnt n.
50
2. SZ SZERINTI SOKSZOROST S
nnek lehetosge van a dokumentum kereskedelmi, vagy nem-kereskedelmi jellegu
sokszorostsra s terjesztsre, brmely mdiumon keresztl, feltve, hogy jelen Licensz, a szerzoi jogi figyelmeztets, tovbb a Dokumentumot jelen Licensz hatlya
51
4. MDOST S
nnek lehetosge van a Dokumentum Mdostott Vltozatnak sokszorostsra s terjesztsre a 2. s 3. szakaszok fenti rendelkezsei alapjn, feltve, hogy a Mdostott
52
Vltozatot kizrlag jelen Licensz feltteleivel sszhangban teszi kzz, ahol a Mdostott Vltozat a Dokumentum szerept tlti be, ezltal leheto sget biztostva annak
terjesztsre s mdostsra brkinek, aki csak hozzjut egy pldnyhoz. Mindezen
fell, a Mdostott Vltozat az albbi kvetelmnyeknek is meg kell, hogy feleljen:
A Cmlapon (s ha van, a bortkon) tntessen fel egy a Dokumentumtl, illetve
brmely korbbi vltozattl eltro cmet (melyeknek, ha vannak, a Dokumentum Elozmnyek szakaszban kell szerepelnik). Egy korbbi vltozat cmt
csak akkor hasznlhatja, ha annak szerzo je engedlyezte azt.
A Cmlapon szerzokknt sorolja fel a Mdostott Vltozatban elvgzett vltoztatsokrt felelos szemlyeket, vagy entitsokat, tovbb a Dokumentum f o szerzoi kzl legkevesebb tt (vagy mindet, ha nincsenek ten).
A Cmlapon a Mdostott Vltozat kzzttelrt felelo s szemlyt tntesse fel
kiadknt.
A Dokumentum sszes szerzoi jogi figyelmeztetst hagyja rintetlenl.
Sajt mdostsaira vonatkozan is tegyen kzz egy szerz o i jogi megjegyzst,
a tbbi ilyen jellegu figyelmeztets mellett.
Rgtn a szerzoi jogi figyelmeztetseket kvetoen tntessen fel egy kzlemnyt,
az albbi Fggelk mintjra, melyben engedlyezi a Mdostott Vltozat felhasznlst jelen Licensz felttelei alapjn.
A fenti kzlemnyben hagyja rintetlenl a Nem Vltoztathat Szakaszok s a
szksges Bortszvegek jelen Dokumentum licenszben el o rt teljes listjt.
Mellkelje jelen Licensz egy eredeti pldnyt.
Az Elozmnyek szakaszt, illetve annak cmt szintn hagyja rintetlenl,
emellett adjon hozz egy j elemet, amely minimlisan tartalmazza a Mdostott Vltozat cmt, kiadsi vt, tovbb az j szerzo k, illetve a kiad nevt,
a Cmlapon lthatkhoz hasonlan. Amennyiben a Dokumentum nem tartalmaz
semmifle Elozmnyek elnevezsu szakaszt, gy hozzon ltre egyet, mely tartalmazza a Dokumentum cmt, kiadsi vt, tovbb a szerz o k, illetve a kiad
nevt, a Cmlapon lthatkhoz hasonlan; majd ezt kveto en adjon hozz egy j,
a Mdostott Vltozatra vonatkoz elemet, a fentiekkel sszhangban.
Ne tegyen vltoztatsokat a Dokumentumban megadott tltsz pldny nyilvnos hlzati elrhetosgt (ha van ilyen) illetoen, vagy hasonlkpp, a Dokumentum alapjul szolgl korbbi vltozatok hlzati helyre vonatkozan. Ezek az
Elozmnyek szakaszban is szerepelhetnek. Csak abban az esetben hagyhatja el
egyes korbbi vltozatok hlzati elrheto sgt, ha azok legkevesebb ngy vvel
a Dokumentum elott kszltek, vagy ha maga az alkot engedlyezi azt.
Brmely Ksznetnyilvnts, vagy Ajnlsok szakasz cmt hagyja rintetlenl, tovbb gondoskodjon arrl, hogy azok tartalma s hangvtele az egyes
hozzjrulkat, s/vagy az ajnlsokat illeto en vltozatlan maradjon.
A Dokumentum sszes Nem Vltoztathat Szakaszt hagyja rintetlenl, gy
cmket, mint tartalmukat illetoen. A szakaszok szmozsa, vagy brmely azzal
egyenrtku jells nem tartozik a szakaszcmek kz.
53
Trljn minden Jvhagys elnevezsu szakaszt. Effajta szakaszok nem kpezhetik rszt a Mdostott Vltozatnak.
Ne nevezzen t semmilyen ltezo szakaszt Jvhagys-ra, vagy olyasmire,
mely cmben a Nem Vltoztathat Szakaszokkal tkzhet.
Ha a Mdostott Vltozat j megelozo szakaszokat tartalmaz, vagy olyan fggelkeket, melyek Msodlagos Szakasznak mino slnek, m nem tartalmaznak a Dokumentumbl szrmaz anyagot, abban az esetben, beltsa szerint, e szakaszok nmelyikt,
vagy akr az sszeset nem vltoztathatknt sorolhatja be. Ehhez nem kell mst tennie,
mint felsorolni a szban forg cmeket a Mdostott Vltozat licensznek Nem Vltoztathat Szakaszok listjban. E cmeknek hatrozottan el kell klnlnie minden egyb
szakaszcmtol.
Jvhagys elnevezsu szakaszt csak akkor adhat a Dokumentumhoz, ha az kizrlag a Mdostott Vltozatra utal megjegyzseket tartalmaz pldul msok recenziira vonatkozan, vagy hogy egy szervezet a szveget egy standard mrvad defincijaknt ismerte el.
Cmlap-szveg gyannt egy legfeljebb t szbl ll szvegrszt adhat meg, a
Htlap-szveg esetn pedig 25 szt fuzhet a Mdostott Vltozat Bortszvegeinek
vghez. Brmely entits csak s kizrlag egy Cmlap- s egy Htlap-szvegrszt
adhat (akr kzvetton keresztl) a Dokumentumhoz. Ha a dokumentum mr eleve
rendelkezik Bortszveggel, akr azrt, mert azt korbban n adta hozz, vagy mert
valaki ms nn keresztl gondoskodott erro l, abban az esetben nincs leheto sg jabb
Bortszveg hozzadsra; a rgit mindazonltal lecserlheti, abban az esetben, ha
annak kiadja egyrtelmuen engedlyezi azt.
A Dokumentum szerzoje/i s kiadja/i jelen Licensz alapjn nem teszik leheto v
nevk nyilvnos felhasznlst egyetlen Mdostott Vltozat tmogatsa, vagy tmogatottsga rdekben sem.
5. KOMBINLT DOKUMENTUMOK
nnek lehetosge van a Dokumentum egyb, e Licensz hatlya alatt kiadott dokumentumokkal val kombinlsra a 4. szakasz mdostott vltozatokra vonatkoz rendelkezsei alapjn, feltve, hogy a kombinci mdosts nlkl tartalmazza az eredeti
dokumentumok sszes Nem Vltoztathat Szakaszt, s hogy azok mind Nem Vltoztathat Szakaszknt kerlnek felsorolsra a kombinlt munka licenszben.
A kombinlt munknak jelen Licensz mindssze egy pldnyt kell tartalmaznia, az egymssal tfedsben lvo Nem Vltoztathat Szakaszok pedig kivlthatk
egy sszegzett pldnnyal. Amennyiben tbb Nem Vltoztathat Szakasz szerepelne
ugyanazon cmmel, m eltro tartalommal, gy alaktsa t minden egyes szakasz cmt
olyan mdon, hogy mgrja zrjelben az eredeti szerzo s kiad nevt (ha ismeri),
vagy egy egyedi sorszmot. Ha szksges, a Nem Vltoztathat Szakaszok cmeivel is
vgezze el a fenti mdostsokat a kombinlt munka licenszben.
A kombinlt munkban az eredeti dokumentumok sszes El o zmnyek elnevezsu szakaszt ssze kell olvasztania, miltal egy sszefgg o Elozmnyek szakasz
jn ltre; hasonlkpp kell eljrnia a Ksznetnyilvnts, illetve az Ajnlsok szakaszok tekintetben. Ugyanakkor minden Jvhagys elnevezsu szakaszt trlnie
kell.
54
6. DOKUMENTUMGYUJTEMNYEK
nnek lehetosge van a Dokumentumbl, illetve brmely egyb, e Licensz hatlya alatt
kiadott dokumentumbl gyujtemnyt ltrehozni, s az egyes dokumentumokban tallhat licenszeket egyetlen pldnnyal kivltani, feltve, hogy a gyujtemnyben szerepl o
sszes dokumentum esetn minden ms tekintetben kveti jelen Licensz feltteleit,
azok sz szerinti sokszorostsra vonatkozan.
Tetszse szerint ki is emelhet egy meghatrozott dokumentumot a gyujtemnyb o l,
tovbb terjesztheti azt jelen Licensz felttelei alapjn, feltve, hogy a szban forg dokumentumhoz mellkeli e Licensz egy pldnyt, s minden egyb tekintetben betartja
jelen Licensz elorsait a dokumentum sz szerinti sokszorostsra vonatkozan.
7. SSZEFUZS
FGGETLEN MUNKKKAL
A Dokumentum s annak szrmazkainak klnll, vagy fggetlen dokumentumokkal, illetve munkkkal val sszefuzse egy kzs trolsi, vagy terjesztsi egysgen,
egszben nem tekintheto a Dokumentum Mdostott Vltozatnak, feltve, hogy az
sszefuzs nem lesz szerzoi jogvdett. Az effajta sszefuzs eredmnyeknt sszegzs jn ltre, m jelen Licensz nem rvnyes az abban a Dokumentummal egytt
szereplo nll munkkra, hacsak azok nem a Dokumentum szrmazkai.
Amennyiben a 3. szakasz Bortszvegekre vonatkoz rendelkezsei alkalmazhatk a Dokumentum e pldnyaira, s a Dokumentum a teljes sszegzsnek kevesebb,
mint egynegyedt teszi ki, gy a Dokumentum Bortszvegeit olyan mdon is el lehet helyezni, hogy azok csak magt a Dokumentumot fogjk t. Minden ms esetben
a teljes sszegzs bortlapjain kell feltntetni a fenti szvegeket.
8. FORDT S
A fordts egyfajta mdostsnak tekintheto , gy ht a Dokumentum lefordtott pldnyai a 4. szakasz rendelkezsei alapjn terjesztheto k. A Nem Vltoztathat Szakaszok
lefordtsa kln engedlyt ignyel a szerzo i jogtulajdonostl, mindazonltal kzzteheti a lefordtott vltozatokat is abban az esetben, ha az eredeti Nem Vltoztathat
Szakaszokat is belefoglalja a munkba. E Licensz lefordtsra ugyanezek a felttelek
rvnyesek, vagyis a lefordtott vltozat csak akkor jelenhet meg, ha mellette ott van
az eredeti, angol nyelvu Licensz szvege is. Amennyiben eltrs mutatkozna az eredeti vltozat, illetve a fordts kztt, gy a Licensz angol nyelvu eredetije tekintend o
mrvadnak.
9. MEGSZUNS
A jelen Licenszben egyrtelmuen kijellt kereteken kvl tilos a Dokumentum brminemu sokszorostsa, mdostsa, allicenszelse, vagy terjesztse. Minden ezzel
szembeni sokszorostsi, mdostsi, allicenszelsi, vagy terjesztsi ksrlet a jelen Licenszben meghatrozott jogok automatikus megszunst vonja maga utn. Azok a fe-
55
56
Htlapszveg
Ezen dokumentum eredetije kszlt 2001-2002-ben a Linux-Felhasznlk
Magyarorszgi Egyeslete gondozsban a MEH IKB pnzgyi tmogatsval. A dokumentum szabadon terjesztheto s msolhat a GNU Szabad
Dokumentcs Licensz felttelei alapjn.
57