Szent László Katolikus Szakkollégium. GNU/Linux alapjai I.



Hasonló dokumentumok
A L I N U X f e l é p í t é s e

Operációs rendszerek gyakorlat

Operációs rendszerek gyakorlat

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

3Sz-s Kft. Tisztelt Felhasználó!

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv


PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

Operációs rendszerek. Tanmenet

Mobil Partner telepítési és használati útmutató

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

Java-s Nyomtatványkitöltő Program Súgó

Java-s Nyomtatványkitöltő Program Súgó

BaBér bérügyviteli rendszer telepítési segédlete év

Operációs rendszerek gyakorlat

Opensuse automatikus telepítése

Gyorskalauz SUSE Linux Enterprise Desktop 11

A Linux operációs rendszer 2017.

Hogyan telepíthetsz fel Arch linuxot

I. Felzárkoztató Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Operációs rendszerek gyakorlat

Windows és/vagy Linux? Készítette: Hanusz Zoltán /Hazlaat/

A Novitax ügyviteli programrendszer első telepítése

OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)

Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése

A legfontosabb DOS parancsok

Geotechnika II. (NGB-SE005-2) Geo5 használat

A L i n u x r u h á j a

BaBér. Bérügyviteli rendszer. Telepítési segédlet 2014.

2. modul - Operációs rendszerek

XCZ állományok ellenőrzése, átadása elektronikus beküldésre és közvetlen beküldése parancssori funkcióval az ÁNYK programban

Alkalmazások típusai Szoftverismeretek

Operációs rendszerek. Tanmenet

LINUX PMB VIRTUALBOX TÖRTÉNELEM DEBIAN ALAPPARANCSOK - GRUB

Általános áttekintés. Általános áttekintés. Általános áttekintés. Egy boot folyamat

ConnectAlarm alkalmazás Központ/modul programozási segédlet V1.2 TL280 (R) v.4.x modulokhoz

Operációs rendszerek. Tanmenet

Unix fájl-hierarchia

Hardver és szoftver követelmények

Hálózati adminisztráció Linux (Ubuntu 8.04) 7. gyakorlat

Be- és kikapcsolás, rendszerleállítás

MS Windows XP Professional SP2 telepítés virtuális gépre.

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

WIFI elérés beállítása Windows XP tanúsítvánnyal

KIRA. KIRA rendszer. Telepítési útmutató v1

13. óra op. rendszer ECDL alapok

5.4.2 Laborgyakorlat: A Windows XP telepítése

Floppix linux disztribúció üzembe helyezése VirtualBox alatt fizikai floppy meghajtó nélkül

Adóhátralék kezelés egyszerűen. Telepítési útmutató. A program futtatásához Windows XP, Windows 7, 8 operációs rendszer szükséges.

NOTEBOOK ÜZEMBEHELYEZÉSI ÚTMUTATÓ MICROSOFT FIÓKKAL RENDLEKEZŐ PEDAGÓGUSOK RÉSZÉRE

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Számítógépes alapismeretek 2.

Gyorskalauz SUSE Linux Enterprise Server 11 SP1. Gyorskalauz. Köszönti az SUSE Linux Enterprise Server! Minimális rendszerkövetelmények

1. A Windows Vista munkakörnyezete 1

ContractTray program Leírás

DSL Internet telepítése opensuse-ra (Tesztelve: opensuse 10.0-tól 10.3-ig)

Adóhátralék kezelés egyszerűen. Használati útmutató

ConnectAlarm alkalmazás Központ/modul programozási segédlet V1.3

Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek

Hálózatos adatbázis-kapcsolódási problémák és azok javítása

Windows Server 2008 Standard telepítése lépésenként VirtualBox virtuális gépbe

Technikai információk fejlesztőknek

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

1. Alapok. #!/bin/bash

Informatika szintmérő-érettségi tételek február

VisualBaker Telepítési útmutató

Oktatási cloud használata

A virtuális környezetet menedzselő program. Első lépésként egy új virtuális gépet hozzunk létre a Create a New Virtual Machine menüponttal.

Virtualoso Server szolgáltatás Virtuális szerver használati útmutató

DebitTray program Leírás

Tájékoztató. Használható segédeszköz: -

Kiszolgálók üzemeltetése. Iványi Péter

A CCL program használatbavétele

Alapok (a K2D rendszer alapjai)

A számítógép egységei

Kéretlen levelek, levélszemét, spamek kezelése a GroupWise-ban

Útmutató az OKM 2007 FIT-jelentés telepítéséhez

Thermo1 Graph. Felhasználói segédlet

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

WIN-TAX programrendszer frissítése

Készítette: Csatlós István 2010-ben

Távolléti díj kezelése a Novitax programban

ServiceTray program Leírás

Bár a szoftverleltárt elsősorban magamnak készítettem, de ha már itt van, miért is ne használhatná más is.

Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben

WIN-TAX programrendszer hálózatban

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

Ubuntu Érettségi Remix Telepítési és beállítási leírás. Ágazati szakmai komplex távközlési ismeretek érettségihez

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES

Elemi alkalmazások fejlesztése I.

Kikapcsoláskor mindig a Commodore számítógépet vagy a floppy meghajtót kapcsolja ki először.

Hozzávalók keresése és csatolása

Tartalom jegyzék 1 BEVEZETŐ SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5

1. Origin telepítése. A telepítő első képernyőjén kattintson a Next gombra:

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Átírás:

2 GNU/Linux - kezelési ismeretek I. Jónás Zsolt A jegyzet a Szent László Katolikus Szakkollégium GNU/Linux alapjai I. kurzus segédleteként jött létre. Szerző: Jónás Zsolt E-mail: jonci@fikusz.hu URL: http://fikusz.hu/linux Ez a kiadvány Jónás Zsolt szellemi tulajdona. Minden jog fenntartva. Jelen kiadvány szabadon másolható és terjeszthető változatlan formában, a jogtulajdonos kifejezett engedélye nélkül is. Részletek vagy módosított változatok kizárólag a tulajdonos kifejezett és írásbeli engedélyével tehető közzé.

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 3 1. fejezet Bevezető Olyan jegyzet írása volt a cél, ami a GNU/Linux operációs rendszer minél több részét igyekszik bemutatni, megalapozni egy olyan tudást, amelynek birtokában az egyéni továbbképzés, mélyebb ismeretek megismerése gördülékenyebben történhet. Ennek érdekében vannak megfogalmazások, leírások, ahol nem a pontos működés, felépítés leírása volt a cél, hanem az érthetőség, nagyvonalakban a lényeg, amelynek ismerete esetén a részleteket taglaló leírás is könnyen emészthető. Továbbá, az összeállításnál fontos szempont volt a gyakorlati oldalról való megközelítés. Főleg olyan példák szemléltetése volt a leglényegesebb, amellyel a rendszer igazi lényegét lehet megmutatni, hogyan lehet karakteres felületen (vagy grafikus felületen karakteres ablakban) hatékonyabban dolgozni, mint a grafikus felületen. A grafikus felületen futó programok és a lehetőségek bemutatása nem is célja e jegyzetnek, de a továbbiakban leírt ismeretanyag elsajátítása után nem is jelenthet különösebb nehézséget azon tudás megszerzése. Valamint, az ismertetett parancsok leírásai sem a teljesség igényével készültek, inkább az alapvető lehetőségek bemutatása volt a fő cél, megmutatni, hogy mely program mire használható. A részletek megismerését az olvasóra bízzuk, meghagyva a felfedezés örömét. A GNU/Linux rendszert alapul véve több terjesztés is napvilágot látott. Az egyik oldalon állnak azok a disztribúciók, amelyek grafikus telepítővel és hardver eszközfelismerővel vannak felszerelve, minden beállítási lehetőséget próbálnak a grafikus felületen elérhetővé tenni, hogy szinte csak az egér használatával beállítható, finomhangolható legyen a rendszer. Ilyen terjesztés például a Mandrake, Red Hat, S.u.S.E., stb. Léteznek olyan összeállítások is, amelyek inkább a biztonságot és a szabadságot nyújtják a felhasználó felé, többek között ilyen a Debian és a Slackware.

