unix/linux operációs rendszer üzemeltetése

60
MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR Unix/Linux operációs rendszer üzemeltetése (BSc hallgatóknak) (béta változat) KÉSZÍTETTE: DR. MILEFF PÉTER Miskolci Egyetem Általános Informatikai Tanszék 2010

Upload: quemoocha9875

Post on 10-Nov-2015

248 views

Category:

Documents


5 download

DESCRIPTION

Unix Linux Rendszergazda v9 Beta

TRANSCRIPT

  • MISKOLCI EGYETEM

    GPSZMRNKI S INFORMATIKAI KAR

    Unix/Linux opercis rendszer zemeltetse

    (BSc hallgatknak)

    (bta vltozat)

    KSZTETTE:

    DR. MILEFF PTER

    Miskolci Egyetem

    ltalnos Informatikai Tanszk

    2010

  • 2

    Tartalomjegyzk

    1. Bevezets ................................................................................................................................................... 6

    1.1 A Unix rvid trtnete ............................................................................................................................. 6

    1.2 A GNU projekt, avagy hogy kerl ide a Linux? ......................................................................................... 7

    2. A Linux mkdsnek rvid ttekintse ................................................................................................... 7

    2.1 A 386-os csoda ................................................................................................................................... 7

    2.2 Memriakezels rviden ................................................................................................................... 8

    2.2.1 Buffer Cache alap megolds .................................................................................................... 9

    2.2.2 Tovbbi gyorst megoldsok .................................................................................................... 9

    2.3 A folyamatok temezse ................................................................................................................. 10

    2.4 Tbb felhasznls mkds ............................................................................................................ 10

    2.4.1 Felhasznlk megklnbztetse ........................................................................................... 11

    3. A Unix fjlrendszer s alapfogalmai ........................................................................................................ 11

    3.2 A fjlrendszer ......................................................................................................................................... 11

    3.2.1 Standard jegyzkszerkezet ............................................................................................................. 12

    3.2.2 Linux f fjlrendszerei .................................................................................................................... 13

    3.2.2 Linkek .............................................................................................................................................. 15

    3.2.3 A /proc fjlrendszer ..................................................................................................................... 16

    3.2.4 Fjlrendszer ltrehozsa .............................................................................................................. 17

    3.3 A csereterlet ........................................................................................................................................ 17

    3.3.1 Csereterlet ltrehozsa .............................................................................................................. 18

    3.4 Az fstab fjl ............................................................................................................................................ 19

    3.5 Fjlrendszerek psgnek ellenrzse .................................................................................................. 20

    3.6 Chroot .................................................................................................................................................. 21

    4. Fjlok megosztsa s tvitele .................................................................................................................. 21

    4.1 FTP ......................................................................................................................................................... 21

    4.2 NFS ........................................................................................................................................................ 22

    4.3 Samba ................................................................................................................................................... 24

    4.3.1 Samba konfigurci ........................................................................................................................ 25

    4.3.2 Egy alap szerver konfigurci ......................................................................................................... 25

    4.3.3 Authentikcis belltsok .............................................................................................................. 25

    4.3.3 Megosztsok kezelse ................................................................................................................... 26

    4.3.4 Megosztsok felcsatolsa .............................................................................................................. 27

  • 3

    5. Rendszerindts ....................................................................................................................................... 27

    5.1 ltalnos ttekints ......................................................................................................................... 27

    5.2 Az init, mint els folyamat ............................................................................................................... 28

    5.3 Futsi szintek ................................................................................................................................... 29

    5.3.1 Futsi szintek konfigurcija ................................................................................................... 29

    5.4 Alrendszerek indtsa s lelltsa ................................................................................................... 30

    6. Felhasznlk nyilvntartsa ..................................................................................................................... 31

    6.1 A felhasznli azonostk ................................................................................................................ 31

    6.2 Felhasznlk ltrehozsa ................................................................................................................. 31

    6.3 A felhasznl letiltsa ...................................................................................................................... 32

    6.4 A felhasznl trlse ....................................................................................................................... 32

    6.5 Felhasznl vlts ............................................................................................................................ 32

    6.6 Felhasznlk tulajdonsgainak megvltoztatsa ............................................................................ 33

    6.7 Csoportok adminisztrcija ............................................................................................................. 34

    6.8 ectc/password fjl ........................................................................................................................... 34

    7. Bejelentkezs a rendszerbe ..................................................................................................................... 35

    6.2 A klasszikus bejelentkezs folyamata .................................................................................................... 35

    6.3 A hj indulsa ........................................................................................................................................ 36

    8. Az X grafikus fellet ................................................................................................................................. 38

    7.1 Az X Window System rviden .............................................................................................................. 38

    8.1.1 Az X bels mkdse ............................................................................................................... 38

    8.1.2 Kliensalkalmazsok s ablakkezelk ........................................................................................ 39

    8.1.3 A Desktop krnyezet ................................................................................................................ 39

    8.2 Az X elindtsa .................................................................................................................................. 40

    8.2.1 A startx mkdse ................................................................................................................... 40

    8.2.2 Az X session indulsa ............................................................................................................... 40

    8.3 X hasznlata tvoli kliensekkel ........................................................................................................ 40

    8.3.1 Az X kliens kimenetnek tirnytsa ...................................................................................... 41

    8.3.2 X tirnytsa ssh segtsgvel .................................................................................................... 42

    9. Linux hlzatba kapcsolsa ..................................................................................................................... 42

    9.1 A hlzati interfszek konfigurlsa ................................................................................................ 43

    9.2 A vezetk nlkli hlzati interfszek konfigurlsa ....................................................................... 44

    9.2.1 Kapcsolds egy ismert vezetk nlkli hlzathoz ................................................................ 45

    9.3 Az tvonalvlaszt tblzat ............................................................................................................. 47

    9.3.1 Az tvonalvlaszt tblzat mdostsa.................................................................................. 48

  • 4

    9.4 Fbb konfigurcis llomnyok ....................................................................................................... 49

    10. Folyamatok .......................................................................................................................................... 49

    10.1 A daemon folyamatok ..................................................................................................................... 49

    10.2 A folyamatok monitorozsa ............................................................................................................ 50

    10.3 Httrfolyamatok ............................................................................................................................ 50

    10.4 Kommunikci a folyamatokkal, megszntets .............................................................................. 51

    10.4.1 Folyamat vezrlse a Bash shell-ben ....................................................................................... 52

    10.4.2 Folyamatok prioritsa .............................................................................................................. 52

    10.5 Automatizlt programindts .......................................................................................................... 53

    10.5.1 Felhasznlk lehetsgei ......................................................................................................... 54

    Forrsmunkk: ................................................................................................................................................. 55

    Sztr ............................................................................................................................................................... 55

    Gyakori Unix parancsok ................................................................................................................................... 56

  • 5

    Elsz

    Jelen tananyag folyamatos fejleszts alatt ll. Ezek alapjn lehetsges, hogy bizonyos rszek hinyosak, vagy

    rosszul dokumentltak, esetleg helyesrsi hibkat tartalmazhatnak. Amennyiben a kedves olvas ilyesmit

    fedez fel, krem jelezze a jegyet ksztjnek.

  • 6

    1. Bevezets

    A Unix nem egy j opercis rendszer. Elg rgta (informatikai mrtkkel mrve nagyon rgta) stabilan s egyre nvekv arnyban jelen van a szmtstechnikai vilgban. Hossz ideig az egyetemi, kutati szfrban volt egyeduralkod, s mostanban egyre jabb s jabb terleteket (banki, vllalati, adatfeldolgoz szfra) hdt meg. Legfbb ereje dinamikussgban, alkalmazkodkpessgben rejlik: kpes ugyanazt a krnyezetet nyjtani mind a multiprocesszoros mainframe, mind az otthoni 386-os PC-je eltt l felhasznlnak. Manapsg, amikor az otthoni szmtgpek teljestmnye, illetve a velk szemben tmasztott ignyek, az elvgezend feladatok mr egyre kzelebb kerlnek az egykori nagygpek szintjhez, egyre inkbb szksg van egy olyan krnyezetre, amely kpes hardvertl, platformtl fggetlenl mindenhol ugyanazt nyjtani.

    1.1 A Unix rvid trtnete

    A Unix els vltozatt 1969-ben ksztette Ken Thomson s Dennis Ritchie az AT&T Bell Laboratriumban egy PDP-7 tpus szmtgpre. A rendszer magjt 1973-ban trtk C nyelvre - ennek ksznheti a Unix mind a mai napig legnagyobb elnyt, a knny hordozhatsgot. Az AT&T kezdetben ingyen az amerikai egyetemek rendelkezsre bocstotta a Unix forrskdjt, gy tz ven bell szzezer fl emelkedett a mkd Unix rendszerek szma. A gyors terjedsnek ksznheten jelentkeztek a htrnyai is: nem volt egysges ellenrzse senkinek sem a forrskd, a rendszer egysge felett, gy szmos (helyi mdostsokon alapul) vltozat alakult ki, amelyek kzl a kt legjelentsebb a Berkeley egyetemen kifejlesztett BSD Unix, illetve az AT&T hivatalos vltozata a System V (System Fiv - SVR4), amelyet a Unix System Laboratories fejleszt tovbb. (Az USL-t ksbb felvsrolta a Novell). Ezen f vltozatok mellett szmos kisebb-nagyobb alvltozat van forgalomban mg napjainkban is.

    Amint a Unix egyre npszerbb kezdett vlni a kereskedelmi szfrban, egyre tbb cg ismerte fel egy egysges Unix szabvny fontossgt, s tbb egysgest, szabvnyost bizottsg s csoportosuls kezdett dolgozni. Az USL kr tmrl cgek az SVR4 mg sorakoztak fel, a BSD irnybl rkezk pedig az OSF (Open Systems Foundation) ajnlst, az OSF/1-et tmogatjk. Idkzben fggetlen (nem az rdekelt cgek tmogatsval ltrejtt) bizottsgok is prbltk valamennyire egysgesteni a BSD s System V ajnlsokat, s az IEEE kidolgozta (az ANSI s az ISO tmogatsval) a POSIX (Portable Operating System Interface (x)) ajnlst, amely igyekszik egyesteni a kt f szabvnyt.

    Termszetesen, mivel a Unix nagyon knnyen hordozhat, mr elg korn megszlettek az Intel- PC-alap Unixok is, elszr csak oktatsi clokra (pl. a mr 286-oson mkd XENIX), majd megjelentek a mr komoly munkra is kpes PC-s Unix verzik.

    Elterjedt UNIX-ok:

    A UNIX neve Gyrt cg

    AIX IBM HP-UX Hewlett-Packard Irix Silicon Graphics Nextstep Next Solaris Sun Microsystems SunOS Sun Microsystems Unixware Novell

  • 7

    1.2 A GNU projekt, avagy hogy kerl ide a Linux?

    Amikor a Unix mg csak az egyetemi s akadmiai szfrban volt kzismert, kialakult krltte egy hatalmas programkrnyezet: minden egyetem, kutatintzet elksztette sajt megoldsait felmerl szmtstechnikai problmira (szvegszerkeszts, mindenfle apr utility, fordtprogramok), s mivel ezek az intzmnyek non-profit szervezetek voltak, elkszlt szoftvereiket publikuss tettk. Az egysges C nyelv s a krnyezet miatt minden Unix felhasznl lefordthatta, hasznlhatta, mdosthatta s tovbbfejleszthette ket szinte teljes szabadsggal.

    Ennek a folyamatnak az eredmnyeknt alakult meg Richard Stallman kezdemnyezsre az FSF (Free Software Foundation) alaptvny, melynek clja egy szabadon (forrskdban is) ingyen hozzfrhet szoftverkrnyezet biztostsa brki szmra, illetve ennek rszeknt a GNU project (GNU is Not UNIX), amely pedig egy minl teljesebb Unix rendszert kvn ltrehozni s biztostani.

    Ennek jogi megfogalmazsa a GPL (GNU General Public Licence). GPL al es szoftvert brki kszthet, amennyiben megfelel bizonyos feltteleknek, s jogi (copyright) problma esetn szmthat az FSF segtsgre. GPL al es szoftvert brki hasznlhat, st mdosthatja is azt, amennyiben amikor a szoftvert tovbbadja, tovbbadja annak teljes forrskdjt is, esetleges mdostsai feltntetsvel. GPL szoftverrt pnzt krni nem szabad, viszont fel lehet szmtani a msolssal, terjesztssel, installlssal konfigurlssal stb. kapcsolatos kltsgeket. A szoftver mdostsrt sem szabad pnzt krni - GPL forrs mdostva is GPL forrs marad.

    Megvolt teht a GNU krnyezet: fordtk, segdprogramok, s a szabadon terjeszthet XFree grafikus fellet. Egyedl egy olyan opercis rendszer mag hinyzott csak, amely bizonytottan szabad (nem tartalmaz copyright al es USL vagy BSD kdot). Ennek megrst kezdte el helsinki egyetemista korban Linus Torvalds, hogy aztn tbb szz segtjvel egytt ltrehozza azt, amit ma Linuxknt ismernk: egy teljes, szabad opercis rendszert brki szmra.

    A Linux jogi rtelemben teht nem mondhat UNIX-nak, leghelyesebb volna Unix-klnnak nevezni. Nem kveti szigoran egyik szabvnyt sem: sok BSD-s s SYSV jellemvonst egyest magban. Legkzelebb a fggetlen POSIX-hoz ll, mind a mai napig a Linux tekinthet az egyik legteljesebb POSIX implementcinak.

    Mik a disztribcik?

    A disztribci egy Linux kernelen alapul teljes (mkdkpes) Unix rendszer, segdprogramokkal, alkalmazsokkal egytt. Egy disztribci elksztse tulajdonkppen a C forrsban meglv utility-k, programok lefordtsbl, jegyzkstruktrba helyezsbl s sszekonfigurlsbl ll. Sokfle disztribci ltezik, ingyenesek is s kereskedelmiek is (pl.: Slackware Linux, Mandriva Linux, OpenSuse, Redhat Linux, Novell Linux, Ubuntu, Kubuntu, Zenwalk, Frugalware Linux, Uhu Linux, Fedora Linux, stb). Egy oldal, amely figyelemmel ksri a top 100 Linux disztribcit: www.distrowatch.com. Itt informcikat kaphatunk az egyed kiadsokrl s a tartalmazott fbb csomagok listjrl s verzijrl.

    2. A Linux mkdsnek rvid ttekintse

    2.1 A 386-os csoda

    A Linux egy valdi tbbfeladatos (multitask) s tbbfelhasznls (multiuser) opercis rendszer. Eredetileg az Intel 80386 processzor nyjtotta fejlett tr s taszkkezelsi lehetsgeket, valdi idosztsos krnyezetet kihasznlst clozta meg. De mra nagyon sok hardverre adaptltk. A 386-os processzor tbbfle zemmdjai kzl a Linux a vdett zemmdot hasznlja a kernel, azaz az opercis rendszer mag futtatsra. Ebben az zemmdban a kernelnek hozzfrse van a gp sszes fizikai erforrshoz, a felhasznli folyamatok (processzek) pedig n. user zemmdban futnak.

    A 386-os processzoron lehetsg van tbb, egymstl fggetlen user md n. taszk definilsra. amelyek egymstl vdettek, nem tudjk egyms s a felgyel kernel memria- terlett kiolvasni vagy mdostani, s a gp kzvetlen hardver erforrsaihoz sincs hozzfrsk. gy biztosthat az egyes felhasznli programok egymstl val vdelme. Mivel az egyes folyamatoknak a gp fizikai erforrsaihoz

  • 8

    (pl. winchester, kperny) sincs kzvetlen hozzfrsk, brmilyen perifriamveletet csak a kernel meghvsa tjn vgezhetnek, gy md nylik pldul biztonsgos file-rendszer megvalstsra is.

    A kernel teljes mrtkben, fizikai szinten hozzfr a gp erforrsaihoz. Fizikai, a lehet legalacsonyabb szinten kezeli is a hardvert, a legnagyobb teljestmny elrse rdekben.

    1.bra. Unix struktrja

    2.2 Memriakezels rviden

    Memriakezelsben szintn kihasznlja a 386 ltal nyjtott lehetsgeket: lapozsos virtulis memriakezelst hasznl, ahol a fizikai memrit kiegszthetjk a winchesterrl vett virtulis memrival (page vagy swap terlet). A teljes memrit lapokra osztja, ezen virtulis lapokat rendeli hozz az egyes folyamatokhoz, s gondoskodik rla, hogy az ppen szksges lapok a fizikai memriban legyenek. A Linux hasznlja a virtulis trkezels mindkt (gyakran sszekevert) fajtjt, a lapozst (paging) s a trcsert (swapping) is. Lapozsnl folyamatoktl fggetlenl, a rendszer arra gyel, hogy a szksges lapok a fizikai memriban legyenek, ha azok esetleg diszken vannak, akkor gondoskodik memriba olvassukrl, illetve ha a fizikai memria megtelt, akkor a ritkbban hasznlt lapokat a diszkre rja. Trcsernl pedig a rendszer figyelemmel ksri az egyes folyamatok aktivitst is, s ha szabad memrira van szksg, egy inaktv folyamat egszt httrtrra rja, felszabadtva ezzel a folyamat ltal hasznlt sszes fizikai memrit.

    A Linux a kt mdszer keverkt hasznlja: amg rendelkezsre ll elegend memria, gy csak egyes lapokat lapoz ki/be, de pldul ha gy ltja, hogy egy folyamat hossz ideje inaktv, s nem csak egy-kt lapnyi memrira van szksg, akkor az adott folyamathoz tartoz sszes fizikai lapot diszkre menti.

    Linux alatt a merevlemez virtulis memriakezelse dinamikusan, menet kzben is vltoztathat, teht az opercis rendszer lelltsa nlkl lehetsgnk van a virtulis memria mretnek megvltoztatsra.

  • 9

    A swap terlet hasznlhat fjlknt, vagy akr kln partcinknt. Akr egyszerre tbb swap terletet is hasznlhatunk.

    2.2.1 Buffer Cache alap megolds

    Szorosan kapcsoldik a memria-lapkezels mechanizmushoz a Linux buffer cache kezelsi mdszere. A buffer cache a Unix rendszerek diszk-elrshez hasznlt gyorsttrja, amelyet a kernel kezel, mivel minden folyamat csak s kizrlag a kernel meghvsval vgezhet diszkmveletet. A gyorst tr clja minden mai opercis rendszerben gyakorlatilag az I/O hozzfrsek gyorstsa, ezzel pedig a felhasznli lmny nvelse. Nhny alapfogalom:

    A buffer cache mrete dinamikusan, a rendszer-terhelstl fggen vltozik: mindig az ppen szabad fizikai memria egszt erre a clra hasznlja.

    A diszk-rsok is a buffer cache-n keresztl trtnnek: minden rs elszr a cache memriba kerl, s vagy egy megadott id elteltvel rdik ki diszkre, vagy pedig akkor, ha a rendszer szmra elegend kirnival sszegylt.

    Ezrt fontos az, hogy a megfelel shutdown procedra (a rendszer lelvse, lelltsa) vgrehajtsa nlkl soha ne kapcsoljuk ki a gpet.

    Kikapcsols eltt mindig szksges a diszk tartalmnak szinkronizlsa a memriban lv llapottal, a nyitott file-ok lezrsa - ezen lpsek elmulasztsa esetn kikapcsolskor a diszk tartalma helytelen lehet, informcik, egsz file-ok veszhetnek el. Ugyanez trtnhet persze ramsznet vagy ms hiba esetn is. Ez az az r, amit a Unix fjlrendszer ltal nyjtott nagyobb teljestmnyrt fizetnnk kell. A Unix-ok ltalban (gy a Linux is) rendelkeznek funkcikkal az esetleges informciveszts minimalizlsra, illetve a korrekt file-rendszer visszalltsra. Tulajdonkppen egy tlagos Linux rendszerben vratlan rendszersszeomlskor maximum csak a legutbbi 30 msodperc munkja veszhet el - nagyon kicsi valsznsg extrm esetektl eltekintve. De az ilyen adatveszts veszlye minden, a diszk-rst bufferel rendszerben fennll (pl.: Windows).

    2.2.2 Tovbbi gyorst megoldsok

    Demand paging: egy futtathat fjl vgrehajtsakor nem az egsz fjl tltdik be a memriba, hanem mindig csak azok a lapjai, amikre a vgrehajts sorn ppen szksg van. Mivel minden programnak vannak olyan rszei melyek csak egyszer (vagy akr egyszer sem) futnak le, ezeket a rszeket vagy be sem tlti a rendszer, vagy miutn lefutottak felszabadtja az ltaluk elfoglalt memriaterletet.

    Osztott kdknyvtrak hasznlatnak alapelve: a programok nagy rsze C nyelven rdnak, s valsznleg sokban van olyan fggvny, amely ms programokban is elfordul. Ezeket felesleges lenne minden programmal a memriba tlteni, elg egyszer, s meg kell mondani a programoknak, hogy hol keressk ezeket a fggvnyeket a memriban. Ezt csinlja a dinamikus linker, amely a programokba beptett programrszletnek segtve gondoskodik a fggvnyek megtallsrl, illetve a memriba tltskrl, amennyiben mg nem lennnek betltve.

    Copy-on-write mechanizmus: j folyamat ltrehozsa mindig egy msik folyamat memrijnak lemsolsval trtnik. Mivel viszont egy memrialapra tbb folyamat memriatrkpbl tudunk hivatkozni, nem kell azt a lapot lemsolni, csak el kell helyezni a lapra mutat hivatkozsokat a megfelel helyeken. Innentl kezdve csak arra kell vigyzni, hogy amikor az ugyanarra a lapra hivatkoz folyamatok kzl valamelyik mdostani akarja a lapot, akkor le kell msolnunk a szmra, s gy mr mdosthatja, mert az mr csak az v.

  • 10

    2.3 A folyamatok temezse

    Az opercis rendszernek egy processzoron kell konkurensen tbb feladatot vgrehajtania, ezrt valamilyen formban meg kell osztania a rendelkezsre ll CPU idt az egyes folyamatok kztt. A Unix rendszerek (gy a Linux is) a preemptv idosztsos temezs mdszert alkalmazzk, ami azt jelenti, hogy a rendelkezsre ll idt felosztja egyenl rszekre, s ezekbl az egyenl idszeletekbl juttat a folyamat prioritsnak megfelelen tbbet vagy kevesebbet az adott folyamatnak. Az egyes folyamatok prioritsa termszetesen llthat. Az temezs preemptv volta annyit jelent, hogy amikor az adott folyamat szmra kijellt idszelet letelt, a kernel megszaktja a folyamat futst s ms folyamatnak adja t a vezrlst - nincs teht md arra, hogy egy folyamat a vgtelensgig magnl tartsa a vezrlst, s megakadlyozza a tbbi folyamat futst. Linuxban az temezs alapegysge az 1/100 msodperc.

    2.bra. Preemtv multitaszk

    A Unix nem vals- idej (real-time) opercis rendszer: ami annyit jelent, hogy ha tbb folyamat fut egyszerre, s az egyiktl elkerl a vezrls, akkor valamekkora id mlva vissza is fogja majd kapni a kt aktv (fut) llapot kzti idre azonban nincs szigor fels korlt. Az esetek 99.9999999 szzalkban ez az id (mg egy leterhelt rendszeren is) pr tized msodperc azonban soha nem mondhatjuk, hogy biztosan csak ennyi.

    2.4 Tbb felhasznls mkds

    A Linux, mint korbban emltettk, egy tbb felhasznls opercis rendszer. Ez azt jelenti, hogy egyidejleg tbb felhasznl is hasznlhatja ugyanazt a rendszert, s mindegyikk akr tbb programot is futtathat. Hogyan valsul ez meg? A Unix filozfia minden egyes bejelentkezett felhasznlhoz hozzrendel egy-egy gynevezett terminlt: egy terminl pedig egy billentyzet + megjelent egysg egyttest jelenti. Az adott Unixos gphez legkzvetlenebbl csatolt terminlt (Linux esetn a gp sajt billentyzett s monitort) konzol terminlnak nevezzk. Ez abbl a szempontbl kitntetett, hogy bizonyos rendszeradminisztrcis feladatok csak innt hajthatk vgre. Tovbbi terminlok csatolhatk mg a gphez soros vonalon (ez a legsibb Unixos megolds).

    A hlzaton vagy grafikus felleten keresztl bejelentkezett felhasznlkhoz n. pszeudo-terminlokat rendel a rendszer, ahol is a billentyzet s a kperny annak a gpnek a billentyzethez s kpernyjhez rendeldik, amely eltt a felhasznl l. A terminlok megnevezse a szakzsargonban tty, illetve a pszeudo-terminlok pty vagy ttyp, a Linux ez utbbi megnevezst hasznlja. Minden Unix rendszer tbbfle terminlt kpes kezelni. Az egyes terminlokat gyrt s tpusra utal megnevezssel azonostjk: Amennyiben csak konzolrl hasznljuk gpnket, elg annyit tudni, hogy a konzol terminl azonostja console.

  • 11

    2.4.1 Felhasznlk megklnbztetse

    A Unix/Linux rendszerekben minden felhasznlnak van egy azonostja, s ehhez tartozik egy jelsz. A finomabb hozzfrs hierarchia kialaktsa rdekben a felhasznlkat csoportokba oszthatjuk: minden felhasznlnak van egy elsdleges csoportja (pl. student2009), s ezen kvl tartozhat mg ms csoportokhoz is. A csoportneveket konvenci szerint kisbetvel rjk.

    A rendszer minden egyes felhasznlhoz egy numerikus felhasznl s (esetleg tbb) csoport- azonostt rendel: UID felhasznli azonost s GID csoportazonost. Lteznek kitntetett felhasznlnevek is, illetve legalbb egy, amelyik minden rendszeren megvan: ez a root felhasznl, a rendszergazda azonostja, aki felels az adott rendszer karbantartsrt s zemeltetsrt, s aki a rendszerben mindent megtehet. rdekessg, hogy tbb, a root-tal ekvivalens felhasznlt is ltrehozhatunk. Az sszes olyan felhasznl, akinek UID-je 0 (felhasznl ltrehozsakor ezt megadhatjuk) root-tal ekvivalens lesz. ltalban nem rdemes ezt tennnk: egy rendszeren ppen elg egy darab teljhatalm felhasznl.

    3. A Unix fjlrendszer s alapfogalmai

    A Unix/Linux-ban (tlzs nlkl) minden fjl. Definci szerint a file olyan kommunikcis vgpont, ahova vagy byte-folyamot (byte stream) tudunk rni, vagy byte-folyamot tudunk onnt olvasni (esetleg mindkettt). Fjlknt kezelhet teht a billentyzet (csak olvashat), a szveges kperny (csak rhat), a nyomtat, a CD rnk, de mg a fizikai memria tartalma is. A gpben lv winchester szektorait (ha nem csak egyes fjlokat akarunk elrni) is egy specilis file olvassval illetve rsval rhetjk el, ugyangy az hlzati eszkzket is a file-kezels szablyainak megfelelen hasznlhatjuk. Ez utbbi hrom esetben persze szksg van a megfelel jogosultsgokra: a fizikai memria tartalmt vagy direktben a winchester szektorait mezei felhasznl nem lthatja.

    Legalbb hromfle fjltpusrl beszlhetnk: az egyszer fjlok, a jegyzkfjlok (rviden jegyzkek) s a klnleges fjlok.

    Egyszer fjl: brmilyen llomny, ami valamilyen adatot, szveget tartalmaz. Egy program forrskdja, csakgy, mint a futtathat llomny, egy szveges dokumentum vagy az gyfladatbzisunk szintgy egyszer fjl.

    Jegyzkfjlok: lehetv teszik, hogy a fjljainkat (mindhrom tpust) valamilyen logikai rendszerbe szervezzk.

    Klnleges fjlok: ezek rendszerint olyan fjlok, amelyek valamilyen eszkzt kpviselnek, pldul a szalagos meghajtt, a terminlunkat vagy a hangkrtynkat.

    3.2 A fjlrendszer

    A Unix opercis rendszer egyetlen fjlrendszerrel dolgozik. Ez alapveten egy fa szerkezet struktra, melynek van egy gykere, a / nev jegyzk. Ebben, mint minden jegyzkben a korbban trgyalt hromfle tpus bejegyzsek tallhatk. Minden egyes jegyzk tovbbi bejegyzseket s gy tovbbi jegyzkeket tartalmazhat, tovbb biztosan tartalmazza a sajt magra mutat . s a szljre mutat .. bejegyzst. A gykrben a .. is sajt magra mutat.

    Egy jegyzkben minden bejegyzsnek kln nvvel kell rendelkeznie, akkor is, ha egyikk sima fjl, msikuk jabb jegyzkbejegyzs. Bejegyzs neve az ASCII 0-s s a / jel kivtelvel tetszleges karaktert tartalmazhat. Nem lehet nullahosszsg, s hossznak maximumt klnbz Unix rendszerek mskpp rgztik. Minden normlis Unix-ban legalbb 14 karakteres lehet a bejegyzs neve, de tbbnyire 255 karakter megengedett. Az efltti karaktereket sz nlkl lecsippenti, figyelmen kvl hagyja a rendszer.

  • 12

    Nhny tovbbi alapfogalom:

    Metaadatok: a fjlrendszer bels adatstruktrja, amely biztostja az adatok megfelel szervezst s elrst a lemezen. Ezek alapveten adatokrl szl adatok. Szinte minden fjlrendszernek sajt metaadat-szerkezete van, ami szerepet jtszik abban, hogy a fjlrendszerek eltr teljestmnyjellemzkkel rendelkeznek. Nagyon fontos, hogy a metaadatok ne srljenek, mivel ellenkez esetben a fjlrendszerben trolt adatok elrhetetlenn vlhatnak.

    Inode: az inode-ok az egyes fjlokkal kapcsolatos informcit tartalmazzk: a mretet, a lncok szmt, a mutatkat azon lemezblokkokra, amelyek a fjltartalmat tnylegesen troljk, valamint a ltrehozs, mdosts s hozzfrs dtumt s idejt.

    Napl: a fjlrendszerekkel kapcsolatban naplnak nevezzk azt a bels struktrt a lemezen, amelyben a fjlrendszer trolja a fjlrendszer metaadatainak mdostsait. A naplzs (journaling) lnyegesen cskkenti a Linux-rendszer sszeomlst kvet helyrells idejt, mivel feleslegess teszi a korbbi hossz keressi folyamatot, amely a rendszerindtsnl vgigvizsglta a teljes fjlrendszert. Ehelyett csak a naplban rgztett esemnyek kerlnek jra vgrehajtsra.

    3.2.1 Standard jegyzkszerkezet

    A Unix-ok jegyzkszerkezete sok hasonlsgot mutat. Az albbi jegyzkek tbb disztribciban jellemzek, ezek alkotjk a Unix-os fjlrendszerek gerincvzt.

    /bin: Itt tallhatk a ltfontossg binris programok.

    /dev: A specilis eszkzk lelhelye.

    /etc: Mindenfle vegyes dolgot tartalmaz, pldul egyes programok konfigurcis fjljait, a jelszllomny(oka)t, stb.

    /etc/rc.d: A rendszer indulst s lellst irnyt szkriptek vannak itt.

    /etc/skel: Az itt lv fjlokat kapja meg minden j ember a home jegyzkbe.

    /home: Rendszerint itt vannak a felhasznlk sajt jegyzkei.

    /lib: A legtbb program futshoz nlklzhetetlen dinamikusan linkelhet knyvtrak vannak itt.

    /proc: Linuxokra jellemz, a processzekkel kapcsolatos informcikat hordoz virtulis fjlrendszer.

    /root: A rendszergazda home jegyzke.

    /sbin: A rendszergazda szmra alapvet fontossg binris programok jegyzke.

    /tmp: Ideiglenes fjlok trolsra szolgl jegyzk. Mindenki rhat bele, a rendszergazda pedig egy programocskval mondjuk naponta trli a tz napnl rgebbi fjlokat.

    /usr: Ez a knyvtr teszi ki a hasznlt lemezterlet nagysgrendileg 80-90%-t.

    /usr/bin: Binris programok, melyek nlkl vgszksg esetn is ltezni lehet.

    /usr/doc: Dokumentcik.

    /usr/games: Mi is lehet ez?

    /usr/info: Info oldalak.

    /usr/lib: Mint a /lib.

    /usr/local: Az adott szerverre specilisan jellemz dolgokat tartalmazza. Neki is van bin, lib, man, sbin, src s mg sok-sok alknyvtra.

    /usr/man: Kziknyv oldalak.

    /usr/sbin: Mint /sbin, csak kevsb fontosak.

    /usr/src: Forrskdok.

    /var: Srn vltoz dolgok otthona.

    /var/catman: Megformzott kziknyv oldalak.

    /var/log: Bizonyos, fleg hlzattal kapcsolatos programok logfjljai (napli).

  • 13

    /var/spool: Vrakozsi sorok, pldul elkldend levelek vagy elvgzend nyomtatsok feljegyzseit tartalmazza. Az rkez levelek is sok Unixban itt vannak.

    3.2.1.1 A /dev jegyzk

    A /dev (devices - eszkzk) aljegyzkben tallhatk a rendszer- erforrsokat reprezentl specilis file-

    ok. Ezek teremtik meg a kapcsolatot a kernel device driver-nek (eszkzmeghajt) nevezett, az egyes fizikai eszkzk kezelsrt felels komponensei s a rendszer egyb rszei kztt. Ktfle eszkzmeghajtt klnbztetnk meg: a karakteres ("c") s a blokkos ("b") tpust, annak megfelelen, hogy az ltala reprezentlt eszkz milyen szervezs. Egy winchester, vagy floppy eszkzmeghajtja blokkos, mg pldul egy soros vonalat, vagy terminlt reprezentl file-hoz tartoz eszkzmeghajt karakteres tpus.

    Lssuk rviden a fbb file-csoportokat a /dev alatt, illetve egy-kt pldn keresztl azt, hogyan hasznlhatjuk ket:

    /dev/audio: Ha valamilyen hangkrtya vagy ms zajkelt szerkezet van a kernelbe konfigurlva, akkor a .au formtum file-okat ide kirva meghallgathatjuk ket. Plda: "cat x.au >/dev/audio " Ha a hangkrtya digitalizlsra is kpes, ez a file olvashat is. /dev/cdrom: Ez ltalban egy link a bonyolultabb nev, valdi CD-ROM specilis file-ra. Hasonlan hasznlhat, mint egy winchester specilis file. /dev/cua*: A soros vonala(ka)t jelent specilis file-ok. rsuk vagy olvassuk kldst/vtelt jelent a megfelel vonalon. /dev/fd*: A floppy diszkeket reprezentljk. A fd0 kezdet file-ok az A floppyra vonatkoznak, a fd1 kezdetek a B-re. /dev/hd*: A rendszerben lv AT buszos winchesterek: a /dev/hda az els winchestert jelenti, /dev/hdb a msodikat. Ha a gpben kt IDE vezrl vagy egy EIDE vezrl van, akkor a tbbi diszkhez a /dev/hd1[ab] nven frhetnk hozz. Ha ezeket a file-neveket szmokkal folytatjuk, az egyes diszkeken lv partcikhoz jutunk, pldul /dev/hda1,/dev/hda2. /dev/midi, mixer: Hangkrtyhoz tartoz file-ok, a /dev/midi rtelemszeren midi file-ok kezelsre. /dev/mouse,modem: ltalban ezek linkek valamely soros portra. /dev/pty*: pszeudo-terminl vonalakat reprezentl specilis file-ok. /dev/sd*: SCSI diszkek. /dev/tty*: A (virtulis) konzol terminlvonalai. /dev/ttyS*: Soros vonali terminlok. /dev/null: Ez egy igen rdekes file: minden belert adatot elnyel, s olvasskor mindig filevge-jelet ad. Akkor hasznos, ha egy parancs kimenett el akarjuk nyomni. Pldul, ha nem akarjuk a hibazeneteket ltni: "parancs 2>/dev/null". /dev/zero: Az elzhz hasonl file, azzal a klnbsggel, hogy olvasskor vgtelen sok 0 rtk byte-ot ad vissza. A "dd 10kfile bs=1k count=10" utastssal pldul ltrehozhatunk egy 10Kbyte hossz, 10kfile nev csupa 0-bl ll file-t.

    3.2.2 Linux f fjlrendszerei

    Korbbi Unix/Linux rendszerek esetben a fjlrendszerek tmogatottsga nem volt tl nagy. A 2.4 s jabb Linux kernelek esetn azonban mr egsz sokfle fjlrendszer kzl lehet vlasztani. Fontos megjegyezni, hogy nincs olyan fjlrendszer, amely tkletesen megfelelne mindenfle alkalmazshoz. Minden fjlrendszernek vannak erssgei s gyengi, amelyeket figyelembe kell venni.

    Alapveten ktfle fjlrendszerrl beszlhetnk: naplz (journaling) s nem naplz fjlrendszer.

    3.2.2.1 ReiserFS

    A ReiserFS-t Hans Reiser s a Namesys fejlesztcsapat tervezte. Legfontosabb elnyei:

  • 14

    Jobb lemezterlet-kihasznls: a ReiserFS fjlrendszerben az sszes adat egy kiegyenslyozott B*-fastruktrba van szervezve. A fastruktra jobban ki tudja hasznlni a lemezterletet, mivel a kis fjlok kzvetlenl a B*-fa levlcsompontjaiban kerlnek trolsra, nem pedig egy msik helyen s csak egy mutat mutat a tnyleges trolsi helyre. Ezen fell a trterlet nem 1 vagy 4 kilobjtos egysgekben kerl lefoglalsra, hanem az adatok pontosan a szksges mretet foglaljk el. Msik elnye az inode-ok dinamikus lefoglalsa. gy a rendszer rendkvl rugalmas, szemben pldul az Ext2-vel, ahol az inode-ok srsgt a fjlrendszer ltrehozsakor kell megadnunk.

    Jobb lemezhozzfrsi teljestmny: kis fjlok esetn az adatok s a stat_data (inode) informci ltalban egyms mellett kerl trolsra. Ez az informci egyetlen lemez I/O-mvelettel kiolvashat, azaz csak egy lemezhozzfrs szksges a kvnt informci lekrshez.

    Gyorsabb helyrells sszeomls utn: a legutols metaadat-mdostsokat nyomkvet napl segtsgvel a fjlrendszer ellenrzse nagyon nagy fjlrendszerek esetn is csak nhny msodpercet vesz ignybe.

    3.2.2.2 Ext2

    Az Ext2 eredete a Linux trtnetnek els napjaira nylik vissza. Az eredeti Extended File System 1992 prilisban kszlt el s lett beptve a Linux 0.96c-be. Azta szmos mdostson ment keresztl s Ext2 nven vekig a legnpszerbb Linux-fjlrendszer volt. A rendkvl rvid helyrelltsi idej naplz fjlrendszerek megszletse miatt azonban az Ext2 mra sokat vesztett fontossgbl.

    Megbzhatsg: az Ext2 szmos javtson s komoly tesztelsen ment keresztl. Ez lehet annak az oka, amirt az emberek gyakran sziklaszilrdnak nevezik. Rendszerkimarads utn, amikor a fjlrendszer nem szablyosan lett lecsatolva, az e2fsck elkezdi elemezni a fjlrendszer adatait. A metaadatok konzisztens llapotba kerlnek s a fggben lv fjlok vagy adatblokkok egy kijellt jegyzkbe rdnak (ennek neve lost+found). A naplz fjlrendszerrel ellenttben az e2fsck a teljes fjlrendszert vgigvizsglja, nemcsak az utoljra mdostott metaadatbiteket. Ez lnyegesen tovbb tart, mint a naplz fjlrendszer napladatainak ellenrzse. ppen ezrt magas rendelkezsre llst ignyl kiszolglhoz nem ajnlatos Ext2 fjlrendszert vlasztani. Mivel azonban az Ext2 nem tart karban naplt s lnyegesen kevesebb memrit hasznl, nha gyorsabb a tbbi fjlrendszernl.

    3.2.2.3 Ext3

    Szemben a tbbi j genercis fjlrendszerrel, az Ext3 nem vadonatj tervezsi elvekre pl, hanem az Ext2-re. A kt fjlrendszer szorosan kapcsoldik egymshoz. Az Ext3 fjlrendszer egyszeren rpthet egy Ext2 fjlrendszerre. A legfontosabb klnbsg az Ext2 s Ext3 kztt, hogy az Ext3 tmogatja a naplzst. Ext3-nak tbb nagy elnye van:

    Egyszer s nagyon megbzhat frissts Ext2-fjlrendszerekrl: Mivel az Ext3 az Ext2 kdjra pl, valamint a lemezen lv formtum s a metaadatok formtuma is egysges, az Ext2-rl Ext3-ra frissts hihetetlenl egyszer. A ms naplz fjlrendszerekre pldul ReiserFS, JFS vagy XFS fjlrendszerre val ttrssel szemben, ami ugyancsak krlmnyes lehet, az Ext3-ra ttrs nhny perc alatt vgrehajthat. Biztonsgos is, mivel elkpzelhet, hogy a teljes fjlrendszer jbli ltrehozsa nem mkdik hibtlanul.

    Megbzhatsg s teljestmny: tbb ms naplz fjlrendszer csak metaadatokat naplz. Ez azt jelenti, hogy a metaadatok mindig konzisztens llapotban maradnak, de a fjlrendszerben trolt adatokra ugyanez nem felttlenl igaz. Az Ext3 a metaadatokra s az adatokra is vigyz. E trds mrtke pedig szablyozhat (data=journal, data=ordered, data=writeback mdok). Ha a rendszergazda nem lltja t, akkor az Ext3 alaprtelmezs szerint data=ordered mdban mkdik.

  • 15

    3.2.2.4 XFS

    Az eredetileg az IRIX opercis rendszerhez tervezett XFS fejlesztst az SGI az 1990-es vek elejn kezdte meg. Az XFS mgtti elkpzels egy olyan nagy teljestmny 64 bites naplz fjlrendszer ltrehozsa volt, amely a mai extrm feldolgozsi ignyeknek is megfelel. Az XFS kivlan kezeli a nagy fjlokat s jl mkdik cscsminsg hardveren is. Azonban mg az XFS-nek is van htrnya. A ReiserFS-hez hasonlan az XFS is nagy gondot fordt a metaadatok integritsra, de az adatok integritsra mr kevesebbet.

    Kivl mretezhetsg allokcis csoportok hasznlatval: az XFS fjlrendszer ltrehozsakor a fjlrendszer alapjul szolgl blokkeszkz nyolc vagy tbb egyenl mret lineris rszre van osztva. Ezeket allokcis csoportoknak hvjuk. Minden allokcis csoport maga kezeli a sajt inode-jait s szabad lemezterlett. Mivel az allokcis csoportok egymstl fggetlenek, a kernel egyszerre tbbet is megcmezhet. Ez a funkci a lelke az XFS j mretezhetsgnek.

    Nagy teljestmny a lemezterlet hatkony kezelsvel: a szabad terletet s inode-okat az allokcis csoportokon bell B+-fk kezelik. A B+-fk hasznlata nagyban hozzjrul az XFS j teljestmnyhez s mretezhetsghez. Az XFS ksleltetett lefoglalst hasznl.

    3.2.2.4 Egyb, szles krben tmogatott fjlrendszerek

    Fjlrendszer Jellemz

    cramfs Tmrtett ROM fjlrendszer: Tmrtett, csak olvashat fjlrendszer ROM-okhoz.

    hpfs Nagy teljestmny fjlrendszer: Az IBM OS/2 szabvnyos fjlrendszere csak rsvdett mdban tmogatott.

    iso9660 A CD-ROM-okon hasznlt szabvnyos fjlrendszer.

    minix Ez a fjlrendszer elvileg egyetemi opercisrendszer-projektekbl szrmazik, s ez volt a Linuxon hasznlt els fjlrendszer. Manapsg hajlkonylemezek fjlrendszereknt hasznljk.

    msdos A fat fjlrendszert eredetileg DOS alatt hasznltk. Ma mr ms opercis rendszerek is alkalmazzk.

    ncpfs A Novell-ktetek hlzaton keresztli felkapcsolsra szolgl fjlrendszer.

    nfs Hlzati fjlrendszer (Network File System): Az adatok a hlzat brmely gpn trolhatk s a hlzaton keresztl elrhetv tehetk.

    smbfs A Server Message Block protokollt elssorban a Windows klnbz verzii hasznljk a hlzaton keresztli fjlelrs megvalstshoz.

    sysv SCO UNIX, Xenix s Coherent (kereskedelmi UNIX- rendszerek PC-khez) alatt hasznlt fjlrendszer.

    ufs BSD, SunOS s NeXTstep alatt hasznlt fjlrendszer. Csak rsvdett mdban tmogatott.

    umsdos UNIX MSDOS-os: (UNIX on MSDOS): A szokvnyos fat fjlrendszert bvti ki: specilis fjlok ltrehozsval elri a UNIX funkcionalitst (jogosultsgok, lncok, hossz fjlnevek).

    vfat Virtulis FAT (Virtual FAT): A fat fjlrendszer kiterjesztse (tmogatja a hossz fjlneveket).

    ntfs Windows NT fjlrendszer, csak olvashat

    3.2.2 Linkek

    Sok opercis rendszerben egy az egyes sszerendels van az llomnyok s az llomnynevek kztt. Minden llomnynak egy neve van s minden llomnynv egy llomnyt jell. A Unix a nagyobb rugalmassg rdekben szaktott ezzel a koncepcival. Az llomny egyedi azonostja az inode-ja. Ez tartalmaz minden informcit az llomnyrl (jogok, mret, hivatkozsok szma). A katalgusok csak egy fjlnv inode sszerendelst tartalmaznak, ezrt lehetsges, hogy egy katalgusbl tbb nven, vagy klnbz katalgusokbl hivatkozzunk ugyanarra az inode-ra. Ezt a Unix-ban linknek nevezik.

  • 16

    Amikor klnbz nvvel hivatkozunk az inode-ra, azt hard linknek nevezik. Ebben az esetben az llomny addig ltezik, ameddig van r mutat bejegyzs. Hard linket csak egy kteten (partci, eszkz) bell hozhatunk ltre.

    Azonban lehetsges gynevezett szimbolikus linkek ltrehozsa is. Ilyenkor klnbz nevekkel hivatkozhatunk egy katalgus bejegyzsre. Ilyen mdon klnbz ktetek kztt is ltrehozhatunk linkeket. Mindkt linket az ln paranccsal lehet ltrehozni.

    Soft link:

    # ln -s ./alma ./krte

    Ekkor a brmely olyan krs, amely az alma jegyzkre vonatkozik, az a krte jegyzkre fog vonatkozni.

    Hard link:

    # ln ./alma.txt ./krte.txt

    3.2.3 A /proc fjlrendszer

    A proc llomnyrendszer nem valdi llomnyrendszer, a Linux rendszermag ltal szimullt jegyzkbejegyzseket s adatokat tartalmazza. Mindazon llomnyok s jegyzkek teht, amelyek a proc llomnyrendszer beillesztsvel vlnak elrhetv, nem a merevlemezen vagy a szmtgpbe beptett egyb httrtron troldnak, hanem csak a memriban lteznek, s csak akkor, amikor ppen hasznljuk ket. Jl mutatja ezt az is, a jegyzk tartalmt egy ls -l paranccsal kilistzzuk, akkor nulla lesz a mrete.

    Ha egy program a proc llomnyrendszeren bell tallhat llomnyt olvassa, a Linux rendszermag ltal a krskor ellltott adatokat olvassa. Ha a program ilyen szimullt llomnyba r, az adatokat a rendszermagnak kldi el, amely azokat rtelmezi s felhasznlja. A proc llomnyrendszer teht ablak a rendszer magja fel, kapcsolattartsi fellet, amelyen keresztl a rendszergazda a Linux mlyre hatol.

    Mik tallhatk a /proc fjlrendszeren? Egy plda:

    # cd /proc # ls 1 10102 10105 10311 10315 10702 10710 10712 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10755 10766 1145 1146 1147 1148 1149 1150 1151 1152 2 3 330 345 346 355 369 4 420 429 443 446 447 449 450 461 475 490 5 508 528 583 6 612 626 675 715 716 717 718 719 720 723 745 752 753 757 771 773 775 776 7922 808 811 8784 8786 8788 8789 8936 9008 9088 911 914 9957 apm bus cmdline cpuinfo devices dma fb file sy st ems fs ide interrupts ioports kcore kmsg ksyms loadavg locks mdstat meminfo mise modul es mounts net partitions pci rtc scsi self slabinfo sound stat swaps sys tty uptime version

    Lthatjuk, hogy mindenfle informcit tallunk itt a rendszernkrl. A processzorrl, a memrikrl, a megszaktsokrl, stb. Pldul a version fjl tartalma egy teszt gpen:

    Linux version 2.6.19-1.2895.fc6 ([email protected]) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-51)) #1 SMP Wed Jan 10 18:32:37 EST 2007

    Az egyik fjl (kcore) mrete azonban nem nulla, hanem egszen nagy. Ez a rendszermag egyfajta tkre. Lthat, hogy a fjl nagyjbl akkora, amekkora fizikai memrival rendelkeznk. Ez nem vletlen egybeess: a kcore a rendszer memrija, a RAM, minden megtallhat itt, ami az adott pillanatban a fizikai memriban van, mghozz folyamatosan frisslve.

  • 17

    3.2.4 Fjlrendszer ltrehozsa

    GNU/Linux rendszereken tbb program is hasznlhat lemezrszek ltrehozsra s trlsre. Az ilyen jelleg programok kzl az fdisk minden GNU/Linux-ot futtat szmtgpen elrhet.

    Ha lemezrszeket akarunk trlni vagy ltrehozni, az fdisk programot interaktv mdon indtjuk. Ilyenkor egy merevlemezhez tartoz blokkeszkz-meghajtt kell megadnunk paramterknt. Ha a merevlemez elrhet, a program elindul, s egy parancskr jellel jelzi, hogy ksz a munkra:

    # fdisk /dev/sda Command (m for help):

    A munka sorn klnfle parancsokkal mdosthatjuk a merevlemez lemezrszeinek szerkezett, s ha

    gy gondoljuk, hogy elrtk a clunkat, kirhatjuk az eredmnyt a merevlemezre. Az fdisk csak a mentskor vltoztatja a merevlemez tartalmt. Ha valamit elrontottunk, brmikor kilphetnk a vltoztatsok elvetsvel, megrizve az eredeti elrendezst. A lemezrszek elrendezsnek mentse utn nincs szksg a szmtgp jraindtsra, a mdostsok azonnal letbe lpnek, az j lemezrszek hasznlhatk.

    Mikre kpes az fdisk? j partci ltrehozsa, ltez trlse, partcik listzsa, partcis tbla ellenrzse, stb. Amennyiben

    csak informcit szeretnnk krni arrl, hogy milyen partciink vannak, gy azt a kvetkezkppen tehetjk meg:

    # fdisk -l Device Boot Start End Blocks Id System /dev/hda1 * 1 940 1895008+ 83 Linux /dev/hda2 941 1023 167328 5 Extended /dev/hda5 941 1001 122944+ 82 Linux swap /dev/hda6 1002 1023 44320+ 83 Linux

    Fjlrendszer tnyleges ltrehozsa

    Miutn a partcik tern rendbetettnk mindent, a fjlrendszer ltre is kell hoznunk. A Linux alatt az mkfs

    parancs hasznlatos erre a clra:

    mkfs t

    Plda egy ext3 fjlrendszer ltrehozsra:

    # mkfs t ext3 /dev/sda7

    3.3 A csereterlet

    A csereterlet (swap space) nem valdi llomnyrendszer, llomnyok trolsra nem alkalmas. A csereterlet a szmtgpbe ptett operatv memria tehermentestsre, kiterjesztsre hasznlhat. A Linux/Unix rendszermag kpes arra, hogy a memrinak az ppen nem hasznlt terleteit a csereterletre mentse, s gy memrit szabadtson fel. A rendszermag termszetesen automatikusan visszatlti a mentett memriatartalmat, amint arra szksg van. Mivel a mentst s visszatltst a Linux automatikusan elvgzi, semmifle feladat nem hrul a rendszeren fut programokra vagy a rendszert hasznl felhasznlkra.

  • 18

    Szoks ltszlagos memrinak (virtual memory) is nevezni. Ez a memria nagysgrendekkel lassabban mkdik, mint a szmtgp operatv memrija. Amg ritkn kell az adatokat a csereterlet s a memria kzt mozgatni, a sebessgklnbsg nem lasstja jelentsen a szmtgp mkdst. Ha azonban a cse-reterletre msols s az onnan val visszatlts srn jelentkezik, a szmtgp mkdse jelentsen lassul.

    A csereterlet mrete dinamikusan llthat. Akr ki is kapcsolhat. Mretre nincs egyrtelm szably. Nem szerencss, ha a csereterlet nagysga meghaladja az operatv memria nagysgnak hromszorost. A legtbb rendszeren az operatv memria nagysgnak ktszeresnl nem nagyobb csereterletet hasznlunk.

    Ha meg akarjuk tudni, hogy a Linux mennyi csereterletet hasznl, a /proc/swaps ltszlagos llomnybl kiolvashatjuk. Plda:

    $ cat /proc/swaps Filename Type Size Used Priority /dev/hda3 partition 265064 38184 -1

    A swap terletet ltrehozhatjuk kln partcin vagy kln fjlban is. Errl az opercis rendszer teleptsekor ltalban vlaszthatunk. Van lehetsg azonban ksbb is ltrehozni j terletet, akr mretet nvelni vagy cs kkenteni.

    3.3.1 Csereterlet ltrehozsa

    Kln fjlknt

    Ahhoz, hogy swap terletet fjlon hasznljunk, meg kell hatroznunk a mrett (max. 2 GB x86 rendszeren). Majd a dd parancs nyjt neknk segtsget, amellyel knnyen s gyorsan ltrehozhatunk tetszleges nagysg res virtulis lemez image-et.

    dd bs=1024 count=1M if=/dev/zero of=/path/to/swapfile.n

    Ez a parancs egy 1GB-os fjlt (1 MB * 1024 bytes) hoz ltre a "/path/to/swapfile.n"-on. Ezt meg lehet csinlni tbbszr is, ha tbb swap fjl akarunk hasznlni (maxium 32 darab). A swap fjlok nem lehetnek elszrtan, az egszet alloklni kell a hasznlat eltt. Ha ez sikerlt, akkor meg kell formzni (inicializlni), swap header informcival kell elltni:

    mkswap /work/swapfile.1

    Kln partcin

    Ez egy kis elzetes tervezst ignyel mg a merevlemez felosztsa (partcionls) sorn. A swap terlet, amely partcin foglal helyet, be van jegyezve a /etc/fstab fjlba. Pldul:

    /dev/hda2 none swap defaults 0 0

    Miutn a swap terlet alloklva van, meg kell formzni (inicializlni). Ezt csak egyszer kell elvgezni:

    # mkswap /dev/hda2

    A partcion lev swap terlet a boot folyamat init rszben (lsd ksbb) automatikusan aktivldik. Az a swap terlete, amely fjlrendszeren helyezkedik el, szksges engedlyezni. Erre minden bootols sorn szksg van, gy clszer egy init szkriptet rni (ha a disztribci azon kis hnyadhoz tartozik, ami nem kezeli automatikusan az ilyen llomnyokat). Swap terlet bekapcsolsa a swapon paranccsal trtnik:

    # swapon /work/swapfile.1

    A swap terletet ki is lehet kapcsolni, ha nincs r szksg. Ezt a swapoff parancsal tehetjk meg. Pl.:

  • 19

    # swapoff /work/swapfile.1

    3.4 Az fstab fjl

    Az /etc/fstab fjl szerepe UNIX/Linux rendszereken, hogy az itt lefektetett szablyok megknnytik az llomnyrendszerek hasznlatt. Meglte rendkvl fontos, mivel az fsck (lsd ksbb) s a mount (teht a boot sorn az automata mount is) ebbl tjkozdik az elrhet llomnyrendszerekrl.

    A szveges llomny tartalma statikus (elvileg programok csak olvashatjk) s kzzel kell elkszteni. Jelenleg mr tbb disztribci kpes automatikusan kezelni az fstab tartalmt. Ennek ellenre nem rt megismerkedni a felptsvel, mivel gy jobban kontrolllhat s egyedi elvrsok is megvalsthatak.

    Egy plda fstab fjl tartalmra:

    Minden mount point-ot (csatlakozsi helyet) egy kln sor kpvisel, minden opci tetszleges

    mennyisg szkzzel (vagy tabultorral) van elvlasztva. Termszetesen lehet megjegyzseket is beleszrni, ha egy sor elejre tett # jellel.

    Az els oszlop: megmutatja, hogy fizikailag hol helyezkedik el a kezelend llomnyrendszer.

    Alapesetben ez egy device (/dev-ben), de lehet mg NFS ktet (lsd ksbb). Kevsb statikus megolds (pl.: mobil rack vagy pendrive esetn nagyon hasznos), hogy a mount pontra lehet hivatkozni a volume label (ktetnv) vagy az UUID alapjn (pl.: LABEL=Boot vagy UUID=3e6be9de-8139-11d1-9106-a43f08d823a6), ezek lekrdezsre hasznlhat a disktype (disktype /dev/hdxy) vagy a hdparm (hdparm -I /dev/hdxy).

    A msodik oszlop: megadja, hogy hov kerljn mountolsra az llomnyrendszer (ez a mount point). A

    rootfs (felsszint llomnyrendszer) mindig a / -be mountoldik. Specilis a swap, aminl ez "none" rtkkel rendelkezik. A merevlemezeket a /mnt jegyzkbe szoks mountolni, a hordozhat lemezeket a /media-ba. Harmadik oszlop: megadja az llomnyrendszer tpust. Rengeteg tpus tmogatott, legelterjedtebbek: ext2, ext3, iso9660, jfs, reiserfs, vfat, xfs, de csak olyan tpusokat rhatunk be, amiket tmogat az aktulis fut kernel. Ezt a /proc/filesystems alatt lehet ellenrizni. Errl is informl a disktype. A floppyt s ms hordozhat lemezeket (pl.: pendrive) auto-ra szoks lltani a jobb kompatibilits rdekben. (Megj.: vesszvel elvlasztva megadhatunk tbb fajta llomnyrendszert is, pl.: jfs, ext3.)

    Negyedik oszlop: az llomnyrendszer specifikus mountolsi belltsok sort trolja, itt van lehetsg egy kis tuningra. A lista elemeit vesszvel kell elvlasztani, a lehetsgrl a mount manpage tudst. Nhny plda:

    ro/rw: csak olvashat / olvashat s rhat az llomnyrendszer

    exec/noexec: a binris llomnyok futtathatsgt engedi / tiltja

    defaults: az ltalnos mkds belltsai: rw suid dev exec auto nouser async

  • 20

    3.5 Fjlrendszerek psgnek ellenrzse

    A fjlrendszerek viszonylag bonyolult felptsek, ezrt hajlamosak a meghibsodsra. Egy ellenrzs sorn a cl mindig azonos: a fjlrendszer tzetes tvizsglsval megtallni az esetleges problmkat, inkonzisztencikat. Egy fjlrendszer helyessge s rvnyessge UNIX/Linux rendszerekben az fsck paranccsal ellenrizhet.

    Ez a program kpes a megtallt kisebb problmkat kijavtani, s figyelmeztetni a nem javthat hibkra. Szerencsre a fjlrendszert megvalst kdot nagyon hatkonyan hiba mentestettk, ezrt nagyon ritkn akad problma, s az is tbbnyire ramkimarads, hardverhiba vagy kezelsi hiba (nem megfelel rendszerlellts) miatt keletkezik.

    A legtbb rendszer gy van belltva, hogy rendszerindtskor automatikusan futtatja az fsck programot azon fjlrendszerek esetn, amelyek automatikusan kerlnek felcsatolsra, gy remlheten minden hiba kiderl s javtsra kerl a rendszer hasznlata eltt. Az fsck parancsot kzzel kell indtanunk a tbbi fjlrendszer (pldul hajlkonylemezek) esetn.

    Srlt fjlrendszer hasznlata esetn a hibk csak szaporodnak. Ha a metaadatokban van esetleg a problma, a fjlrendszer hasznlata mg tbb adatvesztshez vezethet.

    Az fsck futtatsa fjlrendszer tpustl ersen fggen eltart egy ideig. Br az ellenrzs szinte mindig felesleges, ha a rendszerlells szablyos volt, ezrt nhny trkkel meg lehet gtolni az ellenrzs lland automatikus vgrehajtst.

    Az els trkk, hogy ha ltezik az /etc/fastboot fjl, nem trtnik ellenrzs. A msodik, hogy az ext2-es fjlrendszereknek van egy specilis jelzse a szuperblokkban, mely jelzi, hogy a fjlrendszer szablyosan lett-e lecsatolva az utols felcsatols ta.

    Nagyon fontos!

    Az fsck programot csak lecsatolt fjlrendszeren szabad alkalmazni! (Egyetlen kivtel a csak olvashat gykr fjlrendszer a rendszerindts sorn.) Ez azrt van, mert a program a nyers lemezblokkokkal dolgozik, s ezrt gy mdosthatja a fjlrendszert, hogy azt az opercis rendszer nem veszi szre, ami biztosan jelents hibkhoz vezet.

    Az fsck parancs csak egy front-end. Minden fjlrendszernek megvannak a maga fsck parancsi. Plda egy ext2 fjlrendszer tvizsglsra:

    # fsck.ext2 /dev/hda7 vagy # fsck t ext2 /dev/hda7

    ext3 fjlrendszer esetn:

    # fsck.ext3 /dev/hda7 vagy # fsck t ext3 /dev/hda7

    Amennyiben bvebb informcikat szeretnnk kapni egy fjlrendszerrl, gy a dumpe2fs parancsot kell meghvnunk. Plda (rszlet):

    # A dumpe2fs dumpe2fs 1.40.2 (12-Jul-2007) Filesystem volume name: Last mounted on: Filesystem UUID: ec7a16c5-c680-45ac-9f1b-856ab960d759 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file Filesystem flags: signed directory hash Default mount options: (none) Filesystem state: clean

  • 21

    Errors behavior: Continue Filesystem OS type: Linux Inode count: 997472 Block count: 1994060 Reserved block count: 99703

    stb

    Ha egy ltez fjlrendszeren szeretnnk mdostsokat, tovbbi hangolsokat elvgezni akkor erre a tunefs/tune2fs nev parancs nyjt segtsget, amely a legtbb Unix/Linux rendszer szerves rsze. Pldul egy ext2 fjlrendszer ext3-ra val alaktsa kapcsn.

    3.6 Chroot

    Idnknt szembekerlhetnk olyan problmval, hogy tmenetileg meg kellene vltoztatnunk a root jegyzkt egy program lefuttatsnak idejre.

    Ennek egyik tipikus esete, amikor egy rendszer visszallts sorn felcsatolunk egy root partcit valamely pontra a jegyzkstruktrban. Majd ezen a kteten szeretnnk lefuttatni egy programot gy, hogy az root jegyzknek a ktet eredeti root jegyzkt lssa. Ilyenkor a megolds a chroot parancs hasznlata, amely indt egy olyan shellt, ami a megadott jegyzket ltja root jegyzknek.

    # chroot

    A msik ok, amirt a gykr jegyzket tllthatjuk egy program mkdsi terletnek lekorltozsa. gy ha a szolgltatst fel is trnk az gy gykrnek megadott aljegyzknl nem juthatnak feljebb a jegyzkstruktrban, ezltal nem szerezhetnek hozzfrst a rendszer knyesebb rszeihez.

    Ezzel egy kisebb rendszert hozhatunk ltre a nagyobbik rendszeren bell. Gyakran jelen van Linux teleptkszletekben, s n. LiveCD-k hasznlatakor.

    4. Fjlok megosztsa s tvitele

    Manapsg a szmtgpek mr nagy httrtrolkkal rendelkeznek, azonban mg mindig szksg van a fjl szerverekre. Az okok lehetnek az albbiak:

    Fontos informcik kzponti trolsa, msok szmra elrhetv ttele.

    Az egyes szmtgpek klnbz veszlyeknek vannak kitve, vrusok, meghibsodsok, emberi hibk. Ezrt biztonsgi msolatokat helyezhetnk el a kzponti szerveren.

    A munkallomsok knnyebb adminisztrcija, az installcis llomnyok trolsa, vagy a programok kzponti szerverrl val futtatsa rvn.

    A kvetkezkben nhny ismertebb fjlmegosztsi s fjltviteli mdszerek kerlnek ismertetsre.

    4.1 FTP

    Az llomnyok megosztsnak egyik legrgibb, s manapsg is elterjedten hasznlt mdja az FTP (File Transfer Protocol) szerverek hasznlata. Az ftp protokollt 1985-ben rgztettk az RFC 959 szabvnyban. Megklnbztetnk ftp szolgltatst nyjt programot (ftp szerver), s az ftp szolgltatst ignybe vev

  • programot (ftp kliens). A fjl tvitelt a klietvitelt feltltsnek (upload), mg a szervertl a kliens fel trtn fjltvitelt letltsnek (nevezzk.

    A Linux rendszereken, akrcsak mshol, az FTP szervlegismertebb a vsftpd (Very Secure FTP Daemon) (lsd ksbb) alap FTP szerver implementcik is./etc/vsftpd/vsftpd.conf.

    Az FTP szerverek mkdse alapjn kt vltozatot klnbztetnk meg. A legltalnosabban hasznlt, amikor a rendszer felhasznli a nevkkel s jelszavukkal bejelentkezve, a felhasznli jogaikkal ltjk az llomnyrendszert. Ilyenkor kezelhetik a sajt llomnyllomnyokat. Ebben az esetben a kliens programok azonosts nlkl, un. "anonymous"be. Ekkor az ftp felhasznl jogaival tevkenykednek, s mozgsi terletk jegyzkre korltozdik. A vsftpd programban is bekapcsolhatjuk az

    Az ftpd az ftp szolgltatsrt felels daemon. kezeli az ftp kliensektl rkez csatlakozsi krseket, s bonyoltja a fjl tvitelt a kliens krse s a sajt ide rkez krst az ftp szerverhez irnyt.

    A mai linux disztribcik szinte mindegyike rendelkezik a gftp nev programmal, alehetv teszi a fjlok tvitelt tbb protokoll

    4.2 NFS

    Az NFS (Network File System) megosztsra. A Linux rendszerek zemelhetnek NFS szerverknt is, de kliensknt fel is csatolhatjuk ms szerverek megosztott knyvtrait.

    Linux alatt az NFS szerver implementfelhasznli md programra. A felhasznli indtja a kernel szlakat.

    programot (ftp kliens). A fjl tvitelt a kliens oldalon kell kezdemnyezni. A klienstl a szerver fel trtn ), mg a szervertl a kliens fel trtn fjltvitelt letltsnek (

    ak mshol, az FTP szerverek tbb vltozata is elterjedt. (Very Secure FTP Daemon) program. Mkdsk daemon jelleg, de l

    alap FTP szerver implementcik is. A vsftpd konfigur

    kdse alapjn kt vltozatot klnbztetnk meg. A legltalnosabban hasznlt, amikor a rendszer felhasznli a nevkkel s jelszavukkal bejelentkezve, a felhasznli jogaikkal ltjk az llomnyrendszert. Ilyenkor kezelhetik a sajt llomnyaikat. A msik mkdsi md, amikor publiklunk llomnyokat. Ebben az esetben a kliens programok azonosts nlkl, un. "anonymous"

    felhasznl jogaival tevkenykednek, s mozgsi terletk azkorltozdik. A vsftpd programban is bekapcsolhatjuk az anonymous mkdsi mdot.az ftp szolgltatsrt felels daemon. kezeli az ftp kliensektl rkez csatlakozsi krseket, s

    bonyoltja a fjl tvitelt a kliens krse s a sajt belltsai szerint. Az ftpd a 21-es portot figyeli, minden ide rkez krst az ftp szerverhez irnyt.

    A mai linux disztribcik szinte mindegyike rendelkezik a gftp nev programmal, atbb protokoll tmogatsval is:

    System) protokoll a Unix rendszerek elterjedt megoldsa az llomnyok megosztsra. A Linux rendszerek zemelhetnek NFS szerverknt is, de kliensknt fel is csatolhatjuk ms

    Linux alatt az NFS szerver implementcija kt rszre oszlik. Egyrszt egy kernel modulra, felhasznli mdban fut folyamat fogadja a kapcsoldsi krelmeket, s

    22

    A klienstl a szerver fel trtn ), mg a szervertl a kliens fel trtn fjltvitelt letltsnek (download)

    tbb vltozata is elterjedt. Az egyik jelleg, de lteznek inetd

    A vsftpd konfigurcis llomnya az

    kdse alapjn kt vltozatot klnbztetnk meg. A legltalnosabban hasznlt, amikor a rendszer felhasznli a nevkkel s jelszavukkal bejelentkezve, a felhasznli jogaikkal ltjk az

    aikat. A msik mkdsi md, amikor publiklunk llomnyokat. Ebben az esetben a kliens programok azonosts nlkl, un. "anonymous"-knt jelentkeznek

    az ftp felhasznl home mkdsi mdot.

    az ftp szolgltatsrt felels daemon. kezeli az ftp kliensektl rkez csatlakozsi krseket, s es portot figyeli, minden

    A mai linux disztribcik szinte mindegyike rendelkezik a gftp nev programmal, amely grafikusan is

    protokoll a Unix rendszerek elterjedt megoldsa az llomnyok megosztsra. A Linux rendszerek zemelhetnek NFS szerverknt is, de kliensknt fel is csatolhatjuk ms

    . Egyrszt egy kernel modulra, msrszt egy folyamat fogadja a kapcsoldsi krelmeket, s

  • 23

    Az NFS szerver elindulsa s mkdse rszben klnbzik a daemon, illetve inetd alap mkdstl. Mi is az az inetd? Az inetd dmont gyakran csak internet szuperszerverknt nevezik, mert a helyi szolgltatsok

    kapcsolatainak kezelsrt felels. Amikor az inetd fogad egy csatlakozsi krelmet, akkor eldnti rla, hogy ez melyik programhoz tartozik s elindt egy pldnyt belle, majd tadja neki a socketet (az gy meghvott program a szabvny bemenethez, kimenethez s hibajelzsi csatornjhoz kapja meg a socket lerit). Az inetd hasznlatval gy tudjuk cskkenteni a rendszernk terhelst, hogy a csak alkalmanknt meghvott szolgltatsokat nem futtatjuk teljesen fggetlen nll mdban.

    Az inetd dmont elssorban ms dmonok elindtsra hasznljuk. A konfigurcis llomnya az

    /etc/inetd.conf. Ennek oka, hogy RPC (Remote Procedure Call) alap kommunikcira pl. Ezrt ignyli a mkdshez

    az RPC kommunikcis rendszert is, amelyhez kapcsoldik a folyamatosan fut daemon jelleg szerver. Az RPC kommunikcis rendszert a portmap szolgltatssal indthatjuk el. Ezek utn mr futtathatjuk az nfs s az nfslock szolgltatsokat.

    Klnbz disztribcikban egy nfs szerver kialaktshoz szksges csomagok nevei eltrhetnek egymstl, de ltalban a kvetkez csomagok megtallhatk az ismertebb disztribcikban: nfs-utils, nfs-common, portmap, rpcbind.

    Ubuntu tpus disztribciban a szksges csomagok installlsa a kvetkezkppen trtnhet:

    # sudo apt-get install nfs-kernel-server nfs-common portmap A jegyzk megosztsokat az /etc/exports llomnyban llthatjuk be. Minden sor elejn a megosztott

    jegyzk szerepel, majd ezt kveti a megosztst elrhet kliensek listja (res helyekkel elvlasztva). Minden kliensnek kln megadhatjuk a hozzfrsi jogait zrjelben. Kliensnek megadhatunk egyes gpeket nvvel vagy IP cmmel. De megadhatjuk gpek egy csoportjt gy, hogy a nv megadsnl hasznljuk a "*" s "?" karaktereket, vagy IP cmtartomnyt adunk meg.

    A hozzfrseket paramterekkel szablyozhatjuk. Nhny fontosabb paramter:

    Paramter Lers

    ro Csak olvashat a megoszts. (Alaprtelmezett) rw Olvashat-rhat a megoszts. secure A kliens krelmnek 1024 alatti portrl kell rkeznie, vagyis csak

    root lehet a felhasznl. (Alaprtelmezett) asvnc Aszinkron mdon kezeli a szerver a meghajtt, vagyis hamarabb

    vlaszol, mint hogy letrolta a mdostsokat. all_squash Minden felhasznlt anonymous-ra kpez le.

    Plda egy /etc/export fjl tartalomra:

    /files *(ro,sync) # Csak olvass mindenkinek

    /files 192.168.0.100(rw,sync) # rs olvass a 192.168.0.100 kliensnek

    /files 192.168.1.1/24(rw,sync) # rs, olvass minden 192.168.1.1 192.168.1.255 kliensnek

    Plda:

    # /pub *.uni-miskolc.hu(rw,all_squash)

  • 24

    Itt a /pub jegyzket tettk elrhetv a uni-miskolc.hu domain minden gpe szmra olvass-rs joggal, s a felhasznlk anonymous-ra kpezsvel. Megjegyzs: Figyeljnk arra, hogy a gp nv s az opcik kztt ne legyen res hely! Egy szerver NFS megosztsait a kvetkez paranccsal listzhatjuk ki:

    # showmount e

    A fejlett disztribcikban grafikus felletet is biztostanak az NFS megosztsok menedzselsre.

    NFS megoszts hasznlata

    Valamely NFS szerver megosztsait kliensknt a mount paranccsal hasznlhatjuk a kvetkezkppen:

    # mount szerver_IP_cme:/megosztani/sznt/jegyzk /ahova/csatolni/szeretnnk/mappa

    4.3 Samba

    A Samba egy olyan eszkzgyjtemny, amelyek segtsgvel a hlzaton olyan erforrsok oszthatk meg, mint a nyomtatk s a fjlok. A Samba a Microsoft s az IBM ltal is elfogadott Server Message Block (SMB) protokollt hasznlja arra, hogy TCP/IP hlzaton keresztl alacsony szinten adatokat cserljen Windows gyfelek s Unix kiszolglk kztt. A Samba szabad szoftver gy szinte minden platformon megtallhat, de lteznek kereskedelmi forgalomban kaphat vltozatai is.

    A Samba teljes megoldst knl a helyi hlzatok szmra lljanak azok akr kt otthoni szmtgpbl, akr egy nagyvllalat tbb szz csompontjbl. A Samba knnyen telepthet s felgyelhet, s olyan tltsz hlzati krnyezetet teremt, amelyben a felhasznlk a munkjukhoz szksges sszes erforrshoz hozzfrhetnek.

    Mit knl a Samba?

    Unix fjlokat knlhatunk fel Windows, OS/2 s ms opercis rendszereket hasznl gyfeleknek. Unixos gyfelek szmra elrhetv tehetjk a Windows-os fjlokat.

    Elrhetv tehetjk a hlzati nyomtatkat a Windows gyfelek szmra. Nvkiszolglst knlhatunk (broadcast s WINS). Engedlyezhetjk, hogy Windows gyfelek bngsszk a hlzati erforrsokat. Windows munkacsoportokat vagy tartomnyokat hozhatunk ltre. Elrhatjuk az gyfelek felhasznlnevnek s jelszavnak a hitelestst.

    Az SMB egy kapcsolat orientlt protokoll. Minden kapcsolatra ltrehoz egy kapcsolat ID-t (service user ID (UID)), ezen bell pedig minden megosztshoz ltrehoz egy TID s ezen bell minden fjlnak egy FID-t. TID az erforrs ID-je, amihez kapcsoldni akar a kliens (pl. egy megoszts) a FID pedig azon az erforrson egy file-hoz kapcsolt ID.

    Jelenleg a Samba csomag mkdse kt Unix dmon krl forog, amelyek megosztott erforrsokat vagy ms szval megosztsokat knlnak a hlzatba kapcsold SMB gyfeleknek. A kt dmon:

    smbd: Ez a dmon lehetv teszi fjlok s nyomtatk megosztst SMB hlzatban, s az SMB gyfelek azonossgnak s jogosultsgnak vizsglatt. Minden berkez krsre a j smbd processz indul, amely jraolvassa a konfigurcis fjlokat s kiszolglja a krelmet.

  • 25

    nmbd: Ez a dmon a WINS (Windows Internet Name Service, Windows internet nvkiszolgl) kezelsrl gondoskodik, s segtsget nyjt a tallzsban.

    4.3.1 Samba konfigurci

    A Samba szerver konfigurcis llomnyai az /etc/samba/ jegyzkben tallhatak.

    Az smb.conf fjl tartalmazza a szerver belltsait. Megosztsokat is ebben az llomnyban hozhatunk ltre.

    Az lmhosts a hosts fjlhoz hasonlt, a Nv - IP cm lekpezseket tartalmazza.

    Az smbusers az NT felhasznlk Linux felhasznl listba val lekpezst tartalmazza.

    Az smbpasswd llomny a Samba felhasznli jelszkat tartalmazza kdolt formban.

    A rendszer tovbbi fontos jegyzke a /var/log/samba knyvtr, ahol a log llomnyok tallhatk.

    4.3.2 Egy alap szerver konfigurci

    A f konfigurcis opcik teht az /etc/samba/smb.conf llomnyban tallhatak. Itt kell kezdeni a szerver konfigurlst. Els lpsknt bellthatjuk a szerver workgroup paramtert, a ler szvegt, s esetleg a NetBIOS nevt is.

    (Hlzatban rsztvev minden gpnek van egy netbios neve. Egy NetBIOS nv 16 karakterbl ll, de ebbl csak 15 hasznlhat a nv megadsra, a tizenhatodik byte az erforrs (pl. megoszts) tpust adja meg)

    Teht:

    netbios name = nv workgroup = CSOPORT server string = Ez egy samba szerver

    Kvetkez lpsknt lekorltozhatjuk a hozzfrst a szerverhez egyes IP cm tartomnyokra a cm rszleges megadsval:

    host allow = 192.168.

    4.3.3 Authentikcis belltsok

    Az SMB esetben alapveten ktfle authentikcis metdust klnbztetnk meg. A rgi Windows 9x metdust (share), amely a megosztsokra ad meg jelszavakat, illetve a felhasznlk azonostsn alapul metdust. Utbbi esetben 4 klnbz megolds kzl is vlaszthatunk az informcik ellenrzsnl:

    user: a Samba szerver fogadja a usernv/jelsz prost s az adatbzisa alapjn leellenrzi. domain: ebben az esetben a szerver egy NT domain tagja, rendelkezik egy gp accounttal a domain controllerben. Minden authentikcis informcit a domain controller fel tovbbt. ADS: a Samba szerver egy Active Directory domainhez val csatlakozsi lehetsge. server: elavult opci. Rgebben mg a Samba nem volt kpes a domain authentikcira. Lnyege, hogy a szerver tveszi a usemevet/jelszt a klienstl majd ezzel megprbl a domain controllerre belpni. Amennyiben sikerl, akkor elfogadja az authentikcit. Az egyszersg kedvrt vlasszuk pldaknt a user authentikcis metdus, titkostott jelszkezelssel. Ezt a kvetkez sorral llthatjuk be:

    security = user

  • 26

    Azonban ahhoz, hogy a jelszavak a hlzaton biztonsgban legyenek, szksges hogy titkostva tovbbtsuk. Ennek belltsa:

    encrypt passwords = yes

    Ez felvet egy problmt. Az MS Windows rendszeren s a Unix/Linux rendszerek jelsz kdolsi

    algoritmusa klnbzik egymstl. Ugyanakkor a kdols egyirny, ezrt a titkos jelszbl az eredeti jelsz nem nyerhet vissza, ebbl kvetkezen a Linux jelszavakat nem tudjuk felhasznlni a samba authentikcihz. Vagyis kdolt jelszavak esetn a samba jelszavakat kln meg kell adnunk s trolnunk. Az llomny, amely a jelszkat trolja a kvetkez sorral adhat meg:

    smb passwd file = /etc/samba/smbpasswd

    A jelszt az smbpasswd programmal tudjuk belltani. De ehhez elszr fel kell vennnk a samba felhasznlkat. gy az els alkalommal a -a paramterrel kell meghvnunk:

    smbpasswd -a

    Ha a Samba felhasznlk neve nem egyezik meg a Linux accountokkal, akkor lekpezst is megadhatunk

    a kett kztt. Ezt a korbban emltett smbusers llomnya tartalmazza, s az albbi sorral adhatjuk meg:

    username map = /etc/samba/smbusers

    4.3.3 Megosztsok kezelse

    A fbb paramterek belltsa utn mr ltrehozhatunk megosztsokat is. Ha egy publikus, de csak olvashat megosztst szeretnnk ltrehozni, akkor annak alakja a kvetkez lehet:

    [public] comment = Publikus path = /home/samba public = yes writable = no printable = no

    Itt a [] jelek kztti szveg adja meg a megoszts nevt, a comment a megoszts lerst. A path paramterrel llthatjuk be a megosztott jegyzket. A public jellemz belltsval mindenki szmra elrhetv tesszk. Viszont mivel a writable paramtert no-ra lltottuk, gy csak olvashat lesz.

    Ha azt szeretnnk, hogy a felhasznlk egy csoportja rhassa, akkor az albbiak szerint mdostsuk:

    [public] comment = Publikus path = /home/samba public = yes writable = yes printable = no write list = felhasznli felhasznl2

    A felhasznlk felsorolsa helyett megadhatunk csoportot is. Ilyenkor a csoport neve el be kell rnunk a

    "@" jelet. Azonban ha csak egyes felhasznlk szmra szeretnnk valami teljes elrssel megosztani, akkor a kvetkez konfigurcit hasznlhatjuk:

    [joe] comment = Joe knyvtra path = /home/joe valid users = joe public = no writable = yes

  • 27

    printable = no

    Ha a szerver minden felhasznljnak szeretnnk megosztani a sajt home jegyzkt, akkor szerencsre

    nincs szksgnk arra, hogy mindegyikhez rjunk egy ilyen konfigurcis rszt. Ehhez a Samba tmogat egy specilis megosztst, amelynek a neve "homes".

    [homes] comment = Home Directories browseable = no writable = yes create mode = 0664 directory mode = 0775

    4.3.4 Megosztsok felcsatolsa

    Eddigiekben bemutattuk, hogy hogyan konfigurlhat egy SAMBA szerver. A tovbbiakban mr a megosztsok hasznlata, felcsatolsa marad. Erre tbbfle megolds ltezik. Tbb disztribci kln segdprogramot nyjt a SAMBA megosztsok felcsatolsra. Ezek az gynevezett smbclient, smbmount alkalmazsok. Az smbclient hasznlata:

    # smbclient //gpnv/megoszts -U

    Egy tovbbi egyszer megoldsa a megosztsok felcsatolsnak a mount parancs hasznlata:

    # mount -t smbfs -o username=skywalker //gpnv/megoszts /mnt/nv

    5. Rendszerindts

    5.1 ltalnos ttekints

    Azt a folyamatot, amely a szmtgp bekapcsolsa utn az opercis rendszer betltst vgzi, rendszerindtsnak vagy boot-nak nevezzk. A ''boot'' (csizma) nv egy olyan kpbl szrmazik, mely szerint a szmtgp ilyenkor felhzza a csizmjt (bootstrap).

    Amikor egy PC elindul, a BIOS klnfle teszteket vgez annak ellenrzsre, hogy minden rendben van-e. (Ezt szoks power on self test-nek vagy rviden POST-nak nevezni.) Ezutn indul a tnyleges rendszerindts. Elszr egy lemezmeghajt kerl kivlasztsra, az ebben lev lemez legels szektort, a boot szektort olvassa be a rendszer. Merevlemezeknl a master boot record (MBR) kerl beolvassra, ugyanis egy merevlemez tbb partcit is tartalmazhat, mindegyiken sajt boot szektorral.

    A boot szektor egy kis (egy szektorba elfr) programot tartalmaz (n. bootstrap loader), melynek a feladata az aktulis opercis rendszer beolvassa s elindtsa. Amikor merevlemezrl boot-olunk, a master boot record-beli (MBR) kd megvizsglja a partcis tblt, hogy azonostsa az aktv partcit (azaz amelyik boot-olhatv lett tve), beolvassa annak boot szektort, s elindtja az itteni kdot. A partci boot szektorban tallhat kd beolvassa a kernelt s elindtja. A rszletek ugyan egy kicsit vltozatosak, mivel ltalban nem clszer egy kln partcit fenntartani a kernel kpmsnak (kernel image), ezrt a boot szektorban tallhat kd nem olvashatja egyszeren sorban a lemez blokkjait, hanem meg kell tallni azokat a blokkokat, ahova a fjlrendszer lerakta a kernel kpmst. Tbb megolds is ltezik erre a problmra, de a leggyakoribb a boot menedzserek hasznlata (LILO, GRUB).

  • Miutn a Linux kernel bekerlt a memriba valamilyen rtelemben, s valban elindult, ltalnossgban a kvetkezk trtnnek:

    A Linux kernel a lemezen tmrtve van, ezrt elszr kicsomagolja nmagt. A kernel kpms eleje egy kis programot tartalmaz e clbl.

    Ezutn a kernel ellenrzi, milyen hardver elemek (merevlemezek, krtyk, stb.) lteznek a gpben, s megprblja ezek eszkzmeghajtit megfelelen konfigurlni. A hardverelemek megtallsrl zenetet is ad

    Ezutn a kernel csatlakoztfelismeri a rendszer. Ha a gykr fjlrendszer csatlakoztatsa nemmegfelel fjlrendszert belefordtani a kernelbe, a kernel meglltja a boot-ols folyamatt.

    Ha minden rendben ment, akkor (rtelemszeren az init processz

    Az init ezutn tbb felhasznlskonzolokra s a soros vonalakra, gy lehetv teszi a bejelentkezst aelindthat mg ms programokat is a konfigurcijtl fggen.

    Ezzel a rendszerindts ksz van, s a rendszer normlisan fut

    5.2 Az init, mint els folyamat

    Az init egyike azon programoknak, melyek alapvetek egy Linux rendszer mkdse szempontjbl, m tbbnyire nem vesznk rla tudomst. Amikor a kernel elindult, inicializlta az eszkzvezrlket s az adatstruktrkat), a rendszerindts folyamatnak r es rszt egy felhasznli szint program, az init azaz processz-azonostja mindig 1. A kernel az initvltozataiban lenni szokott, de egy Linux rendszertallja az init-et, megprblja futtatni a /bin/shfejezdik be.

    kernel bekerlt a memriba valamilyen rtelemben, s valban elindult, a kvetkezk trtnnek:

    A Linux kernel a lemezen tmrtve van, ezrt elszr kicsomagolja nmagt. A kernel kpms programot tartalmaz e clbl.

    n a kernel ellenrzi, milyen hardver elemek (merevlemezek, floppykrtyk, stb.) lteznek a gpben, s megprblja ezek eszkzmeghajtit megfelelen konfigurlni. A hardverelemek megtallsrl zenetet is ad.

    Ezutn a kernel csatlakoztatja (mount) a gykr fjlrendszert. A fjlrendszer tpust automatikus felismeri a rendszer. Ha a gykr fjlrendszer csatlakoztatsa nem sikerl, mert pl. elfelejtettkmegfelel fjlrendszert belefordtani a kernelbe, a kernel ''pnikba esik''

    ols folyamatt.

    Ha minden rendben ment, akkor a kernel elindtja az init programot (processz-azonostja (PID) mindenkppen 1 lesz.)

    tbb felhasznls zemmdba kapcsol, s elindtja a gettykonzolokra s a soros vonalakra, gy lehetv teszi a bejelentkezst a felhasznlk szmra. Az init elindthat mg ms programokat is a konfigurcijtl fggen.

    sz van, s a rendszer normlisan fut tovbb. Kp egy Linux

    folyamat

    egyike azon programoknak, melyek alapvetek egy Linux rendszer mkdse szempontjbl, m tbbnyire nem vesznk rla tudomst. Amikor a kernel elindtja nmagt (azaz betltdtt a memriba, elindult, inicializlta az eszkzvezrlket s az adatstruktrkat), a rendszerindts folyamatnak r es

    znli szint program, az init indtsval fejezi be. Ezrt az init mindig a legelstja mindig 1. A kernel az init-et nhny olyan helyen keresi, ahol a rendszer korbbi

    vltozataiban lenni szokott, de egy Linux rendszeren az igazi helye az /sbin/init. Ha a kfuttatni a /bin/sh-t, s ha azt sem tallja, a rendszer indtsa sikertelenl

    28

    kernel bekerlt a memriba valamilyen rtelemben, s valban elindult,

    A Linux kernel a lemezen tmrtve van, ezrt elszr kicsomagolja nmagt. A kernel kpms

    floppy meghajtk, hlzati krtyk, stb.) lteznek a gpben, s megprblja ezek eszkzmeghajtit megfelelen konfigurlni.

    atja (mount) a gykr fjlrendszert. A fjlrendszer tpust automatikus sikerl, mert pl. elfelejtettk a

    ''pnikba esik'' (kernel panic), s

    programot (/sbin/init) a httrben.

    getty programot a virtulis felhasznlk szmra. Az init

    Linux boot-olsrl:

    egyike azon programoknak, melyek alapvetek egy Linux rendszer mkdse szempontjbl, m elindtja nmagt (azaz betltdtt a memriba,

    elindult, inicializlta az eszkzvezrlket s az adatstruktrkat), a rendszerindts folyamatnak r es indtsval fejezi be. Ezrt az init mindig a legels processz,

    et nhny olyan helyen keresi, ahol a rendszer korbbi . Ha a kernel sehol sem

    t, s ha azt sem tallja, a rendszer indtsa sikertelenl

  • 29

    Amikor az init elindul, elszr a rendszerindtsi folyamatot fejezi be nhny adminisztratv feladat elvgzsvel. Ilyen pl. a fjlrendszerek ellenrzse, a /tmp kitakartsa, klnfle szolgltatsok elindtsa s a getty indtsa minden terminlra illetve virtulis konzolra, ahonnt a felhasznlk bejelentkezhetnek.

    Az init rkbe fogadja (adopt) az rva (orphan) processzeket: amikor egy processz gyermekprocesszt indt, s gyermeke eltt meghal, a gyermek azonnal az init gyermekv vlik. Ez tbbfle technikai okbl fontos, s j tudni rla, mivel knnyebben rthetv teszi a processzek listjt s fadiagramjait.

    Az init-nek nhny vltozata rhet el. A legtbb Linux terjeszts a sysvinit-et hasznlja, s amely a System V rendszer init-jn alapul. A UNIX BSD vltozatainak ms az init programja. Az alapvet klnbsg a futsszintekben van: a System V-nek vannak futsszintjei, a hagyomnyos BSD-nek nincsenek.

    Az init konfigurci llomnya az etc/inittab (rszletezse ksbb).

    5.3 Futsi szintek

    A Unix/Linux rendszerek klnfle zemmdokat, futsi szinteket (run level) klnbztetnek meg. A futsi szintek az opercis rendszer llapotai, amelyek mindegyik egy-egy kln clt szolgl, s a rend-szergazda vlasztja ki, hogy ppen melyik felel meg a feladat elvgzsre.

    Azt, hogy az adott GNU/Linux rendszeren melyik futsi szint milyen viselkedst jelent, a bellt llomnyok hatrozzk meg. Minden GNU/Linux gyjtemny a r jellemz bellt llomnyokkal a r jellemz futsi szinteket hatrozza meg. A Red Hat Linux alap terjesztsek pldul ltalban a kvetkez futsi szinteket klnbztetik meg:

    0 Lellts: ez a futsi szint a szmtgp lelltst, kikapcsolst vgzi. Amelyik szmtgp felveszi ezt a futsi szintet, az rvid idn bell lell. 1 Egy felhasznls zemmd: amelyet szoks S betvel is jellni. Ez az zemmd szervizclokra, helyrelltsra hasznlhat. Ha egy szmtgp felveszi ezt a futsi szintet, csak a rendszergazda szmra engedi a rendszer hasznlatt. 3 Tbb felhasznls zemmd: Ez a futsi szint a szmtgp normlis hasznlat kzben hasznlt futsi szintje. 5 Tbb felhasznls zemmd grafikus fellettel: Ezt a futsi szintet hasznlva a felhasznlk szmra grafikus bejelentkezsi felletet biztosthatunk. 6 jraindts: Az a szmtgp, amely felveszi ezt a futsi szintet, rvidesen jraindul.

    Az, hogy rendszernk ppen milyen futsi szintben van a runlevel paranccsal krdezhetjk le.

    5.3.1 Futsi szintek konfigurcija

    A futsi szintek konfigurcija az gynevezett indttblzatban tallhat. Ennek helye: /etc/inittab, amely egy egyszer szveges llomny. Ezt az llomnyt az init processz olvassa be. Klnlegesen fontos, mivel az init ltal a klnfle futsi szinteken indtand szolgltatsok lerst tartalmazza. Ha a fjl srlt, vagy nem ltezik, akkor a szmtgp csak egyfelhasznls zemmdban indthat.

    A /etc/inittab sorai ngy, kettsponttal hatrolt mezre oszlanak:

    id:runlevels:action:process

    A mezket pedig a fjlban lejjebb rszletezzk ki. A megjegyzseket a #-val kezdd sorok jelentik. s akkor a jelentsek:

  • 30

    id: Ez azonostja a fjlon belli sort. A getty vonalakra ez mondja meg a terminlt, amelyen fut, pontosabban a /dev/tty utni karaktereket az eszkzfjl nevben. Ms sorokra tartalma lnyegtelen (de nem lehet tl hossz), s egyedinek kell lenni.

    runlevels: A futsszintek, melyekre a sor vonatkozik. A szinteket egyetlen szmknt kell megadni elvlasztjel nlkl.

    action: Mit kell tenni a megadott sorral. Pl. mindig jraindtani (respawn), vagy csak egyszer futtatni (once).

    process: A futtatand parancs.

    Plda:

    16:6:wait:/etc/init.d/rc 6

    Jelentse: Az els mez egy tetszleges cmke, a msodik azt jelenti, hogy ez a sor csak a 6. futsszintre vonatkozik. A harmadik mez azt jelenti, hogy az init-nek csak egyszer, a futsszintbe val belpskor kell futtatni a negyedik mezben megadott parancsot, s meg kell vrni, hogy az befejezdjn.

    A rendszer futsa kzben a futsi szint a telinit paranccsal mdosthat, a kvnt szint szmt paramterknt megadva. Erre csak a rendszergazda jogosult. Vlts 3-as futsi szintre:

    # telinit 3

    5.4 Alrendszerek indtsa s lelltsa

    Nem minden szolgltatst indt az init kzvetlenl. Nem volna szerencss, ha egy ilyen fontos program indtan azokat a szolgltatsokat, amelyek a rendszer mkdse szempontjbl nem elengedhetetlenek, hiszen akkor a kevsb fontos szolgltatsok teleptse, trlse, belltsa veszlyeztetn a mkdkpessg szempontjbl ltfontossg alapszolgltatsok megltt.

    Nem volna szerencss, ha az egyes magas szint szolgltatsokat megvalst programcsomagok teleptse sorn az /etc/inittab llomnyt mdostanunk kellene. A Linux rendszerekben az init csak az elengedhetetlenl fontos alapszolgltatsokat indtja kzvetlenl a /etc/inittab bejegyzsei alapjn. A magasabb szint szolgltatsok - amelyeket alrendszereknek (subsystem) neveznk - sajt indtprogramokkal rendelkeznek. Az alrendszerek indthatk s lellthatk a sajt - ltalban BASH programknt megvalstott - indtprogramjuk segtsgvel.

    GNU/Linux rendszereken az init az alrendszerek indtst s lelltst kzvetve vgzi. Minden futsiszint-vltsnl elindtja a /etc/rc.d/rc programot, amely eldnti, hogy mely alrendszereket kell lelltani s elindtani az j futsi szinten, s a megfelel indtprogramok segtsgvel el is vgzi ezt a munkt. Az egyes futsi szintekhez tartoz elindtand programok az etc/inittab fjlban megtallhatk. Plda:

    > cr0:0:wait:/etc/rc.d/rc 0 > cr1:1:wait:/etc/rc.d/rc 1 > cr2:2:wait:/etc/rc.d/rc 2

    > cr3:3:wait:/etc/rc.d/rc 3 > cr4:4:wait:/etc/rc.d/rc 4 > cr5:5:wait:/etc/rc.d/rc 5 > cr6:6:wait:/etc/rc.d/rc 6

  • 31

    Az rc 0, rc 1, stb valjban egy-egy jegyzk az etc jegyzkben (teht pl. /etc/rc 1), s ezekben tallhatk meg azon alrendszerek indt scriptjei, amelyeket az adott futsi szinten indtani szeretnnk. Ezt a folyamatot az /etc/rc.d/rc BASH program vgzi el.

    6. Felhasznlk nyilvntartsa

    6.1 A felhasznli azonostk

    A felhasznli adatbzis az opercis rendszer ltal kezelt nyilvntarts, amelyben minden felhasznli azonosthoz felhasznli nevet (usename) s ms, fontos kiegszt informcikat rendelnk.

    A Unix rendszerek alatt minden felhasznl rendelkezik egy egyedi azonost szmmal (uid = user identifier), s egy vagy tbb csoport azonost szmmal (gid = group identifier). A klnfle mveletek elvgzse eltt az opercis rendszer mindig ellenrzi, hogy az adott folyamatnak van-e joga a mveletet vgrehajtani.

    A felhasznlk azonostsa a rendszerben az uid szm alapjn trtnik. Bejelentkezskor a rendszer a nv alapjn kikeresi az /etc/passwd llomnybl a felhasznl azonostjt s a ksbbiekben ezt hasznlja a rendszerben folytatott tevkenysgnk sorn.

    A csoportokba sorols segtsgvel a felhasznlk egy csoportjt sszefoghatjuk s a rendszer egyes rszeihez tbb jogot biztosthatunk, mint a tbbieknek. Egy felhasznl legalbb egy (elsdleges csoport), de tbb csoport tagja is lehet egyszerre. Ebbl az egyik csoport szerepe megklnbztetett. Ez az alaprtelmezett, amelyet az llomnyok ltrehozsakor hasznl a rendszer.

    A felhasznl azonostja s az alaprtelmezett csoport azonostja az /etc/passwd llomnyban van eltrolva. A tbbi csoport azonost az /etc/group llomny bejegyzsei alapjn rendeldik hozz a felhasznlhoz.

    Ltezik egy kitntetett felhasznl, a rendszergazda (super-user, a login neve "root"). A rendszergazdra nem vonatkoznak a felhasznlkra belltott hozzfrsi jogok, a rendszer mg az llomnyok tulajdonosnl is bvebb lehetsgeket engedlyez szmra. A rendszer annak alapjn ismeri fel, hogy az uid-je 0. Jogai gyakorlatilag korltlanok.

    6.2 Felhasznlk ltrehozsa

    Unix rendszereken az j felhasznl ltrehozshoz elegend, ha egy r vonatkoz bejegyzst runk az /etc/passwd llomnyba. Tovbb ltre kell hoznunk neki egy home jegyzket, amelyet a tulajdonba adunk, s bejegyznk szintn a passwd llomnyba. Azonban lteznek segdprogramok is, amelyek ezeket a mveleteket elvgzik neknk. Parancssoros programok kzl ilyen a mindenhol megtallhat useradd.

    Alapveten kt mkdsi mdjt klnbztetjk meg. Az egyik feladata, hogy j felhasznlkat hozzon ltre. A msik mdja a konfigurcis md, amikor az alaprtelmezett rtkeket lltjuk be.

    A legegyszerbb, s leggyakrabban hasznlt formja a kvetkez:

    useradd -c

    Alaprtelmezett esetben bejegyzi a felhasznlt a passwd llomnyba, majd ltrehoz egy home knyvtrat, amelybe bemsolja az /etc/skel knyvtrban tallhat llomnyokat. Mivel a ltrehozott felhasznlnak nem lltottunk be jelszt, ezrt blokkolja a hozzfrst a rendszerhez. A jelszt utlag rendszergazdaknt a passwd paranccsal adhatunk.

    Azonban nem csak valdi felhasznlkat hozhatunk ltre, hanem gy nevezett rendszerfelhasznlkat is. Ezek jelsz nlkli, blokkolt felhasznlk home jegyzk nlkl. Csak azrt szksgesek, hogy egyes szolgltatsok ezeknek a virtulis felhasznlknak a nevben fussanak, s ez ltal a rendszer a hozzfrsi jogosultsgaikat szablyozhassa. Ezek a rendszer-felhasznlk abban is klnbznek a norml

  • 32

    felhasznlktl, hogy az azonostjuk ltalban kisebb. A useradd programmal az -r opcival hozhatjuk ltre ket.

    Az alaprtelmezett paramtereket mdosthatjuk is a -D opci hasznlatval:

    useradd -D

    A rendszer az alaprtelmezett rtkeket az /etc/default/useradd llomnyban trolja.

    6.3 A felhasznl letiltsa

    A felhasznl hozzfrst szmos okbl letilthatjuk. Egyik szoksos eset, amikor csak egy bizonyos idszakra adjuk a hozzfrst. Ilyenkor mr a felhasznl ltrehozsnl a useradd parancs -e opcijval megadhatjuk a lejrati dtumot, amikortl nem frhet hozz a rendszerhez.

    A msik szoksos eset az automatikus letiltsra, am