4 GNU/Linux - kezelési ismeretek I. Jónás Zsolt E jegyzet megpróbálja a GNU/Linux rendszert a lehető legszélesebben tárgyalni úgy, hogy mindegyik terjesztésre igazak legyenek a leírtak, de bizonyos mélységnél és témaköröknél már nem tartható e célkitűzés, így preferálnunk kell egy terjesztést, amelyet kiemelve a többi közül, részletesebben tárgyalunk. Ez a disztribúció nem más, mint a Debian. A többkötetes jegyzet ezen részében a GNU/Linux alap programjaival ismerkedünk meg, hogy alap szinten használni tudjuk a rendszert. Ezen ismeretek szükségesek a többi a GNU/Linux kezelési ismeretek további köteteinek megértéséhez. 1.1. GNU/Linux bemutatása röviden Mindenek előtt ismerkedjünk meg kicsit a rendszer történetével nagyvonalakban, hogy megértsük célját, tudjuk, hogy honnan ered és merre tart egyre gyorsabban. Megszületésekor a UNIX operációs rendszer mindenki számára ingyen elérhető volt, forráskódját bárki módosíthatta a szája íze szerint saját maga számára. Azonban amikor az AT&T céget szétszabdalták egy trösztellenes per kapcsán, akkor a vállalat számára szóló számítógépes programok árulására vonatkozó tiltás érvényét vesztette és az utódvállalatok számára megnyílt az út a forráskód titkosítására, levédésére, továbbá árusítására. Egy idő elteltével sokaknak elegük lett a nagyvállalatok egyeduralmából, hogy a saját érdekeiknek megfelelően irányítsanak egy rendszer fejlesztését, ne pedig a vásárló/felhasználó szemszögéből közelítsék meg a fejlesztések céljait. Elindult egy mozgalom, aminek az alapkövét Richard M. Stallman 1 (1.1. ábra) tette le és a GNU nevet adta neki. A GNU (1.2. ábra) a GNU is Not Unix ( GNU Nem Unix ) jelmondatnak a rövidítése. Arra utalt ezzel, hogy létre szeretne hozni egy olyan UNIX változatot, ami ingyenes és mindenki számára szabadon hozzáférhető. Az igazi áttörés Linus (Benedict) Torvalds (1.3. ábra) hozta meg. 1991-ben nekilátott, hogy írjon maga számára egy kernelt (rendszermagot), aminek a neve Linux lett (1.4. ábra). A kíváncsiság vezérelte és nem is hitt benne, hogy az Interneten közzétett rendszermagot valaki egyáltalán megnézni. Nem lett igaza, fél év alatt a semmiből elért a rendszermag egy olyan állapotra, hogy már önálló rendszerként tudott futni, és tudta futtatni a hozzá kapcsolt GNU keretében megírt programokat. Az első terjesztések egyike a S.u.S.E. Linux (1992. szeptembere) Slackware (1993. július 17.) és a Debian (1993. augusztus 16.). 1.1. ábra: Richard M. Stallman 1.2. ábra: GNU logo 1.3. ábra: Linus Torvalds 1.4. ábra: Linux logo 1 Richard Matthew Stallman a teljes neve, de a Matthew-t mindig rövidíti M. -re

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 5 1.2. Debian GNU/Linux A Debian-t 1 (1.5-6. ábra) 1993 augusztusában Ian Murdock indította el, hogy legyen egy új, nyitott disztribúció, amelyet a Linux és a GNU szellemében készítenek. Az volt a szándéka, hogy a rendszert gondosan és lelkiismeretesen állítsák össze, és hasonló gonddal tartsák fenn és támogassák. A fejlesztőgárda a Free Software hackereinek kicsiny csoportjaként indult, és fokozatosan nőtt a fejlesztők és a felhasználók nagy, jól szervezett közösségévé. Lásd a részletes történetet 2. A név a Debian alkotójának, Ian Murdocknak és feleségének, Debrának a nevéből származik. A Debian-t szerte a világon 3 közel ezer fejlesztő 4 állítja elő a szabad idejében. A fejlesztők közül csak kevesen találkoztak eddig egymással személyesen. A kommunikáció főleg e-mailben (a lists.debian.org levelezőlistáin) és IRC-n (az irc.debian.org #debian csatornáján) zajlik. A Debian projektnek gondosan szervezett struktúrája 5 van. Arról, hogy a Debian hogy néz ki belülről, a fejlesztők oldalán 6 találsz bővebb információt. Debian bővebben A Debian projekt olyan emberek társasága, akik közös céljuknak tekintik a szabad vagy nyílt forráskódú 7 számítógépes operációs rendszer létrehozását. Ezt az operációs rendszert, amit létrehoztak, Debian GNU/Linux-nak vagy röviden Debian-nak hívják. Az operációs rendszer olyan alapvető programok és alkalmazások halmaza, amik lehetővé teszik a számítógép működését. A kernel az operációs rendszer magja, amely az alapfeladatokat végzi, és más programokat indít. A Debian rendszerek jelenleg Linux kernelt használnak. A Linux teljesen szabad szoftver, amelyet Linus Torvalds indított útjára, és több ezer programozó fejleszt világszerte. Ugyanakkor folyamatban van a Debian fejlesztése más kernelekre is, elsősorban a Hurd-ra 8. A Hurd szerverprogramok gyűjteménye, amelyek egy mikrokernel (mint például a Mach) felett futnak, és különböző funkciókat implementálnak. A Hurd szabad szoftver, és a GNU projekt eredménye. Az operációs rendszert kitöltő alapprogramok nagy része a GNU projektből származik; ez a magyarázata a GNU/Linux és GNU/Hurd neveknek. Ezek a programok szintén szabadok. Az embereknek természetesen alkalmazásokra van szükségük: olyan programokra, amelyekkel el tudják végezni munkájukat, dokumentumok szerkesztésétől kezdve az üzletvezetésen és a játékokon át a programírásig. A Debian több mint 8710 csomagot (könnyen telepíthető formátumba csomagolt lefordított szoftvert) tartalmaz -- mindegyikük szabad szoftver. 1 http://www.debian.org 2 http://www.debian.org/doc/manuals/project-history/ 3 http://www.debian.org/devel/developers.loc 4 http://www.debian.org/devel/people 5 http://www.debian.org/intro/organization 6 http://www.debian.org/devel/ 7 http://www.debian.org/intro/free 8 http://www.gnu.org/software/hurd/hurd.html

6 GNU/Linux - kezelési ismeretek I. Jónás Zsolt Elérhetőség Debian Linux Association Software in the Public Interest P.O. Box 70152 Pt. Richmond CA 94807-0512 info@debian.org http://www.debian.org ftp://ftp.debian.org/debian 1.5. ábra: Debian mostani logoja 1.6. ábra: Debian előző logoja

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 7 2. fejezet Alapfogalmak Mielőtt elkezdenénk ismerkedni a GNU/Linux operációs rendszerünkkel, érdemes megismerkednünk pár alapfogalommal. Mivel nem lehet elkerülni a mindennapi használat során e szavak használatát, így érdemes mielőbb aktív szókincsünk részévé tenni. 2.1. Operációs rendszerrel kapcsolatos fogalmak Operációs rendszer Azon programok összessége, amelyek által kezeli a hardver eszközöket (driver-ek), szoftvereket futtat (programok), valamint kapcsolatot tart fenn a felhasználóval (héj). Fogadja parancsait, feldolgozza, értelmezi azokat és cselekszik. Beletartozhat egyéb, a felhasználó munkáját segítő program(csomag). Kernel Az operációs rendszer lelke. Magába foglalja az eszközkezelőket, feladata megfelelő környezetet biztosítani a programok futásához és futtatni azokat.

8 GNU/Linux - kezelési ismeretek I. Jónás Zsolt Multitask Több feladat egyidejű végrehajtását jelenti. Egy processzorral rendelkező számítógépeken az egyidejű végrehajtás csak látszólagos, hiszen a processzor csak egy feladattal tud foglalkozni egyszerre; tehát a feladatok "felváltva kapják meg a processzort". A legkisebb egység, amely párhuzamos feldolgozásra kerülhet - a processz. A feladatok váltogatását az ütemező végzi, amely különböző stratégiák szerint dolgozhat. Multiuser Több felhasználó egyidejű kiszolgálását jelenti. Ez nem kifejezetten fájlok megosztását jelenti, hanem inkább programok futtatását. Tehát egy gépre több ember jelentkezhet be egyszerre, és egyszerre tudnak dolgozni anélkül, hogy zavarnák egymás munkáját. Ez maga után vonja azt, hogy a rendszernek meg kell tudnia különböztetni egymástól a felhasználókat. Minden felhasználóhoz előre definiált jogok és engedélyek tartoznak, amelyeket a rendszer mindig ellenőriz, amikor a felhasználó szeretne hozzáférni valamihez. Ez szükséges az erőforrások megfelelő szétosztásának, és a biztonságnak az érdekében. A többfelhasználós rendszerekhez tartoznia kell egy olyan személynek, aki a rendszerrel kapcsolatos adminisztrációs teendőket ellátja, ezt a személyt Linux alatt root-nak hívják. 2.2. Programokkal kapcsolatos fogalmak Nyílt és a zárt forráskód Forráskódnak nevezzük azt a szöveges fájl(okat)t, ami(k)ben a választott programozási nyelv szintaktikájának megfelelően megfogalmazzuk, amit végeztetni akarunk a számítógéppel. Az egyik legjelentősebb tulajdonsága a nyílt forráskódú (open source 1 ) programoknak, hogy bármikor belenézhetünk, módosíthatjuk a saját igényeinknek megfelelően, és ez hozzájárul egy másik jelentős tulajdonságához, ami nem mást, mint a stabilitás. Ugyanis, a több szem többet lát alapon, hamarabb ki lehet szűrni a hibákat és a hiba észlelése után szinte azonnal elérhető a javítás vagy a javított forráskód. A zárt forráskód anyagi igényeket előtérbe helyezve született meg. Használatuk esetén a felhasználó kiszolgáltatja magát a készítőknek, ugyanis nem bizonyosodhat meg róla, hogy tényleg csak annyit tud, amennyit dokumentáltak és nem rejtettek el benne kémprogramot, ami manapság szinte divattá nőtte ki magát. Valamint ilyen esetben a program javítása is körülményesebb, előfordulhat, hogy a készítő nem tudja reprodukálni a hibát hardver hiány miatt, stb. 1 http://www.opensource.org

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 9 Lefordítás A lefordítás az a folyamat, amikor a forráskódból egy futtatható, a számítógép nyelvére átfordított, úgynevezett bináris állomány jön létre. Azért nevezzük binárisnak, mert a számítógép a felépítéséből adódóan a kettes számrendszerrel dolgozik. Paraméterek, kapcsolók Amikor egy programot lefuttatunk (elindítunk), általában adhatunk át neki információkat, amelyekkel befolyásolhatjuk a működését. Kapcsolónak hívjuk az olyan átadott információt, amellyel egy műveletet elvégeztetünk vagy kihagyatunk az adott programmal, minden más paraméter. Azaz, az olyan információkat, amelyek nem lehetnek egy eldöntető kérdésre adott válaszok, paraméternek nevezünk. Az igazsághoz hozzátartozik, hogy a paramétereket és kapcsolókat együttesen is szokás paramétereknek hívni. (Minden kapcsoló paraméter, de nem minden paraméter kapcsoló ) Démon programok és az inetd Elindítása után a háttérben fut, vagy épp várakozik, de a lényeg, hogy a memóriában maradt, amíg le nem állítjuk manuálisan vagy a rendszer lekapcsolásával, esetleg futási szint váltással. A memóriában van a program és várakozik, hogy kiszolgálja a hozzá befutott kéréseket (például egy ftp szerverhez befutott csatlakozási szándék). A gyakran használt, vagy nagy forgalmat bonyolító szolgáltatásokat célszerű a memóriában tartani, azonban a ritkábban használt démon programokat nem célszerű állandóan a memóriában tartani. Az erőforrások jobb kihasználtsága érdekében alkották meg az inetd démon programot, amelynek a config állományában megadhatjuk, hogy milyen kérések esetén mely démon programokat indítsa el. Shell, burok, héj Más néven parancsértelmező. Ugyanazt a feladatot látja el, mint MS-DOS alatt a command.com, de sokkal több mindenre képes. Része az operációs rendszernek, ő tartja a kapcsolatot a felhasználó és az operációs rendszer között. Minden felhasználó bejelentkezésekor egy parancsértelmező indul el, amely fogadja a felhasználó parancsait. Változók Minden programozási nyelvben találunk változókat, amelyek (nevükhöz híven) változó adatok tárolását teszik lehetővé (most tekintsünk el a többféle típustól). A programok futásuk során megváltoztathatják az értéküket, de akár műveletet is végezhetnek velük. Környezeti változó Amikor a shell program elindul, egyéb információk elérését biztosítani hivatott a felhasználó és/vagy a programok számára, amelyek a futó környezetet jellemzik. Ezeket a tartalmakat, információkat az úgynevezett környezeti változók tartalmazzák. Elmondható, hogy általánosságban e változók csupa nagybetűkből állnak, hogy könnyen megkülönböztethetők legyenek a felhasználó által létrehozott változóktól. A Függelék fejezetben leírtunk pár BASH környezeti változót tartalmi lényegükkel együtt.

10 GNU/Linux - kezelési ismeretek I. Jónás Zsolt 2.3. Terjesztésekkel kapcsolatos alapfogalmak Disztribúciók A Linuxot kezdetben pusztán az Internetről lehetett beszerezni, és az installálás nem volt megkönnyítve. Ekkor a rendszert még csak a számítógéphez nagyon értők használták. A népszerűség növekedésével azonban igény mutatkozott olyan programcsomag-rendszerre, amely a kevésbé szakértő számára is lehetővé teszi a telepítést, használatot. A különböző célkitűzéseket és embercsoportokat megcélzó összeállítások különböző terjesztések megjelenését eredményezték. Egy disztribúció általában tartalmaz egy telepítő felületet (jelentősen eltérhet az egyes terjesztések telepítő felülete), valamint számos programot tartalmazó program-gyűjteményt, amelyből a kívánt programot a csomagtelepítővel könnyen a rendszerhez adhatjuk. Csomagtelepítés Majdnem mindegyik Linux disztribúció rendelkezik csomagtelepítési funkcióval, ami sokkal könnyebbé teszi egy adott program hozzáadását a rendszerhez. Ugyanis nem kell lefordítani, a fordításkor beállítani egyéb paramétereket, hanem egyszerűen a rendszer csomagkezelőjével hozzáadjuk a rendszerhez a már valaki által lefordított program(csomag)ot. Az egyes disztribúciók csomagjai nem kompatibilisek egymással, azaz a Debian GNU/Linux.deb fájljait nem tudjuk felhasználni Ret Hat Linux rendszerhez, mert az utóbbi.rpm csomagokat használ. A különböző rétegcsoportot megcélzó disztribúciók belső felépítése eltér egymástól és ennek köszönhető, hogy a csomagformátumuk is eltér egymástól. 2.4. Grafikus felülettel kapcsolatos alapfogalmak Frontend Nagyon sok programot készítettek már GNU/Linux rendszerek alá és remélhetőleg még többet fognak, viszont ezek közül sok a kezelőfelület. Amik feladat szempontjából nem magát a feladatot végzik el, hanem csak lefuttatják az arra megírt programokat. Nem kell ismerni az eredeti program paramétereit, kapcsolóit, hanem egy egyszerű karakteres vagy grafikus kezelőfelület segítségével elvégeztethető a kívánt feladat. X Window System Szokás egyszerűen X szervernek, vagy még rövidebben, X-nek hívni. Feladata a grafikus felület előállítása, az erőforrások kezelése, úgymint egér, billentyűzet, videokártya, monitor, stb., de erőforrásként jelentkeznek a szerver számára a különböző ablakok, kurzorok, betűtípusok is.

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 11 Ablakkezelő Az X indulásakor csak egy grafikus felületet kapunk, semmi többet. Ahhoz, hogy programokkal tudjunk kényelmesen dolgozni, szükség van egy ablakkezelő programra, aminek az a feladata, hogy egy grafikus program elindulásakor, a program köré egy keretet rajzoljon, kezelje a kereten elhelyezett funkcióbillentyűket. Más szavakkal, nem a program foglalkozik a keret előállításával, az ablak mozgatásával, méretének változásával és bezárásával, stb., hanem az ablakkezelő végzi, rajta keresztül tudja a program, hogy mi a teendője.

12 GNU/Linux - kezelési ismeretek I. Jónás Zsolt

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 13 3. fejezet Könyvtárszerkezet Az egyéb rendszereken az a hozzáállás alakult ki, hogy egy felpartíciózott merevlemez minden szeletéhez külön betűjel tartozzék, így a felhasználó szeparálva tarthatja adatait. A GNU/Linux rendszer felépítése, ha nem is gyökeresen, de jelentősen eltér. Csak egyetlen egy gyökér könyvtár létezik és ebből ered az összes könyvtár, alkönyvtár és fájl. A feldarabolt merevlemezünk egyes részei nem kapnak betűjelet, hanem hozzárendelhetjük (felcsatolhatjuk) a rendszer egy könyvtárához. E művelet után a partíció tartalma abban a könyvtárban érhető el. Persze le is csatolhatjuk bármikor a rendszerből, feltéve, hogy egyetlen egy program sem dolgozik azon partíció valamelyik könyvtárával, fájljával, valamint nem tartózkodunk egyik könyvtárában sem. Érdemes tudni Mielőtt még tanulmányoznánk a könyvtárstruktúrát, meg kell említenünk két speciális könyvtárnevet (hivatkozást, mutatót), ami az összes könyvtárban jelen van. Az egyik a. (pont) hivatkozás, ami mindig az aktuális könyvtárra mutat és hivatkozhatunk is vele rá, sőt, sokszor nélkülözhetetlen a használata. A másik pedig a.. (pont-pont) mutató, ami a szülőkönyvtárra mutat, ahonnan származik az aktuális könyvtár.

14 GNU/Linux - kezelési ismeretek I. Jónás Zsolt 3.1. A gyökér ( / ) alkönyvtárai Elsőként ismerkedjünk meg a már említett gyökér könyvtárral, illetve a gyökér könyvtárban elhelyezkedő könyvtárakkal. Melyik könyvtárat mire használják, és egyáltalán kik férhetnek hosszá, kik használhatják a tartalmukat. Következőképpen néz ki egy átlagos gyökér könyvtár tartalma: tree / -d L 1 / -- bin -- boot -- cdrom -- dev -- etc -- floppy -- home -- initrd -- lib -- lost+found -- mnt -- opt -- proc -- root -- sbin -- tmp -- usr `-- var 18 directories /bin Itt helyezkednek el az alapvető programok, amelyeknek még akkor is elérhetőknek kell lenniük, ha valamiért a /usr könyvtár elérhetetlen. Ellentétben a /sbin könyvtárral, amelyben csak a rendszer betöltéséhez és az adminisztrációs feladatok elvégzéséhez szükséges programok foglalnak helyet, a /bin könyvtárban lévő programokat a rendszer minden felhasználója használhatja. /boot Ebben a könyvtárban helyezkedik el a kernel, a Linux Loader (LILO) map fájlja, ami tartalmazza a régi Master Boot Record (LILO előtti) állapotot. Ha nem a LILO program a rendszer betöltő program, hanem a GRUB, akkor létezik egy /boot/grub könyvtár és benne a GRUB egyéb beállító és használati fájljai. /dev Ahogy a neve is jelzi, itt helyezkednek el az eszközkezelők (device). Pontosabban minden eszközhöz hozzá van rendelve egy fájl, amin keresztül elérhető az eszköz, legyen az akár videókártya, hangkártya, tv-kártya, egér, háttértároló, stb.

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 15 Lássunk példát device fájlokra: ls lak /dev brw-rw---- 1 root disk 3, 0 máj 4 14:25 hda brw-rw---- 1 root disk 3, 1 máj 4 14:25 hda1 brw-rw---- 1 root disk 3, 11 máj 4 14:25 hda11 brw-rw---- 1 root disk 3, 12 máj 4 14:25 hda12 brw-rw---- 1 root disk 3, 2 máj 4 14:25 hda2... crw-rw-rw- 1 root root 1, 3 máj 4 14:25 null... crw-rw---- 1 root video 81, 1 máj 4 14:25 video1 crw-rw---- 1 root video 81, 2 máj 4 14:25 video2... crw-rw-rw- 1 root root 1, 5 máj 4 14:25 zero Most az egyéb számoktól és betűktől vonatkoztassunk el, csak nézzünk az első oszlop első oszlopát: b és c. Kétféle eszközfájl létezik: a karakteres (c) és a blokk (b) típusú. A másik érdekesség egy normális könyvtárlistához képest, az 5. és a 6. oszlop megléte. Ugyanis az eszközöket 2 rétegű struktúrába csoportosítjuk. Az első (ami jelen esetünkben 3, 1, 81) a főcsoport azonosítója, ami eszközönként más és más, de eszközön belül nem változik (például: háttértároló azonosítója). A másik az alcsoport-azonosító, ami az eszközön belüli alegységek saját számai (például: háttértárolón belüli partíciók azonosítója). Belátható, hogy az így előre megszabott számozás mennyiségi korlátokat szab. Megszületett hát a devfs, amely az eszközt azonosító fő- és alcsoportot dinamikusan változtathatóvá tette. De leálltak a fejlesztésével, így a következő kernel széria (2.6.x) megjelenésével leváltja az udev, amely még többet tud, mint devfs társa. A probléma elő jön itt is, miszerint nem kompatibilis az előző megoldással, így idő kell, amíg a programfejlesztők átállnak a használatára. Azonban időközben kiderül, hogy fejlesztés alatt van egy usde megoldás is. E sorok írásakor még nem lehet megjósolni, melyik marad meg, mely kerül bele hivatalosan a kernelbe, de az is előfordulhat, hogy a két projekt összeolvad. Az idő majd megadja a választ. /etc A legtöbb program itt tárolja az alap konfigurációs fájlját. A fájlrendszerre vonatkozó szabványok megalkotása előtt több rendszerprogramnak és démonnak adott otthont, mint például az init és update. Mostanra azonban ezek a programok átkerültek a /sbin vagy a /usr/sbin könyvtárba. E könyvtárral illetve fájljaival részletesebben foglalkozunk majd egy későbbi fejezetben. /home A root kivételével az összes felhasználó saját (home) könyvtára itt helyezkedik el, amelyek többek között az egyénre jellemző beállító fájlokat is tartalmazzák, valamint a /tmp könyvtár kivételével minden felhasználó csak ide dolgozhat alapesetben. Érdemes ezt a könyvtárat külön partícióra helyezni.

16 GNU/Linux - kezelési ismeretek I. Jónás Zsolt /lib A megosztott könyvtárakat tartalmazza, amelyeket szinte mindegyik dinamikusan linkelt program használja, valamint a könyvtáron belül elhelyezkedő modules alkönyvtár tartalmazza az összes kernel modulját. /lost+found A jelenleg létező Ext2 és Ext3 fájlrendszer használata esetén jön létre. Az fsck és egyéb segédprogramok használják. /mnt A nem a rendszer részét képező eszközök (floppy, cdrom, háttértár egyéb partíciói, NFS) csatolásait ebbe a könyvtárban elhelyezett alkönyvtárakba ajánlott csatolni. A floppy és cdrom eszközöknek létre szoktak hozni a gyökérben egy /floppy és egy /cdrom könyvtárat csatolási pontnak a rendszeres használat megkönnyítésére. /opt A rendszerhez hozzáadott statikus program(csomag)ok elhelyezési helye. /proc A kernel a memóriában tárol a rendszerről és processzekről különböző információkat. E belső információs táblázatból egy könyvtárrendszert szimulál és a /proc könyvtárba csatolja, így a rendszerről és a futó processzekről könnyen kaphatunk információt. Rendszerinformációkat megjelenítő programok is innen dolgoznak. /root A rendszeradminisztrátor saját (home) könyvtára, de még sem a /home könyvtárban helyezkedik el. Célszerű ugyanis a rendszer gyökérkönyvtárát tartalmazó rendszerpartíción létrehozni. Ha valami oknál fogva az egyéb partíciók csatolása nem lehetséges, abban az esetben is be tudjon jelentkezni a root felhasználó. /sbin A rendszer betöltéséhez és az adminisztrációs feladatok elvégzéséhez szükséges programok foglalnak helyet itt, csak a root felhasználó számára érhetőek el az itt elhelyezkedő programok. /tmp A legtöbb program itt tárolja az ideiglenes fájljait, valamint a rendszer felhasználói is ide dolgozhatnak. A könyvtáron belül bárki írhat/olvashat fájlokat/könyvtárakat, de csak a saját fájlját és könyvtárát törölheti. Általában rendszerindulásakor a /tmp könyvtár tartalma

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 17 törlődik, de nem mindegyik disztribúció tarja fontosnak ezt. A Debian üríti a /var/lock és a /var/run könyvtár tartalmával egyetemben. /usr A rendszer működéséhez közvetlenül nem szükséges programok és állományok helyezkednek el itt. /var A rendszer során változó fájloknak otthont adó könyvtár. 3.2. Az /usr alkönyvtár Olyan parancsok, programok és nem változó állományok, amelyek nem feltétlenül szükségesek a rendszer betöltődéséhez, így azt is megtehetjük, hogy csak olvashatóként csatoljuk a rendszerhez. Ilyen esetekben akár CD-ről is használhatjuk vagy NFS-en keresztül. NFS használata esetén azt is megoldhatjuk, hogy csak a szerveren tároljuk a /usr tartalmát és exportáljuk a tartalmát a host gépek felé. Következőképpen néz ki egy átlagos /usr könyvtár tartalma: tree /usr -d L 1 / -- X11R6 -- bin -- doc -- etc -- games -- include -- info -- lib -- local -- man -- sbin -- share `-- src 13 directories /usr/x11r6 Az X Window System minden fájlja itt található, kivéve a /etc/x11 könyvtár, ami a beállító (config) fájlokat tartalmazza.

18 GNU/Linux - kezelési ismeretek I. Jónás Zsolt /usr/bin A felhasználók számára elérhetővé tett és használható program gyűjteménye, valamint egy-két adminisztrációs program a superuser (root) számára. /usr/doc Olyan, a programokhoz adott dokumentációk tartózkodási helye, amelyek nem a man része. Általában a benne levő könyvtárak linkelve 1 vannak a /usr/share/doc könyvtárból. /usr/games Kikapcsolódásra, szórakozásra használt játékprogramok, amelyek másodlagos szerepet töltenek be a többi program mögött. /usr/include A C programozási nyelv include (header) állományai. /usr/lib Az egyéb programok nem változó megosztott könyvtárai, vagy nem közvetlen, a felhasználó által futtatandó programok gyűjtőhelye. Egy program saját alkönyvtárt is létrehozhat, ha fájljait csak saját maga használja. /usr/lib/x11 Ez csak egy link az /usr/x11r6/lib/x11 könyvtárra, kompatibilitás miatt. /usr/local Azok a programok kerülnek ide, amelyek nem szerves részei a disztribúciónak, de mégis hozzá lettek adva a rendszerhez. Előfordulhatnak olyan rendszerek, ahol e könyvtárt külön csatolják, hogy akkor is írható lehessen, amikor a /usr könyvtárat csak-olvasható -ként fűzik fel a rendszer részévé. /usr/man A man oldalak helye témakörökre bontva. Manapság a /usr/share/man könyvtárat használják, de előfordulhatnak programok, amelyek még mindig a /usr/man könyvtárral dolgoznak. /usr/sbin Olyan rendszer-felügyeleti és rendszeradminisztrációs feladatok elvégzésére való programok gyűjteménye, amelyek a rendszer betöltődési folyamat során nem feltétlenül szükségesek. 1 A link mutatót, csatolót jelent. Bővebben foglalkozunk vele a 7. Fájlbejegyzések és jogok fejezetben.

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 19 /usr/share Gépfüggetlen könyvtárak és fájlok gyűjteménye, amelyek minden probléma nélkül felcsatolhatóak más gépekre NFS-sel. A /usr/doc könyvtár elemei linkek a / usr/share/doc könyvtára elemeire. /usr/src A forrásból telepített programok forráskódjait tartalmazó könyvtárak lelőhelye. A kernel forráskódja is itt található meg a /usr/src/linux könyvtárban. 3.3. A /var alkönyvtár Ez a könyvtár tartalmazza az összes olyan rendszerüzemeléssel kapcsolatos fájlt, amelyeket folyamatosan kell írni, és amelyek mérete gyakran változik (szinte mindig nő). Ezek közé tartoznak a napló és a spool fájlok. Sok olyan alkönyvtár, amely a /var alatt helyezkedik el, korábban a /usr alatt volt, de annak érdekében, hogy a /usr könyvtárat csak-olvasható hozzáféréssel lehessen NFS-enként logikailag bekötni, ezek a dinamikus alkönyvtárak a /var könyvtár alá kerültek át. Ilyen könyvtárak például a következők: /var/spool, /var/lock, /var/log. Következőképpen néz ki egy átlagos /var könyvtár tartalma: tree /var -d L 1 / -- backups -- cache -- games -- lib -- local -- lock -- log -- mail -- opt -- run -- spool -- state -- tmp `-- www 14 directories /var/backups Egyes config fájlok biztonsági másolati.

20 GNU/Linux - kezelési ismeretek I. Jónás Zsolt /var/cache Egyes programok működésük gyorsítására, hatékonyságuk növelése érdekében fájlokat helyeznek el itt. /var/games Legtöbb, a disztribúció részét képező játék a dicsőségtábláját (highscore) ebben a könyvtárban helyezi el. /var/lib Alkalmazásokhoz vagy a rendszerhez tartozó állapotinformációk tartózkodási helye. Egy könyvtár mindenképpen létezik, ez pedig a misc. A /var/lib/misc olyan alkalmazások állapotinformációt tartalmazza, amelyeknek nincs szükségük saját könyvtárra. /var/lock Egyes programok indulásukkor speciális fájlokat helyeznek el itt, amivel tudatják a többi programmal, hogy mely eszközöket, fájlokat használják elkerülve az együttes használatot, valamint megakadályozhatják, hogy több példány fusson saját magukból. Nem tanácsos a program futása alatt e fájlokat eltávolítani. A Debian indítás során üríti e könyvtár tartalmát. /var/log A rendszer működése során keletkező naplófájlok könyvtára. A felhasználók be- és kijelentkezéseit a wtmp fájl tartalmazza. Általában érvényes, hogy ha nem létezik a log fájl, amiben kellene tárolni az adatokat, nem fog létrejönni a fájl magától. Például, a faillog fájl tartalmazza a sikertelen bejelentkezéseket, azonban ha nem létezik, akkor nem jön létre a fájl és nem tárolódnak benne a bejegyzések, és így nem fogjuk megtudni, ha valaki próbálkozgat belépni a felhasználói nevünkkel. Célszerű nem ész nélkül törölgetni a könyvtáron belül, vagy ha mégis törlésre kerül valamelyik log fájl, akkor célszerű létrehozni üres tartalommal 1. /var/mail A rendszer minden felhasználójának a postaládája ebben a könyvtárban található meg alapesetben. Egyes grafikus levelező programok a felhasználó home könyvtárában található Mail (általában: /home/<felhasznalonev>/mail) könyvtárat használják a levelek tárolására. /var/opt A /opt könyvtárban telepített program(csomag)ok változó tartalmú adatait tartalmazó fájlok tartózkodási helye. 1 Lásd 9. Könyvtár- és fájlkezelő parancsok fejezet touch parancsa.

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 21 /var/run A könyvtárban lévő fájlok tárolják a futó programok azonosító számát, valamint a bejelentkezett felhasználókat. A futó rendszerbe bejelentkezett felhasználókról az utmp fájl tartalmaz információt, többek között a finger 1 parancs is ezt a fájlt használja. /var/spool Sorban álló műveletek fájljai vannak itt elhelyezve, ilyen lehet például a nyomtatásra váró feladatok, levelezéssel kapcsolatos fájlok, időponthoz kötött, automatikusan végrehajtott feladatok (cron). /var/state A /var/lib könyvtárral megegyező a szerepe, pontosabban annak a helyettesítésére, leváltására szánták. /var/tmp Ideiglenesen használt fájlok és könyvtárak helye, amelyek fenntartottak a rendszer két bootolása között. /var/www A rendszeren futó webszerver alap honlapját tartalmazó könyvtár. 1 A finger parancsra még visszatérünk a 6. Felhasználók és csoportok kezelése fejezetben.

22 GNU/Linux - kezelési ismeretek I. Jónás Zsolt

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 23 4. fejezet Rendszer elindulása és leállása A könyvtárstruktúra, az alapvető könyvtárak megismerése után nézzük meg, mi történik a rendszer elindulásakor és leállásakor, valamint hogyan befolyásolhatók e folyamatok. 4.1. Indulási folyamat Az indulás A számítógép bekapcsolásakor a BIOS öntesztje és a meghajtók detektálása után a boot-olási folyamat veszi kezdetét. Jelen esetünkben feltételezzük, hogy az elsődleges boot-olási eszköznek a rendszerünket tartalmazó merevlemez van megadva, illetve a merevlemezünk előtt megadott boot-olási eszközökről nem indul el a gép. A BIOS megvizsgálja a háttértároló legelső blokkját (MBR). Az ott elhelyezkedő betöltő program vagy elindítja a megadott partíción elhelyezkedő rendszert, vagy átadja egy másik partíció legelső blokkjában (SBR) elhelyezett rendszerbetöltő programnak a vezérlést. A LILO mind az MBR mind az SBR helyen elhelyezhető, és mind a két blokkban el tudja indítani a többi rendszert. Ha csak egy GNU/Linux rendszer helyezkedik el a merevlemezen, akkor is szükséges a LILO használata. A LILO szükséges a kernel betöltéséhez. A rendszer elindulásának a folyamata a kernel betöltődésével veszi kezdetét. A kernel betöltődése után inicializálja a hardver elemeket, betölti a szükséges eszközvezérlőket, majd elindítja az init programot. Az init a legelső process ami elindul. Feladata a fájlrendszer ellenőrzése, a démonok elindítása és a bejelentkezések lehetővé tétele (getty futtatása).

24 GNU/Linux - kezelési ismeretek I. Jónás Zsolt Futási szintek Az init több remek tulajdonsága mellett, biztosít a rendszergazdának különböző futási szinteket. A futási szintek segítségével befolyásolni lehet, hogy a boot-olási folyamat során mely démonok (milyen szolgáltatások), programok induljanak el. Hét futási szint van: 0: Rendszer lekapcsolására szolgáló futási szint. Minden folyamatot leállít, majd kikapcsolja a számítógépet (ha lehetséges). 1: Egyfelhasználós üzemmód, csak a rendszergazda léphet be, más néven szerviz üzemmód. Sajnos több terjesztés sem tartja fontosnak a rendszergazda jelszavának kérését e futási szint használatakor, a Debian bekéri. 2, 3, 4, 5: Alapesetben, a telepítés befejezése után, azonos programokat indítanak el. A rendszergazdára bízzák a különböző futási szintek létrehozását igény esetén. 6: Rendszer újraindítására szolgáló futási szint. Minden folyamatot leállít, majd újraindítja a számítógépet. A 2-es az alap futási szint, de a boot-olási folyamat megkezdése előtt, a LILO-ból, megadható a kívánt futási szint: lilo: <betöltendő kernel> <futási szint> lilo: Linux-2.4.21 4 Szerviz üzemmód betöltése a következőképpen is lehetséges: lilo: <betöltendő kernel> 1/single lilo: Linux-2.4.21 1 Az 1 -es helyett írhatunk single opciót is: lilo: Linux-2.4.21 single Rendszer betöltődése után, a rendszer használata közben is lehet futási szintet váltani (de csak a rendszergazda teheti meg): init 4 Most nézzük meg a /etc/inittab config fájl tartalmát, amellyel szintén befolyásolhatók az egyes szintek. Alap futási szint beállítása: id:2:initdefault: A szerviz szint kivételével, az összes többi futási szint esetén lefuttatásra kerülnek az alábbi könyvtárban elhelyezkedő script fájlok: si::sysinit:/etc/init.d/rcs

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 25 Azért felel a következő sor, hogy szerviz üzemmód indítása esetén kérjen root jelszót a rendszer: ~~:S:wait:/sbin/sulogin Megadható, hogy az egyes futási szintek indulásakor milyen program/script induljon el és milyen paraméterekkel: l0:0:wait:/etc/init.d/rc 0 l1:1:wait:/etc/init.d/rc 1 l2:2:wait:/etc/init.d/rc 2 l3:3:wait:/etc/init.d/rc 3 l4:4:wait:/etc/init.d/rc 4 l5:5:wait:/etc/init.d/rc 5 l6:6:wait:/etc/init.d/rc 6 A megadott script az /etc/rcx.d 1 könyvtárban elhelyezett programokat indítja el vagy állítja meg. A könyvtárban minden fájl neve vagy S vagy K betűvel kezdődik, és két számmal folytatódik, majd a program neve követi. Az S (start) betű azt jelenti, hogy az adott programot el kell indítani, a K (kill) betű épp ellenkezőleg, le kell állítani az adott alkalmazást. A betűk után szereplő számoknak a sorrend meghatározásában van feladatuk 2. Ha van több olyan fájl, amelynek betűjele és sorszáma is azonos, akkor futási sorrendjüket a névben szereplő többi betű, ábécé rendbeli elsőbbségük, dönti el. Beállítható, hogy a CTRL+ALT+DEL billentyűkombinációra mi történjen: ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now UPS jelzéseire történő reagálást a következő sorok adják meg: pf::powerwait:/etc/init.d/powerfail start pn::powerfailnow:/etc/init.d/powerfail now po::powerokwait:/etc/init.d/powerfail stop A konzolok számát a következőképpen adhatjuk meg: azonosító:futásszint:tevékenység:processz 1:2345:respawn:/sbin/getty 38400 tty1 2:23:respawn:/sbin/getty 38400 tty2 3:23:respawn:/sbin/getty 38400 tty3 4:23:respawn:/sbin/getty 38400 tty4 5:23:respawn:/sbin/getty 38400 tty5 6:23:respawn:/sbin/getty 38400 tty6 Alapesetben 6 darab terminálon tudunk bejelentkezni a rendszerbe, de ezt akár növelhetjük vagy csökkenthetjük, igény szerint. Maximálisan 63 konzolt hozhatunk létre. A futásszint mezőben lehet megadni, hogy melyik futási szinten legyen elérhető az aktuálisan megadott konzol bejelentkezésre. A tevékenység mezőben adható meg, hogy milyen feltételekkel fusson le a processz mezőben megadott program. Felsorolunk néhányat közülük: 1 X lehet 0, 1, 2, 3, 4, 5, 6 a futási szintnek megfelelően 2 Minél kisebb a szám, annál előbb hajtódik végre a parancs

26 GNU/Linux - kezelési ismeretek I. Jónás Zsolt respawn wait once boot bootwait initdefault sysinit ctrlaltdel A program automatikusan újraindul megállása után. A processz akkor indul el, amikor a megadott futási szintre lép a rendszer, és az init addig vár, amíg a processz fut. Csak egyszer, a futási szintre lépéskor indul el. A process a rendszer újraindulása közben indul el (a megadott futási szint lényegtelen ilyenkor). A processzt a rendszer indulása közben indítja el, az init megvárja amíg lefut. Az initdefault bejegyzést azt adja meg, hogy a rendszer induláskor melyik futási szintre lép automatikusan, ha nem adjuk meg, akkor az init bekéri a konzolról. A processz a rendszer újraindítása alatt hajtódik végre, mégpedig a boot és a bootwait bejegyzés előtt. Az init ilyenkor megvárja, hogy a processz befejeződjön, mielőbb továbbmenne. A processz akkor hajtódik végre, ha az init SIGINT szignált kap. Ez azt jelenti, hogy a rendszer valamelyik konzolján valaki lenyomta a CTRL+ALT+DEL billentyűkombinációt. Ez általában a rendszer valamiféle leállását okozza: egyfelhasználós módra történő váltás, újraindítás vagy leállítás. A processz mezőben adható meg, hogy melyik program induljon el. Ha a processz mező + jellel kezdődik, akkor az init nem készít bejegyzést az utmp és a wtmp fájlokban a processzről. Ha megváltoztattuk az inittab fájlt, akkor ajánlatos az init programmal újraolvastatni a tartalmát, hogy tovább az új beállításokkal fusson: vagy init q kill -HUP 1 Előző és az aktuális futási szint megjelenítése runlevel Lekérdezhetjük az aktuális és az előző futási szintet a runlevel parancs segítségével: runlevel N 2 Először jeleníti meg az előző, majd szóközzel elválasztva az aktuális futási szintet. Ha az előző állapotot jelző szám helyett egy N betű jelenik meg, akkor nem volt előző állapot a gép elindulása óta. 4.2. Rendszer leállítás Szigorú szabályok által meghatározott menete van a leállításnak is, ugyanis helytelen lekapcsolás súlyos károkat, akár helyrehozhatatlan adatvesztést is képes okozni. A rendszer

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 27 egyik nagy előnye a stabilitás és ennek függvényében jelentős adatmennyiség foglal helyet a memóriában, ami nem íródik ki a merevlemezre azonnal, így a le nem zárt állományok sérülhetnek, a memóriából még ki nem írt adatok elvesznek egy szabálytalan leállítási folyamat során. A naplózó fájlrendszerek megjelenésével csökkent a fájlsérülések mértéke, de a memóriából történő adatvesztés ellen nem nyújtanak védelmet. Leállítási lehetőségek A leállítási folyamatot a shutdown parancs végzi. Példa egy leállításra: shutdown h +15 `FIGYELEM: a rendszer leáll 15 perc múlva!' A -h paraméter jelzi azt a shutdown programnak, hogy kapcsolja ki a gépet, ha tudja, a leállítási folyamat végén. Helyette az -r kapcsolót megadva a gép újraindul. Várakozás nélküli lekapcsolásra a következőképpen utasíthatjuk a rendszert: shutdown -h now A kikapcsolási folyamat elindítását a halt vagy a poweroff, az újraindítási folyamat elindítását a reboot paranccsal is kezdeményezhetjük. E négy parancsot csak rendszergazdaként adhatjuk ki. A /etc/inittab fájlban megadható, hogy CTRL+ALT+DEL billentyűkombináció karakteres felületen való lenyomására mi történjen. Alapesetben újraindul a számítógép, de a folyamat elindítása előtt a shutdown program megnézi, hogy létezik-e az /etc/shutdown.allow fájl, ha nem létezik, akkor bárki újraindíthatja a számítógépet karakteres felületen az említett billentyűkombinációval. Azonban ha a fájl létezik, akkor megnézi, hogy az a felhasználó szerepel-e a fájlban, ha nem, akkor egy szép kis üzenettel a felhasználó tudtára hozza, hogy nem jogosult a folyamat elindítására: shutdown: no authorized users logged in. Azonban, ha a felhasználó szerepel a fájlban, akkor elindul az újraindítási folyamat azonnal. FIGYELEM! Fontosságát hangsúlyozva, felhívjuk a figyelmet újra arra, hogy a helytelen rendszerleállítás helyrehozhatatlan károkat képes okozni!

28 GNU/Linux - kezelési ismeretek I. Jónás Zsolt

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 29 5. fejezet Bejelentkezés és kijelentkezés Egy többfelhasználós rendszernek szükséges megkülönböztetnie egymástól a felhasználóit, hogy tudjanak egyszerre is dolgozni, valamint hogy egymás fájljaihoz és könyvtáraihoz ne férhessenek hozzá engedély nélkül. A fejezetben átnézzük, hogy a felhasználók hogyan léphetnek be a rendszerbe, hogyan jelentkezhetnek ki, valamint hogy milyen segédprogramok állnak rendelkezésére a rendszergazdának a felhasználók kezelésére. 5.1. Bejelentkezés Mielőtt használatba vennénk a parancsértelmezőnket, előbb be kell jelentkezni a rendszerbe. Ezt kétféleképpen tehetjük meg, vagy a számítógép előtt ülve, vagy távolról. A következőkben átvesszük mindkettőt. Helyi bejelentkezés A bejelentkezési folyamat a getty program indulásával kezdődik. Az inittab fájlban állíthatjuk be, hogy melyik számú terminálokon induljon el a getty program, tehát hányas számú terminálokon léphetünk be a rendszerbe. A getty feladata, elindítani a login programot, amely kéri a felhasználói nevet. Ha begépelésre került és nyugtázva lett az ENTER billentyűvel, akkor kéri a jelszót. Ne ijedjünk meg, a jelszó gépelése közben semmilyen karakter sem fog megjelenni biztonsági okok miatt. Fikusz login: jonci Password:

30 GNU/Linux - kezelési ismeretek I. Jónás Zsolt A login program a /etc/passwd és ha létezik, akkor a /etc/shadow fájlt is felhasználja a felhasználó azonosítására. E fájlokra még visszatérünk hamarosan. A /etc/nologin fájl létrehozásával megakadályozható a felhasználók belépése, csak a rendszergazda jelentkezhet be. A rendszer lekapcsolásakor is automatikusan létrejön, hogy senki se léphessen be. Karakteres, helyi bejelentkezés esetén a <gépnév> login: előtt a rendszer megjeleníti a /etc/issue fájl tartalmát. Ebben különböző információk megjelenítésére 1 utasíthatjuk a getty parancsot. Sikeres bejelentkezés után pedig a képernyőre kerül a /etc/motd fájl tartalma, valamint a rendszer ellenőrzi, hogy van e levelünk a /var/mail/<felhasználó> postafiókunkban és közli velünk, mit talált 2 : You have new mail. esetleg You have mail. vagy No Mail.. Mind az motd fájl, mind a levelesláda állapotának megjelenítését letilthatjuk a login 3 könyvtárunkban a.hushlogin fájl létrehozásával. Távoli bejelentkezés Vonatkoztassunk el a hardver feltételektől, foglalkozzunk inkább csak a szoftver oldalával. A két gépnek kommunikálnia kell egymással és ehhez programok szükségesek. Amelyik géphez akarunk csatlakozni, azt nevezzük szerver gépnek, a másikat pedig kliensnek. Többféle kommunikációs csatorna létezik, a használni kívánt programtól függ, hogy melyikkel jön létre az adatforgalom. Amikor csatlakozni akarunk egy szerverhez, akkor először kéréssel fordulunk hozzá 4. A kérésre háromféleképpen reagálhat a szerver. Az egyik lehetőség, hogy a szolgáltatást biztosító program fut a háttérben (démon), fogadja a kéréseket és biztosítja a kommunikációt. A másik lehetőség, hogy a háttérben mindig futó inetd démon fogadja a kérelmeket és elindítja a szolgáltatást biztosító programot. A /etc/inetd fájlban állíthatjuk be a biztosítani kívánt szolgáltatásokat. Figyeljünk rá, hogy alapesetben sok szolgáltatás engedélyezve lehet, feleslegesen, valamint biztonsági rést is jelenthet, így a nem használt szolgáltatást jobb, ha bezárjuk 5. Végül pedig, a harmadik esetben a szerver elutasítja a kapcsolatot. Többek között lehet oka, hogy nem fut a szolgáltatás, ami feldolgozná a kéréseket, vagy tűzfal nem engedi, hogy igénybe vegyék a szolgáltatást, stb. Szolgáltatások tiltása és engedélyezése számítógépenként Lehetőségünk van az inetd szolgáltatását egyenként tiltani vagy engedélyezni adott címekre. A tiltásokat a /etc/hosts.deny fájlban, az engedélyezéseket a /etc/host.allow fájlban kell megadni. Ha nem léteznek, akkor semmiféle korlátozás nincs beállítva. Célszerű a /etc/hosts.deny fájl tartalmát a következőre beállítani: 6 ALL: ALL 1 Aki ráér, akár ASCII grafikát is belerakhat, lehet színeket is használni. Bővebben a man getty oldalon. 2 Új levél van. Levél van. Nincs levél. 3 Megadható a rendszernek, hogy sikeres bejelentkezés után, melyik könyvtárba kerüljön az adott felhasználó. Nem szükséges a /home/<felhasználói név> könyvtárat használni minden felhasználónál, csak ajánlott. 4 A használt program saját maga intézni. 5 Az inetd beállítását a Beállító fájlok könyvtára fejezetben részletezzük. 6 Fájlszerkesztésről bővebben szólunk a Szövegszerkesztők fejezetben.

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 31 Ezzel minden szolgáltatást tiltunk mindenkinek befelé. A /etc/host.allow fájlban pedig engedélyezhetjük a kívánt szolgáltatásokat megadott gépekre, vagy tartományokra. A szolgáltatások listáját a /etc/services fájlban találjuk. Most lássuk például az ftp szolgáltatás engedélyezését belső hálóra: in.ftpd: 192.168.0.0/255.255.255.0 A két fájl használatával jól konfigurálható egy szerver, de nagyobb biztonságot érhetünk el egy igazi firewall 1 beállításával. Standard bemenethez tartozó konzol száma tty Az aktuálisan használt konzol száma a következőképpen kérdezhető le, ha nem tudnánk, melyik terminálon dolgozunk: tty /dev/tty1 Utóbbi belépések listázása last A /var/log/wtmp fájlból olvassa ki az információkat, hogy melyik felhasználó mikor, honnan lépett be, mikor jelentkezett ki, valamint hogy melyik konzolt használta. A kijelzés fordított sorrendben történik, időben visszafelé. A reboot felhasználó a rendszer újraindítását jelzi, az újraindításának dátumát, újraindítási folyamat időtartalmát, valamint a sorban kijelzésre kerül az elindított kernel neve is. Ha nem akarjuk az egész listát megjeleníttetni, akkor a -szám vagy a -n szám paraméterben megadhatjuk a megjeleníteni kívánt sorok számát: last 2 jonci tty2 Wed Nov 26 08:29 still logged in pedro tty1 Sun Nov 23 14:35-15:35 (01:00) Lehetőség van a kijelzett lista szűkítésére a felhasználó nevének megadásával is. Listázzuk ki a jonci felhasználó utolsó 3 belépését: last 2 jonci jonci tty2 Wed Nov 26 08:29 still logged in jonci tty1 Fri Nov 21 22:36-23:24 (00:47) jonci pts/1 192.168.1.1 Tue Nov 18 16:41-19:15 (02:34) A listázás harmadik sorában pts azonosító jelenti, hogy a rendszerbe történő bejelentkezés nem helyi terminálról történt. A / jel után álló szám pedig a pts eszköz számát jelenti. Segítségével tudjunk megkülönböztetni több pts eszközt egymástól, úgy mint a tty eszközöket. A következő oszlopban kijelzésre került annak a számítógépnek az IP-címe, amelyről a bejelentkezés történt. A lista szűkítését kérhetjük a bejelentkezésre felhasznált terminál száma alapján is. Próbaként kérdezzük le az utolsó két bejelentkezést a tty2 terminálra: 1 Magyarul tűzfal program, ami ha jól van beállítva, a kéretlen kopogtatásokat blokkolja.

32 GNU/Linux - kezelési ismeretek I. Jónás Zsolt last 2 tty2 jonci tty1 Sun Nov 23 11:07-13:12 (02:05) jonci tty1 Fri Nov 21 22:36-23:24 (00:47) Az előbbi szűkítésnél, ha nem helyi bejelentkezés szerint szeretnénk szűkíteni, akkor tty eszköz helyett pts eszközt is megadhattunk volna. (Például: last -2 pts/6) Legutolsó belépések idejének lekérdezése lastlog E program segítségével nézhetjük meg a /var/log/lastlog fájl tartalmát. Megjeleníti a használt felhasználói nevet és terminál képernyőt, távoli bejelentkezés esetén az IP-címet, valamint az időpontot. A -u felhasználó paraméterrel szűkíthetjük a kijelzést a megadott felhasználóra. A -t nap paraméterrel megadhatjuk, hogy mennyire régi bejelentkezéseket már ne jelenítsen meg, valamint e paraméter felülbírálja a -u paramétert. Sikertelen bejelentkezések lekérdezése faillog Lekérdezhető a sikertelen bejelentkezések, amelyeket a /var/log/faillog fájl tartalmaz. Érdemes megjegyezni, hogy ha a faillog fájl nem létezik, akkor nem kerülnek tárolásra a sikertelen bejelentkezések. faillog Username Failures Maximum Latest jonci 1 0 h jan 5 17:35:01 +0100 2004 on tty1 5.2. Konzol zárolása Ha a kijelentkezés lehetőségével nem akarunk élni, akkor van mód a konzolunk lezárására, erre való a vlock parancs. Konzol zárolása vlock Egy vagy több session lezárására használható a konzolon. Ez különösen akkor hasznos, ha a géphez több személy is hozzáférhet a konzolon keresztül. Azonban a felhasználó zárolhatja a session-jeit, így hozzáférést biztosítva mások számára a többi virtuális konzolon (VK) anélkül, hogy ki kellene lépnie a rendszerből. Amennyiben szükséges, a VK-váltást is letilthatja. This TTY is now locked. Use Alt-function keys to switch to other virtual consoles. Please enter the password to unlock. jonci's Password: root's Password: Alapértelmezésben, csak az éppen használt VK-t zárolja a parancs. A -a és a --all kapcsolókkal az összest lezárhatjuk. A lezárt VK csak a felhasználó jelszavával vagy a root jelszóval szabadítható fel. A root jelszó bármelyik illetve mindegyik session-t nyitni tudja. A

Jónás Zsolt GNU/Linux - kezelési ismeretek I. 33 vlock engedélyezi a jelszó újbóli beütését korlátok nélkül, így jól válasszuk meg jelszavainkat 1 : vlock -a The entire console display is now completely locked. You will not be able to switch to another virtual console. Please enter the password to unlock. jonci's Password: root's Password: Figyeljünk arra, hogy a -a, és a --all kapcsolókkal teljesen kizárhatjuk magunkat a rendszerből, ha elfelejtjük a jelszót, és nem tudunk bejelentkezni egy másik gépről, hogy kilőjük a vlock process-t. Ilyenkor csak a számítógép újraindításával lehet feloldani a zárat (CTRL+ALT+DEL), lehetőleg kerüljük a RESET gomb használatát. Ha a CTRL+ALT+DEL kombinációval sem tudnánk újraindítani a számítógépet, használjuk a MAGIC gombokat 2. 5.3. Kijelentkezés Amikor a számítógép továbbra is bekapcsolva marad, de befejeztük a munkánkat vele, célszerű kijelentkezni, hogy mások a mi hozzáférésünkkel és jogainkkal ne tevékenykedhessenek a rendszerben. Kijelentkezés megvalósításához több úton is eljuthatunk: Az egyik megoldás, hogy meghívjuk az exit parancsot, ami bezárja az éppen használt parancsértelmezőnket. A másik lehetőség, hogy beírjuk a logout parancsot, amivel közölhetjük a héjprogramnak a kilépési szándékunkat. Harmadiknak említjük meg a logout forróbillentyűjét, a CTRL+D billentyűkombináció lenyomásával a logout parancs kiadását kérhetjük. Azonban, ha futnak a jogainkkal programok a háttérben 3, amelyek nem démon programok, akkor kijelentkezés helyett először a héj figyelmeztet: logout There are stopped jobs. [1]+ Stopped mc -a u Ilyenkor vagy kilőjük 4 az összes, felsorolt programot a memóriából, vagy egy kecses mozdulattal újra megismételjük a kijelentkezési parancsunkat, amelynek hatására a héj bezáródik, és vele együtt az összes általa elindított program is. 1 Jelszónak ne adjuk meg: családtagok, ismerősök, háziállatok, stb. neveit. Lehetőleg a jelszó tartalmazzon kis-, nagybetűt és számot. 2 A Kernelfordítás fejezetben részletezzük a használatát. 3 Lásd 11.3 Héjon belüli folyamatazonosítási rendszer fejezet 4 Erre a kill vagy a killall parancs használható. A 11. Folyamatvezérlés fejezetben bővebben ismertetjük a használatukat.