Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Hálózati adminisztráció Linux

Hasonló előadás


Az előadások a következő témára: "Hálózati adminisztráció Linux"— Előadás másolata:

1 Hálózati adminisztráció Linux
MIN7B6I MIN2B1

2 Johanyák Zsolt Csaba (c) 2010
Ajánlott irodalom Hivatalos és közösségi dokumentáció Brian K. Jones, Bill von Hagen: Linux bevetés közben - Második küldetés Kiskapu Kft., 2006, ISBN: Rob Flickenger: Linux bevetés közben, Kiskapu Kft., 2003, ISBN: Johanyák Zsolt Csaba (c) 2010

3 Történeti áttekintés Egyéni feldolgozásra

4 Johanyák Zsolt Csaba (c) 2010
A UNIX kialakulása1 nagyszabású kutatási program az 1960-as években az MIT, a Bell laboratórium és a General Electric több felhasználós, többfeladatos operációs rendszer neve: MULTICS (MULTiplexed Information and Computing Service fejlesztés PL/I nyelven folyt a program feladására kényszerültek Johanyák Zsolt Csaba (c) 2010

5 Johanyák Zsolt Csaba (c) 2010
A UNIX kialakulása2 Ken Thompson: MULTICS egyszerűsített változata PDP-7 számítógépre Szolgáltatások: állomány és file kezelés folyamatkezelő alrendszer segédprogramok Elnevezés (Brian Kernighan) : eunuch multics, UNICS (UNiplexed Information and Computing Service) 1971 PDP-11-re, még teljesen assembly 1973-ban C-re átültetve Johanyák Zsolt Csaba (c) 2010

6 Johanyák Zsolt Csaba (c) 2010
A UNIX kialakulása3 AT&T kezdetben ingyen bocsátotta az amerikai egyetemek rendelkezésére a forráskódot 1974: első nyilvános változat nyolcvanas évek végére két különböző, egymástól sokban eltérő Unix: AT&T: UNIX BSD UNIX : az AT&T összefogja a saját verzióit és a version 7 után System III néven jelenik meg 1983: kb működő UNIX rendszer 1983: System V. Később Release-ek Pl:System V Release 4, (SVR4) Johanyák Zsolt Csaba (c) 2010

7 Johanyák Zsolt Csaba (c) 2010
A UNIX kialakulása4 Microsoft PC-re fejleszett UNIX változata. Az első PC-s UNIX: Xenix Intel ra Kb. 30 db floppy (360 Kb-os) Johanyák Zsolt Csaba (c) 2010

8 Egységesítési törekvések1
AT&T: SVID (System V Interface Definition) Szabványos rendszer hívások Szabványos szubrutinok a BSD figyelmen kívül hagyta IEEE: POSIX (Portable Operation System Interface (x)) Támogatói: ANSI, ISO Összetétele: 70%-ban SVID, 30% saját elképzelések Minden nagy UNIX gyártó elismeri a POSIX jelentőségét, és támogatja azt. Ettől függetlenül továbbra is építenek be inkompatibilis részeket saját UNIX-ukba Johanyák Zsolt Csaba (c) 2010

9 Egységesítési törekvések2
A riválisok két szervezetbe tömörülnek: OSF (Open System Foundation) vezetője a DEC. Tagjai: DEC, IBM, HP, BULL, Siemens-Nixdorf, … UI (Unix International) Alapítója az AT&T Tagjai: NCR, Unisys, Data General, … Új szervezetet hoznak létre: X/OPEN OS szabvány neve: Core OS API (Common API) Spec 1170, UNIX 95 United Linux 2002 (SuSE, Turbo Linux, SCO, Connectiva Johanyák Zsolt Csaba (c) 2010

10 Johanyák Zsolt Csaba (c) 2010
UNIX-ok IBM: AIX DEC: ULTRIX Berkeley University: BSD UNIX, Free BSD Silicon: IRIX Hewlett-Packard: HP-UIX SUN: Solaris majd Sun OS Microsoft: XENIX Linux-ok Johanyák Zsolt Csaba (c) 2010

11 Johanyák Zsolt Csaba (c) 2010
Linux Finn egyetemista: Linus Thorvalds OS Andrew Tanenbaum vita a kernel felépítéséről 0.11-es változat 1991-ben Kernel – op. r. magja ( v.x.y.z; jelenleg: 3.0.4 önmagában használhatatlan Johanyák Zsolt Csaba (c) 2010

12 Johanyák Zsolt Csaba (c) 2010
Linux változatok Disztribúció egy linux kernelen alapuló teljes rendszer pl. Ubuntu, Redhat, SuSE ,Slackware, Debian, UHU, Fedora Johanyák Zsolt Csaba (c) 2010

13 Johanyák Zsolt Csaba (c) 2010
Linux OpenSuse: (hu.opensuse.org) Debian: ( Slackware: ( Red Hat: ( Fedora: (fedoraproject.org) UHU: ( Ubuntu: (ubuntu.hu, Johanyák Zsolt Csaba (c) 2010

14 Johanyák Zsolt Csaba (c) 2010
Felhasználói felület Eredetileg karakteres, szerver változatnál most is X.Org grafikus rendszer (X Windows) Grafikus felület pl. KDE, GNOME Johanyák Zsolt Csaba (c) 2010

15 Johanyák Zsolt Csaba (c) 2010
X Windows System (X11) Hálózati protokoll Grafikus primitívek keretrendszere (szoftver) – ablakok kirajzolásához, mozgatásához, egér- és billentyűzet kezeléshez Nem tartalmaz felhasználó felület tervezési/megvalósítási elemeket: nyomógomb, menü Hardver absztrakciós réteget képez Lehetővé teszi az eszközfüggetlen elérést Johanyák Zsolt Csaba (c) 2010

16 Johanyák Zsolt Csaba (c) 2010
X Windows System (X11) Újabb szoftver réteg az operációs rendszer magja felett Eredetileg hálózati használatra tervezték A felhasználó gépén fut, és szolgáltatást nyújt más gépen vagy azonos gépen futtatott ún. kliens alkalmazások számára miközben kezeli a felhasználói IO eszközöket Forrás: Johanyák Zsolt Csaba (c) 2010

17 Tipikus alkalmazási helyzetek
Bejelentkezünk egy távoli gépre Ott elindítunk egy programot, és annak a felülete a mi képernyőnkön grafikusan jelenik meg Ugyanez, csak helyi gépen Johanyák Zsolt Csaba (c) 2010

18 Grafikus felhasználói felület
Az, amit a felhasználó ténylegesen lát Egy további szoftver réteg hozza létre az X11 szolgáltatásainak igénybe vételével Ez a réteg lehet Ablakkezelő (Window Manager) Asztali környezet (Desktop Environment) Alkalmazásspecifikus felhasználói felület Grafikus eszközkészlet (GUI widget ToolKit) Johanyák Zsolt Csaba (c) 2010

19 Ablakkezelők és asztali környezetek
Metacity GNOME Compiz GNOME, KDE KWin KDE Xfwm Xfce wmii Unity Ratpoison twm- az X11-el szállított alap ak. evilwm Enlightenment Johanyák Zsolt Csaba (c) 2010

20 Johanyák Zsolt Csaba (c) 2010
Asztali környezet Az ablakkezelőn túl egy sor kiegészítő/segéd szoftvert is tartalmaz Pl. GNOME, KDE, Xfce, CDE (Unix), Unity Johanyák Zsolt Csaba (c) 2010

21 X Windows implementációk
XFree86 ( volt a legáltalánosabb 2004-ig – licencelési váltás X.Org ( től az XFree86 egy korábbi, szabad licenszű változatából kezdték fejleszteni Legtöbb Linux disztribúció X.Org-ot használ Johanyák Zsolt Csaba (c) 2010

22 Johanyák Zsolt Csaba (c) 2010
Linux desktopok KDE (jelenleg: 4.7.1) K Desktop Environment Matthias Ettrich Tübing-i egyetemi hallgató GNOME (jelenleg: 3.2) GNU Network Object Model Environment – augusztus Johanyák Zsolt Csaba (c) 2010

23 Johanyák Zsolt Csaba (c) 2010
Linux desktopok XFCE (jelenleg 4.8) Kis erőforrásigény Olivier Fourdan Johanyák Zsolt Csaba (c) 2010

24 Johanyák Zsolt Csaba (c) 2010
Jellemzők többfelhasználós több feladat párhuzamos végrehajtása általános időosztásos rendszer hierarchikus állományrendszer, felcsatolható kötetek állomány típusát nem a neve (kiterjesztése) alapján ismeri fel keresztkapcsolatok hatékony és kifinomult állományvédelmi rendszer több parancsértelmező Linux: a legteljesebb POSIX implementáció Johanyák Zsolt Csaba (c) 2010

25 Többfelhasználós működés
egyidejűleg több felhasználó használhatja mindegyikük akár több programot is futtathat terminál : soros vonalon, akár modemen keresztül pszeudo-terminál: a hálózaton vagy a grafikus felületen bejelentkezett felhasználó terminálja megnevezés: console, tty, ttyp Johanyák Zsolt Csaba (c) 2010

26 Váltás a terminálok között helyi gépen
Karakteres felületről váltás egy másik karakteres terminálra (Alt+F1..F6) grafikus felületre (Alt+F7..F8) Grafikus felületről váltás egy karakteres terminálra (Ctrl+Alt+F1..F6) egy másik grafikus felületre (Ctrl+Alt+F7..F8) Megj.: minden használt terminálon be kell jelentkezni alapesetben csak egy grafikus felületünk van (F7), amiből szükség esetén egyes Linuxoknál indíthatunk egy másikat Johanyák Zsolt Csaba (c) 2010

27 Felhasználók megkülönböztetése
login name: bejelentkezési /felhasználói azonosító max. 8 karakter hosszú, kisbetűvel írott numerikus felhasználó azonosító (UID - user identification) jelszó: maximum 8-16 karakter hosszú felhasználói csoportok (groups): elsődleges csoportja (pl. student) tartozhat még más csoportokhoz is (pl. texusers) csoportneveket is kisbetűvel írják numerikus csoport-azonosító (GID - group identification) Johanyák Zsolt Csaba (c) 2010

28 Kitüntetett felhasználó
kitüntetett felhasználónév: "root" a rendszerben neki "mindent szabad" ne használjuk Linuxos gépüket "root" hozzáférési jogokkal, mert egy root jogokkal kiadott hibás vagy át nem gondolt utasítás egy pillanat alatt az egész rendszerünket jóvátehetetlenül tönkreteheti Ubuntu: az elsőként létrehozott felhasználó jelszavával sudo utasítás sudo su Johanyák Zsolt Csaba (c) 2010

29 Karakteres felület

30 Johanyák Zsolt Csaba (c) 2010
Bejelentkezés Ubuntu XXX tty1 XXX login: hallgato Password: Last login: … Johanyák Zsolt Csaba (c) 2010

31 Kilépés, leállítás és újraindítás
a számítógép lekapcsolása nélkül logout - a "login shell"-ből exit - a "login shell" után indított shellekből léptet ki, hatására a login shellbe jutunk vissza a számítógép újraindításával reboot (root jogosultság szükséges) Ctrl+Alt+Del a számítógép lekapcsolásával shutdown –y –i5 –g0 (root jogosultság szükséges) halt (root jogosultság szükséges) a számítógépet működő operációs rendszer mellett kikapcsolni tilos! Johanyák Zsolt Csaba (c) 2010

32 Johanyák Zsolt Csaba (c) 2010
Súgó man parancsnév man –f parancsnév rövid összegzés man –k kulcsszó felsorolja azokat a parancsokat, amelyeknek a leírásában szerepel a kulcsszó info parancsnév /usr/share/doc Johanyák Zsolt Csaba (c) 2010

33 Johanyák Zsolt Csaba (c) 2010
Parancsértelmező Shell (pl. ash, bash, csh, ksh, sh, tclsh, tcsh, tixwish, wish8, zsh) elindítja a felhasználó által megadott programokat a felhasználó parancsait kernelhívásokká alakítja a képernyőn megjeleníti az eredményt Johanyák Zsolt Csaba (c) 2010

34 Johanyák Zsolt Csaba (c) 2010
Shell típusok sh - első, Bourne shell, minden Unix rendszer tartalmazza ash – sh változat csh - az sh továbbfejlesztett és C elemekkel kiegészített változata ksh - Korn shell tcsh - a csh kényelmi és kiterjesztett funkciókkal jól megpakolt változata bash - a Linux rendszereken általánosan használt, Bourne Again SHell, az sh egy alaposan továbbfejlesztett változata Johanyák Zsolt Csaba (c) 2010

35 Johanyák Zsolt Csaba (c) 2010
Bash felfelé nyíl: az előzőleg begépelt parancsok !sztring: a legutóbbi olyan parancs, amely a sztringgel  kezdődött állománynév kiegészítés: „Tab” ha ez egyértelműen lehetséges, beírja a nevet, ha nem, sípol egyet, és a „Tab” újbóli megnyomására megkapjuk a lehetséges állománynevek listáját sor elején (első szóban) csak futtatható állományokra (a PATH-ot végignézve) argumentumoknál az összes állományra Johanyák Zsolt Csaba (c) 2010

36 Shell- és környezeti változók
Létrehozás/érték beállítás változó_név=érték mkk=/etc/dhcp3 cd $mkk Hivatkozás $változó_név vagy ${változó_név} Shell v. ® Környezeti v. export változó_név Lista env, printenv Lekérdezés echo $változó_név Johanyák Zsolt Csaba (c) 2010

37 Fontosabb környezeti változók
PATH HOME LOGNAME HOSTNAME TERM Johanyák Zsolt Csaba (c) 2010

38 Johanyák Zsolt Csaba (c) 2010
Mi a PATH? echo $PATH /../..:/../..:... mc /../../../mc ./programnév alternatív: akt könyvtár felvétele a keresési útvonalba mcedit .bash_profile PATH=.:$PATH mentés(F2), kilépés(F10), kijelentkezés(logout), bejelentkezés Johanyák Zsolt Csaba (c) 2010

39 Johanyák Zsolt Csaba (c) 2010
Példák echo $HOME   /home/csaba   echo $LOGNAME   csaba echo $PATH   /usr/local/bin:/bin:/usr/bin:/usr/X11/bin: /usr/games:.:/usr/TeX/bin   Johanyák Zsolt Csaba (c) 2010

40 Johanyák Zsolt Csaba (c) 2010
Példák valtozo=valami   echo $valtozo   valami   PATH=/alma/jonatan:$PATH   export PATH   Johanyák Zsolt Csaba (c) 2010

41 Johanyák Zsolt Csaba (c) 2010
Alias alias listazz ='ls -l' alias listazz unalias listazz Johanyák Zsolt Csaba (c) 2010

42 Johanyák Zsolt Csaba (c) 2010
Információk tty melyik terminálon dolgozunk? id mi az azonosítónk és mely csoportokhoz tartozunk? groups csoporttagságok uname –a gépinformációk Johanyák Zsolt Csaba (c) 2010

43 Johanyák Zsolt Csaba (c) 2010
Szövegíró programok1 ed egyszerre a szöveg egy sorát képes feldolgozni nano vi üzemmódok: parancs (ESC)/beviteli(a,i,o)/ex(:) mentés és kilépés :wq joe (súgó: Ctrl-K-H) Feladat: Hozzon létre egy-egy szöveges állományt a joe és a jed segítségével jed menüvezérelt SuSE, Debian: nem része az alap telepítésnek Johanyák Zsolt Csaba (c) 2010

44 Johanyák Zsolt Csaba (c) 2010
vi vi proba ESC i szöveg beírása ESC :wq cat proba Johanyák Zsolt Csaba (c) 2010

45 Johanyák Zsolt Csaba (c) 2010
joe proba szöveg beírása Ctrl K H súgó Ctrl K D mentés Ctrl C kilépés mentés nélkül Johanyák Zsolt Csaba (c) 2010

46 Johanyák Zsolt Csaba (c) 2010
Szövegíró programok2 mcedit proba pico (pine) emacs Johanyák Zsolt Csaba (c) 2010

47 Konfigurációs állományok
/etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile végrehajtás bejelentkezéskor környezeti változók pl. PATH .bashrc végrehajtás minden shell indításkor (bash használata esetén) környezeti változók alias .bash_logout .kderc .Xdefaults /etc/skel Johanyák Zsolt Csaba (c) 2010

48 Johanyák Zsolt Csaba (c) 2010
Mi a .. ? hivatkozás az aktuális könyvtárt tartalmazó könyvtárra (szülőkönyvtárra) pwd /home/hallgato cd .. /home cd ~ vagy cd hallgato Johanyák Zsolt Csaba (c) 2010

49 Johanyák Zsolt Csaba (c) 2010
Példa .bash_profile PATH=$PATH:$HOME/bin BASH_ENV=$HOME/.bashrc USERNAME="" export USERNAME BASH_ENV PATH Feladat: a keresési útvonalhoz adjuk hozzá az aktuális könyvtárat Johanyák Zsolt Csaba (c) 2010

50 Johanyák Zsolt Csaba (c) 2010
Példa .bash_logout # ~/.bash_logout clear Johanyák Zsolt Csaba (c) 2010

51 A Linux többrétegű fájlrendszere
Folyamat 1 Folyamat 2 Folyamat n ... User mode Kernel mode VIRTUAL FILE SYSTEM ext? msdos minix ... proc Buffer cache Eszközmeghajtók Állományrendszer Johanyák Zsolt Csaba (c) 2010

52 A Linux fájlrendszer kezelés
A VFS a rendszerhívásokat átalakítja az adott fájlredszerre nézve specifikus hívássá Kezelt fájlrendszerek: Second Extent (ext2) ext3, ext4, ReiserFS MSDOS: VFAT Minix AFF (Amiga Fast FS) ufs & s5fs (szokásos UNIX) HPFS (OS/2) NTFS (NT) proc Johanyák Zsolt Csaba (c) 2010

53 Johanyák Zsolt Csaba (c) 2010
A proc fájlrendszer1 állapot információkat szolgáltat a kernelről és a processzekről minden processzhez tartozik /proc/pid jegyzék ebben a "fájlok", a pid-ű processz státusát adják további "fájlok" (pl: loadavg, uptime, meminfo, kmsg, version, cpuinfo, mounts stb.) a kernel állapotról informálnak Johanyák Zsolt Csaba (c) 2010

54 Johanyák Zsolt Csaba (c) 2010
A proc fájlrendszer2 nem tartozik hozzá eszköz (nodev típus) készíthetünk róla (és aljegyzékeiről) az ls paranccsal listát fájljait kiírathatjuk Johanyák Zsolt Csaba (c) 2010

55 Johanyák Zsolt Csaba (c) 2010
Név konvenció kis és nagy betű különböző elvben 128 karakter kerüljük a speciális karaktereket: |,#,stb. "." a név előtt: rejtett állomány Johanyák Zsolt Csaba (c) 2010

56 Johanyák Zsolt Csaba (c) 2010
Állománytípusok könyvtár (d) szimbolikus link (l) közönséges állomány (plain file – "-"), speciális állomány blokk típusú (b) karakteres típusú (c) socket (s) gyakorlat: ls –la parancs használata Johanyák Zsolt Csaba (c) 2010

57 Közönséges állományok
byte-ok közvetlenül címezhető sorozata szöveges bináris Johanyák Zsolt Csaba (c) 2010

58 Johanyák Zsolt Csaba (c) 2010
Speciális állományok fizikai berendezések az olvasási és írási kérések eredménye a megfelelő készülék aktivizálódása ls –la /dev | more Johanyák Zsolt Csaba (c) 2010

59 Johanyák Zsolt Csaba (c) 2010
Könyvtárállomány állománynév + i-csomópont (i-node, i-bög) címe alkönyvtárnév + i-csomópont címe szimbolikus keresztkapcsolat + elérési út hard keresztkapcsolat + i-csomópont címe . .. Johanyák Zsolt Csaba (c) 2010

60 Johanyák Zsolt Csaba (c) 2010
i-csomópont (i-node) fizikai elhelyezkedés méret tulajdonos védelmi kód módosítási/létrehozási idő Johanyák Zsolt Csaba (c) 2010

61 i-csomópont szerkezet
Johanyák Zsolt Csaba (c) 2010

62 Az i-csomópont szerkezete
file1 Könyvtár i-bög mode & védelem linkek száma tulajdonos uid gid fájl méret Adat blokk Utolsó hozzáférés Utolsó módosítás Készítési idő Johanyák Zsolt Csaba (c) 2010

63 Keresztkapcsolat (link)
szimbolikus (szoft) különböző adathozdozók között is részletes listázásnál állománynév helyett név --> eredetihely/eredetinév ln –s eredetihely/eredetinév újnév merev (hard) csak egy adathordozón belül részletes listázásnál mintha ténylegesen ott lenne + az eredeti helyen eggyel nő a számláló ln eredetihely/eredetinév újnév Johanyák Zsolt Csaba (c) 2010

64 Johanyák Zsolt Csaba (c) 2010
mkdir delelott cd delelott ln –s ../billkiosztas szimbolikus ls –la cat szimbolikus | more ls –la ../billkiosztas ln ../billkiosztas merev Johanyák Zsolt Csaba (c) 2010

65 Johanyák Zsolt Csaba (c) 2010
rm ../billkiosztas ls –la rm merev cat szimbolikus | more mc Johanyák Zsolt Csaba (c) 2010

66 Johanyák Zsolt Csaba (c) 2010
Hard link-soft link > ln /usr/joe/foo /usr/sue/bar > ln -s /usr/joe/foo /usr/sue/bar 2. i-bög /usr/joe 2. i-bög 16. i-bög /usr/joe foo 2 foo 2 link=2 /usr/sue /usr/joe/foo bar 16 /usr/sue bar 2 hard link symbolic link Johanyák Zsolt Csaba (c) 2010

67 Johanyák Zsolt Csaba (c) 2010
Feladat hozzunk létre egy merev és egy szimbolikus linket az mc programhoz a hallgato könyvtárban ellenőrizzük le a meglétét indítsuk el a link segítségével a Midnight Commander programot Johanyák Zsolt Csaba (c) 2010

68 Állományrendszerek partíciókra osztása
védelem hely kiosztás hozzáférés szabályozás újratelepítés virtuális memória Johanyák Zsolt Csaba (c) 2010

69 Johanyák Zsolt Csaba (c) 2010
Linux partíciók swap operációs rendszer (/) felhasználói programok (/usr/bin, usr/local/bin) felhasználói könyvtárak (/home) cfdisk Johanyák Zsolt Csaba (c) 2010

70 Johanyák Zsolt Csaba (c) 2010
Útvonal "." aktuális könyvtár ".." szülő könyvtár "/" gyökér könyvtár Johanyák Zsolt Csaba (c) 2010

71 Johanyák Zsolt Csaba (c) 2010
Standard fa /bin rendszerprogramok /usr/bin közérdekű felhasználói programok /etc a rendszer működéséhez és karbantartásához szükséges állományok és programok /etc/passwd felhasználók azonosításához szükséges adatok egy része /tmp ideiglenes állományok elhelyezése /dev speciális állományok /home felhasználói könyvtárak Johanyák Zsolt Csaba (c) 2010

72 Johanyák Zsolt Csaba (c) 2010
/dev/tty* a terminálok nevei, a „* ” helyén bármely karakter állhat a gép kiépítettségétől függően /dev/hd* merevlemez neve, a „* ” helyén alfanumerikus karakterek, elsősorban számok állnak /dev/fd* hajlékonylemezes egység neve /dev/mem állományként elérhető memória neve /dev/null különleges rendeltetésű állomány, ha olvasunk belőle, akkor azonnal az állomány végét érzékeljük, ha pedig írunk bele, akkor korlátlanul elnyel mindent anélkül, hogy bárhol is tárolná Johanyák Zsolt Csaba (c) 2010

73 Könyvtár- és állománykezelés
pwd az aktuális munkakönyvtár elérési úttal ellátott nevének kiírása ls [-altrR] könyvtár egy könyvtár tartalmának kilistázása ABC sorrendben -r a rendezés iránya fordított -R alkönyvtárak is rekurzívan -a a rejtett állományok is -l kiegészítő információk drwxrwxrwx ln user group size date time name -t módosítási idő szerinti rendezés Johanyák Zsolt Csaba (c) 2010

74 Johanyák Zsolt Csaba (c) 2010
mkdir [elérési_út/]könyvtár egy új könyvtár létrehozása mkdir –p ./elso/masodik létrehozza az elso könyvtárat is cd [elérési_út/]könyvtár könyvtárváltás ln -s állománynév keresztkapcsolatnév keresztkapcsolat létrehozása -s szimbolikus keresztkapcsolat cat állomány1 [...állományN] állományok összefűzése: cat állomány1 állomány2 > állomány3 állomány kiíratása: cat állomány új állomány létrehozása: cat > állomány <CTRL>+<D> Johanyák Zsolt Csaba (c) 2010

75 Johanyák Zsolt Csaba (c) 2010
rm kapcsolók állománynév állomány törlése -f nincs figyelmeztető üzenet -r könyvtárak törlése rekurzívan rmdir könyvtárnév üres könyvtár törlése !kitörölt állomány nem állítható vissza wc kapcsolók állománynév állomány jellemzőinek számlálása -c bájtok -l sorok -w szavak cp kapcsolók forrás cél állományok másolása -r rekurzív -s szimbolikus linket hoz létre másolás helyett (csak akkor működik, ha az aktuális könyvtárba másolunk) -f nincs figyelmeztető üzenet Johanyák Zsolt Csaba (c) 2010

76 Johanyák Zsolt Csaba (c) 2010
Feladat hozzunk létre a saját könyvtárunkban alkönyvtárakat az alábbi nevekkel: ora/bin, ora/tmp, ora/doboz, ora/munka, ora/munka/tarol listázzuk ki saját könyvtárunk és az alkönyvtárak tartalomjegyzékét a lista állományba számoljuk meg az állomány sorait másoljuk át a lista állományt a tarol könyvtárba hozzunk létre egy 2 soros szöveges állományt szoveg néven a doboz könyvtárban fűzzük össze a lista és a szoveg állományokat osszeg néven úgy, hogy az eredmény a tmp könyvtárba kerüljön Johanyák Zsolt Csaba (c) 2010

77 Johanyák Zsolt Csaba (c) 2010
Feladat készítsünk egy szöveges állományt forras néven a saját könyvtárunkban másoljuk be a temp és a munka könyvtárakba forr_temp és forr_munka néven tegyük a forr_temp–et írásvédetté készítsünk a tarol és a doboz könyvtárban merev hivatkozást a forras állományra mindegyik hivatkozás készítés után kérjünk részletes könyvtár tartalomjegyzéket az eredeti forras állományról Johanyák Zsolt Csaba (c) 2010

78 Johanyák Zsolt Csaba (c) 2010
Feladat töröljük a tarol és a doboz könyvtárban levő merev hivatkozást a forras állományra kérjünk részletes könyvtár tartalomjegyzéket a bin könyvtárról nézzük meg, hogy milyen rejtett állományok vannak a saját könyvtárunkban Johanyák Zsolt Csaba (c) 2010

79 Johanyák Zsolt Csaba (c) 2010
find kezdőpont kifejezés állomány keresése a könyvtárrendszerben kezdőponttól lefelé - name minta név szerint - user név tulajdonos szerint grep kapcsoló minta állománynév minta előfordulását keresi állományokban -c csak a mintát tartalmazó sorok száma -i kis és nagy betű azonos -l csak állománynevek -n sorszám + sor -v mindent ami nem tartalmazza a mintát Johanyák Zsolt Csaba (c) 2010

80 Johanyák Zsolt Csaba (c) 2010
mv kapcsolók forrás cél állományok átnevezése és/vagy mozgatása -f létezőt kérdés nélkül felülír -b mozgatás előtt biztonsági másolatot készít cél állomány vagy könyvtár more kapcsolók állomány... állomány tartalmának oldalakra tördelt megjelenítése a képernyőn -p nem görget, hanem lapoz -s több üres sorból egyet cmp kapcsolók áll1 áll2 állományok összehasonlítása -c a különböző bájtokat karakterként írja ki Johanyák Zsolt Csaba (c) 2010

81 Johanyák Zsolt Csaba (c) 2010
dd kapcsoló if=áll1 of=áll2 állomány másolása és konvertálása conv=ascii EBCDIC->ASCII conv=ebcdic ASCII->EBCDIC conv=ibm ASCII->IBM conv=lcase nagybetűből kisbetű conv=ucase kisbetűből nagybetű sort kapcsolók állománynév állomány sorainak rendezése -b beveztő szóközt kihagy -c rendezettséget vizsgál -o állomány állományba írja az eredményt -r fordított sorrend Johanyák Zsolt Csaba (c) 2010

82 Johanyák Zsolt Csaba (c) 2010
tar kapcsolók újnév állományok állományok/könyvtárak összecsomagolása és kibontása -t lista (teszt) -f lemezes állomány -x kibont -c becsomagolás (újat létrehoz) -r becsomagolás (hozzáfűz) -A hozzámásol tar állományt --delete töröl -W ellenőriz -v kiírja az állományneveket a képernyőre Johanyák Zsolt Csaba (c) 2010

83 Johanyák Zsolt Csaba (c) 2010
Tar tar –cvf ujnev.tar allomanyok tar –xvf ujnev.tar tar –tvf ujnev.tar Johanyák Zsolt Csaba (c) 2010

84 Johanyák Zsolt Csaba (c) 2010
compress kapcsoló állomány állományok be/kitömörítése; törli a régi áll.-t, az újnak Z lesz a kiterjesztése (külön telepíteni kell) -d kitömörítés -f akkor is ha már van ilyen vagy kicsi a tömörítési arány -v mindent kiír uncompress állomány kitömörít, törli a tömörítettet (külön telepíteni kell) gzip kapcsoló állomány tömörít, gz lesz a kiterjesztés -d kitömörítés, törli a tömörítettet Johanyák Zsolt Csaba (c) 2010

85 Johanyák Zsolt Csaba (c) 2010
Feladat csomagoljuk be tar segítségével a munka könyvtár tartalmát m.tar néven listáztassuk ki az m.tar állomány tartalmát tömörítsük be a gzip program segítségével az m.tar állományt Johanyák Zsolt Csaba (c) 2010

86 Johanyák Zsolt Csaba (c) 2010
Feladat hozzunk létre a saját könyvtárunkból nyílóan egy torold alkönyvtárat, és oda csomagoljuk ki a korábban becsomagolt és betömörített állományokat Johanyák Zsolt Csaba (c) 2010

87 Johanyák Zsolt Csaba (c) 2010
tree kapcsolók könyvtárnév könyvtárstruktúra, állományok, bejegyzések száma (külön telepíteni kell) -a mindent kiír -d csak könyvtár -f teljes elérési út -i nincs vonal -l könyvtárra irányuló szimbolikus linket követ -P minta csak mintának megfelelőt -I minta csak mintától különbözőt -p védelmi kódsor -s méret is -u UID -g GID -D dátum -t idő szerint rendez Johanyák Zsolt Csaba (c) 2010

88 Állományrendszerek felcsatolása és leválasztása
felcsatolás az állományrendszer valamely könyvtára helyére általában rendszergazdai jogosultság szükséges felcsatolás mount lecsatolás umount Johanyák Zsolt Csaba (c) 2010

89 /etc/fstab File Systems Table
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults # /dev/sda1 UUID=4512d875-aa af ea94afce / ext3 relatime,errors=remount-ro # /dev/sda5 UUID=e54f4a3e-40da-4b3a-bd38-3a79ba2e759c none swap sw /dev/scd /media/cdrom0 udf,iso9660 user,noauto,exec,utf /dev/fd /media/floppy0 auto rw,user,noauto,exec,utf 5. oszlop „1” – kilépéskor a szuperblokk automatikusan mentődik a lemezre 6. oszlop – a rendszer indulásakor milyen sorendben ellenőrizze a fájlrendszereket (1 -> ) Johanyák Zsolt Csaba (c) 2010

90 Johanyák Zsolt Csaba (c) 2010
/etc/fstab 5. Oszlop – opciók: Async – aszinkron írás-olvasás Exec (noexec) – binárisok futtatását engedélyezi Noatime – az i-bögök elérési ideje nem változik Nouser – csak a root csatolhatja Ro – csak olvasható Dev, nodev – a meghajtókhoz való hozzáférés Johanyák Zsolt Csaba (c) 2010

91 Johanyák Zsolt Csaba (c) 2010
/etc/mtab A már csatolt köteteket tartalmazza Johanyák Zsolt Csaba (c) 2010

92 Johanyák Zsolt Csaba (c) 2010
mount /dev/hda1 /dev/hda2 Johanyák Zsolt Csaba (c) 2010

93 Johanyák Zsolt Csaba (c) 2010
Mount tábla /etc/mount a partíció száma a szuperblokk pufferére mutató pointer a mount jegyzék i-böge (mount point) a gyökér jegyzék i-böge /etc/fstab Johanyák Zsolt Csaba (c) 2010

94 A szuperblokk tartalma ...
a fájlrendszer mérete a szabad blokkok száma a szabad blokkok listája + index a listán az i-lista mérete a szabad i-bögök száma a szabad i-bögök listája + index a listához lock mező a két listához jelző, hogy történt-e módosítás a szuperblokkban Johanyák Zsolt Csaba (c) 2010

95 Az állományrendszer védelme
uid - user identifier gid - group identifier /etc/passwd uid és alap gid /etc/group felhasználó-csoport összerendelések Felhasználói körök: tulajdonos csoporttárs többiek su - superuser (uid=0) Johanyák Zsolt Csaba (c) 2010

96 Johanyák Zsolt Csaba (c) 2010

97 Johanyák Zsolt Csaba (c) 2010
Jogok olvasás - állomány tartalmának megtekintése, könyvtár esetén a tartalom kilistázása írás - állomány bővítése, kicserélése, megváltoztatása, ill. könyvtár esetén bejegyzés létrehozása, törlése végrehajtás - állomány futtatás, könyvtárban keresés, belépés az adott könyvtárba cd-vel, és informálódás az ls utasítás segítségével egy konkrét könyvtár vagy állomány meglétéről és tulajdonságairól Johanyák Zsolt Csaba (c) 2010

98 Johanyák Zsolt Csaba (c) 2010
Védelmi kódsor trwxrwxrwx t - bejegyzés típusa b blokkorientált speciális állomány (pl. /dev/hda1) c karakterorientált speciális áll. (pl. /dev/stty4) d alkönyvtár-bejegyzés l szimbolikus keresztkapcsolat - egyszerű állomány tulajdonos csoporttárs bárki Johanyák Zsolt Csaba (c) 2010

99 Johanyák Zsolt Csaba (c) 2010
Jogadás Futtatási időre setgid bit setuid bit Állandó chmod chown chgrp Johanyák Zsolt Csaba (c) 2010

100 Johanyák Zsolt Csaba (c) 2010
chown újtulajdonos állománynév állomány tulajdonosának megváltoztatása chgrp újcsoport állománynév állomány csoportjának megváltoztatása chmod kapcsoló[kinek] op jogok [op jogok] jogok beállítása - adása kinek : u az aktuális felhasználónak g a csoportnak o a többieknek op + jogokat adunk hozzá - jogokat veszünk el = pontosan Johanyák Zsolt Csaba (c) 2010

101 Johanyák Zsolt Csaba (c) 2010
jogok a következő betűk kombinációi lehetnek: r olvasási jog w írási jog x végrehajtási jog X végrehajtási jog, ha az állomány könyvtár vagy ha már van másik x bitje; s setuid vagy setgid mód chmod g-w állomány chmod +x állomány chmod 622 állomány Johanyák Zsolt Csaba (c) 2010

102 Johanyák Zsolt Csaba (c) 2010
Feladat állítsuk be a hozzáférést az alábbi minta szerint: bin: mindenki számára kereshető-olvasható, csak a tulajdonos számára írható doboz: mindenki számára csak írható, a csoporttársak keresni is tudnak benne, a tulajdonos számára olvasható is Johanyák Zsolt Csaba (c) 2010

103 Johanyák Zsolt Csaba (c) 2010
Fogalmak program állomány a lemezen folyamat program példány job végrehajtásra váró utasítás PID Process IDentificator előtérben futó háttérben futó démon Johanyák Zsolt Csaba (c) 2010

104 Johanyák Zsolt Csaba (c) 2010
ps kapcsolók információk folyamatokról -Ou felhasználó szerinti sorrend -Op PID szerinti sorrend f fa szerkezetben a más felhasználók is c csak programnevek paraméter és tulajdonosnév nélkül txx csak xx terminál kill kapcsolók PID jel küldése folyamathoz (folyamat leállítása) -s szám jel küldése -l jel lista sleep időtartam időtartam másodpercet várakozik date dátum és idő kiírása utasítás& utasítás a háttérben fut Johanyák Zsolt Csaba (c) 2010

105 Johanyák Zsolt Csaba (c) 2010
A sudo parancs sudo privilégiumot_igénylő_parancs sudo su Shell indítása más felhasználó- és csoportazonosítóval: su felhasználónév su Johanyák Zsolt Csaba (c) 2010

106 A processzek tulajdonlása
Processz valódi tulajdonosa: a szülő processztől örökli a processz, vagy a szülő állítja be neki – aki elindítja a processzt Processz effektív tulajdonosa: amely felhasználó jogosultságával a processz rendelkezik valódi és effektív tulajdonos (uid-dal azonosítva) valódi és effektív csoport-tulajdos (gid) az effektív tulajdonosság határozza meg a védelmi tartományt Johanyák Zsolt Csaba (c) 2010

107 A hozzéáférés szabályozás érvényesülése
a folyamat effektív tulajdonosság és a fájl tulajdonosság összevetődik ha egyezik, a fájl i-bögébe írt, a tulajdonoshoz tartozó rwx hozzáférések szabják meg a hozzáférést vagy elutasítást ha nem egyezik: a csoport-tulajdonosságok vetődnek össze egyezés esetén a hozzáférést a csoporthoz rendelt rwx minta szabja meg ha nem egyezik: az i-bög others rwx-e szabályoz (Bárki számára hozzáférhető fájlom nem biztos, hogy elérhető általam!) Johanyák Zsolt Csaba (c) 2010

108 A setuid koncepció (D. Ritchie)
a valódi és effektív tulajdonosságok sokszor egybeesnek a setuid/setgid bejegyzésű végrehajtható fájlokból készült processz effektív tulajdonosa a végrehajtható fájl tulajdonosa lesz (valós tulajdonos a szülő processz tulajdonosa) pl: passwd futtatható fájl tulajdonosa a root, és setuid-os /etc/passwd fájl tulajdonosa a root, én csak olvashatom. Általam indított passwd processz mégis írhatja. Johanyák Zsolt Csaba (c) 2010

109 Háttér – előtér időzítés
programnév& program futtatás a háttérben fg háttérben futó folyamat előhozása at -f állomány óra:perc a megadott időpontban végrehajtja az állományban megadott utasításokat Johanyák Zsolt Csaba (c) 2010

110 Johanyák Zsolt Csaba (c) 2010
Időzítés atq kiírja a várakozó és végrehajtás alatt álló időzített feladatokat, rendszergazda számára minden várakozó feladat megjelenik. A sor végén levő jel: a a feladat várakozik = a feladat végrehajtása most folyik Johanyák Zsolt Csaba (c) 2010

111 Johanyák Zsolt Csaba (c) 2010
Átirányítás Standard input more < help.txt Standard output ls -la > lista.txt Standard hibakimenet find / -name *.html 2> hibák Johanyák Zsolt Csaba (c) 2010

112 Johanyák Zsolt Csaba (c) 2010
Parancs csatolás Az első parancs standard kimenete lesz a második parancs standard bemenete. ls -la *.tar | wc -l A képernyőn megjelenik az aktuális könyvtárban található tar kiterjesztésű állományok száma Johanyák Zsolt Csaba (c) 2010

113 Helyettesítő karakterek
* 0 vagy több tetszőleges karakter ? egy darab tetszőleges karakter [afu] a vagy f vagy u [135] 1 vagy 3 vagy 5 [a-g] a-tól g-ig terjedő intervallumból egy karakter [1-6] 1-től 6-ig terjedő intervallumból [a-g1-6] az a-tól g-ig vagy az 1-től 6-ig terjedő intervallumból egy karakter Johanyák Zsolt Csaba (c) 2010

114 Semlegesítő karakterek1
\ A mögötte álló karaktert védi cat > ab\*c ' ' Shell behelyettesítéstől védi a közrefogott szöveget find / -name *.c 2>hibák | grep -l 'int len' megkeresi azokat a c kiterjesztésű állományokat, amelyek tartalmazzák az idézőjelek között megadott szöveget Johanyák Zsolt Csaba (c) 2010

115 Semlegesítő karakterek2
" " Shell behelyettesítéstől védi a közrefogott szöveget, de a környezeti változókat behelyettesíti ls "${HOME}/ab*c" megnézi, hogy van-e a saját könyvtárunkban ab*c nevű állomány ` ` Kiértékeli a közrefogott parancsot, és annak értékét helyettesíti az idézőjeles kifejezés helyére echo Ebben a könyvtárban `ls | wc -l` darab bejegyzés található Johanyák Zsolt Csaba (c) 2010

116 Johanyák Zsolt Csaba (c) 2010
Feladat listázzuk ki a /dev könyvtárból a "t"-vel kezdődő és a 3..8-as számok valamelyikével végződő állományok neveit számoljuk meg, hogy hány olyan állomány van a /dev könyvtárban, amelyben a 0..9 számjegyek egyike szerepel Johanyák Zsolt Csaba (c) 2010

117 Johanyák Zsolt Csaba (c) 2010
Megoldás ls /dev/t*[3-8] ls /dev/*[0-9]* | wc -l Johanyák Zsolt Csaba (c) 2010

118 Johanyák Zsolt Csaba (c) 2010
A többi felhasználó who név, terminál, bejelentkezés dátuma, ideje whoami saját felhasználói név w rendszerindítás ideje, bejelentkezett felhasználók száma, terhelés, felhasználók, terminálok, honnan jelentkeztek be, mikor, mit csinálnak Johanyák Zsolt Csaba (c) 2010

119 Johanyák Zsolt Csaba (c) 2010
Kapcsolatteremtés talk felhasználó [terminál] a hívott fél hasonló parancsmegadással kell válaszoljon, kilépés ^C write név a hívott fél hasonló parancsmegadással kell válaszoljon, kilépés ^D mesg [y|n] üzenetfogadás engedélyezése/tiltása/állapot lekérdezése Johanyák Zsolt Csaba (c) 2010

120 Johanyák Zsolt Csaba (c) 2010
Futási szintek Szolgáltatások (szoftverek) automatikus indítása és leállítása Az egyes futási szintekhez eltérő jelentés (szolgáltatáscsoport) tartozhat az egyes Linux disztribúciókban Johanyák Zsolt Csaba (c) 2010

121 Futási szintek Ubuntuban
0 Halt/Shutdown: minden folyamat leáll, a fájlrendszereket leválasztják, a felhasználókat kijelentkeztetik, a gép biztonságosan kikapcsolható 1 Single user mode: rendszergazdaként egyfelhasználós mód, minden /etc/fstab állományrendszer felcsatolásra kerül S Sulogin: olyan, mint az 1 de nem állítja le a folyamatokat lefelé váltáskor 2-5 Multi user mode: minden /etc/fstab állományrendszer felcsatolásra kerül, grafikus felület 6 Reboot: Ugyanaz, mint 0 csak utána újraindul a rendszer az alapértelmezett futási szinten Johanyák Zsolt Csaba (c) 2010

122 Futási szintek Ubuntuban
Ubuntuban eseményvezérelt módon az upstart segítségével oldják meg, ez helyettesíti a más rendszerekben használt /sbin/init-et Az alapértelmezett futási szintet a /etc/event.d/rc.default fájl határozza meg. Ez alapértelmezés szerint 2 Aktuális futási szint: runlevel Kiírja a megelőző és az aktuális szintet N azt jelenti, hogy nem volt előző (a mostani a legelső) Johanyák Zsolt Csaba (c) 2010

123 Futási szintek Ubuntuban
Futási szint váltás: telinit szintszám Mit kell indítani/leállítani az egyes futási szinteken? /etc/rc?.d könyvtárak K és S kezdetű szkripteket tartalmaznak, ahol ?=0,1,2,3,4,5,6,S Minden szkriptnek van egy sorszáma Először a K kezdetűek, majd az S kezdetűek hajtódnak végre a sorszám alapján K=Kill S=Start 2-es szinten csak S Johanyák Zsolt Csaba (c) 2010

124 Johanyák Zsolt Csaba (c) 2010
Szkriptek Valójában mindegyik egy szimbolikus link a /etc/init.d könyvtár egy szkriptjére A szimbolikus hivatkozás kezdete (K vagy S) alapján az upstart az /etc/init.d-ben meghívott szkript végére start-ot vagy stop-ot tesz Johanyák Zsolt Csaba (c) 2010

125 Johanyák Zsolt Csaba (c) 2010
Működési szintek Sytsem V specifikáció szerint (Egyéni tanulmányozásra) az operációs rendszer állapotára vonatkozik – milyen szolgáltatásokat nyújtson, illetve milyen állapotban legyen 7 szintünk van: 0 : system halt – operációs rendszer leáll, processzor „halt” módba 1 : egyfelhasználós mód – ha valami hiba van 2 : többfelhasználós mód, nincs hálózat Johanyák Zsolt Csaba (c) 2010

126 Működési szintek Sytsem V specifikáció szerint
3 : többfelhasználós, hálózat van, nincs grafikus felület 4 : nem használt 5 : többfelhasználós, van hálózat és grafikus felület 6 : a rendszer újraindítása (reboot) az egyes processzek elindítását az „init” végzi az init az operációs rendszer beállításait az /etc/inittab állományból veszi Johanyák Zsolt Csaba (c) 2010

127 Johanyák Zsolt Csaba (c) 2010
/etc/inittab az állomány formátuma: id:runlevels:action:process id : 1-4 karakteres egyedi azonosító runlevels : azokat a szinteket sorolja fel, amelyeken végre kell hajtani a műveletet action: leírja, hogy milyen műveletet kell végrehajtani process: a végrehajtandó process ha a futási szinten változtatunk, akkor az új szintre nem specifikált processzeket kiírtja (SIGTERM, majd SIGKILL) Johanyák Zsolt Csaba (c) 2010

128 Johanyák Zsolt Csaba (c) 2010
/etc/inittab action mező: respawn : ha a processz kihal, az init automatikusan újraindítja wait : a szint elérésekor az init elindítja, majd megvárja amíg véget ér once : csak egyszer indítja el boot : az op. r. elindulásakor indítja – a futási szinteket nem veszi figyelembe bootwait : boot + megvárja, amíg véget ér Johanyák Zsolt Csaba (c) 2010

129 Johanyák Zsolt Csaba (c) 2010
off : nem csinál semmit initdefault : a boot folyamat végén erre a szintre lép be – ha nincs megadva, akkor megkérdezi sysinit : a boot folyamat elején hajtódik végre ctrlaltdel : a Ctrl_Alt_Delete kombináció lenyomásakor ezt hajtja végre Johanyák Zsolt Csaba (c) 2010

130 Johanyák Zsolt Csaba (c) 2010
rcx.d az egyes könyvtárakban a szinteknek megfelelő szolgáltatásokat indítja el - x a szint száma S12valami: S : start vagy stop (K) - a szintre való belépéskor elindítja vagy kilépéskor leállítja 12: hányadikként valami: név Johanyák Zsolt Csaba (c) 2010

131 Johanyák Zsolt Csaba (c) 2010
Szint váltása a váltást az init végzi el feladata az egyes szolgáltatások leállítása, illetve újak indítása: az inittab alapján az rcx.d könyvtárak tartalma alapján meghívás a telinit -en keresztül paraméterként: az új szint száma (0-6) q - az inittab beolvasása s - egyfelhasználós mód u - az init újraindul - az inittab -t nem olvassa Johanyák Zsolt Csaba (c) 2010

132 Johanyák Zsolt Csaba (c) 2010
Szint váltás t x - megmondhatjuk, hogy mennyit várakozzon a SIGTERM és a SIGKILL üzenetek között - alapból 5 másodperc az init mindig leellenőrzi (binárisan), hogy a meghívója az init vagy a telinit ha egy processt 2 perc alatt több mint tízszer indít újra, akkor hibaüzenetet ír ki, és 5 percig nem próbálja újraindítani - szintaxis-hibák elleni védelem az init és a telinit közti kommunikáció a /dev/initctl FIFO állományon keresztül zajlik (egy irányban) Johanyák Zsolt Csaba (c) 2010

133 Démonok manuális kezelése
A szkriptek az /etc/init.d/ könyvtárban vannak Feladatuk a démonok indítása, leállítása, újraindítása, stb. Használat: „/etc/init.d/script parancs” Parancs: start : szolgáltatás indítása stop : szolgáltatás leállítása restart : szolgáltatás újraindítása (stop, majd start) Démon= háttérben futó program Johanyák Zsolt Csaba (c) 2010

134 Johanyák Zsolt Csaba (c) 2010
try-restart v. condrestart : újraindítja, de csak akkor, ha már aktív force-reload : a folyamat újraolvassa a konfigurációs állományát - ha erre nem képes, akkor újraindul reload : a folyamat újraolvassa a konfigurációs állományát - ha erre nem képes, akkor nem csinál semmit status : a folyamat állapotát ellenőrzi. Eredmény: 0 : a démon fut 1 : a démon nem fut, de létezik a /var/run/xxx.pid állomány (itt tároljuk a démonhoz tartozó PID-t) 2 : a démon nem fut, de létezik a /var/lock/xxx.lock állomány 3 : a démon nem fut 4 : a démon állapota ismeretlen Johanyák Zsolt Csaba (c) 2010

135 Johanyák Zsolt Csaba (c) 2010
probe : megvizsgálja az újraindítás szükségességét - amennyiben szükséges, kiírja az indító-szkriptet nem minden szkript ismer minden parancsot egyes szkriptek más parancsokat is elfogadnak Johanyák Zsolt Csaba (c) 2010

136 Szoftver csomagok kezelése
Több mint csomag a kiszolgálón Frissítés figyelés deb – debian csomag típusok Előre fordított bináris formátum Függőség: az aktuális/telepíteni kívánt csomag más csomagok meglétét igényli Automatikus függőség feloldás Johanyák Zsolt Csaba (c) 2010

137 Johanyák Zsolt Csaba (c) 2010
dpkg Debian alapú rendszerek csomag-menedzsmentje (telepít/eltávolít/létrehoz) Nem kezeli a függőségeket Nem tud automatikusan letölteni és telepíteni más csomagokat Pl. telepítve van-e a Midnight Commander dpkg -l | grep ‘Midnight Commander’ Johanyák Zsolt Csaba (c) 2010

138 Johanyák Zsolt Csaba (c) 2010
apt-get Parancssori interfész az Advanced Packaging Tool-hoz Csomagkezelés, teljes rendszerfrissítés Függőségek kezelése Telepítés pl.: sudo apt-get install mc Eltávolítás pl.: sudo apt-get remove mc --purge: a konfigurációs állományokat is eltávolítja Johanyák Zsolt Csaba (c) 2010

139 Johanyák Zsolt Csaba (c) 2010
Frissítés A rendelkezésre álló csomagok listájának lokális másolatát sudo apt-get update A már telepített csomagok frissítése a legújabb változatra sudo apt-get upgrade Naplózás: /var/log/dpkg.log Johanyák Zsolt Csaba (c) 2010

140 Johanyák Zsolt Csaba (c) 2010
Aptitude Menüvezérelt karakteres interfész (front-end) az Advanced Packaging Tool-hoz sudo aptitude Johanyák Zsolt Csaba (c) 2010

141 Automatikus frissítés
sudo apt-get install unattended-upgrade Konfigurálás: /etc/apt/apt.conf.d/50unattended-upgrades Unattended-Upgrade::Allowed-Origins { "Ubuntu lucid-security"; "Ubuntu lucid-updates"; }; Unattended-Upgrade::Package-Blacklist { "vim"; Naplózás: /var/log/unattended-upgrades Unattended-Upgrade::Allowed-Origins – milyen forrásból engedélyezzük Unattended-Upgrade::Package-Blacklist – milyen csomagokat tiltunk Johanyák Zsolt Csaba (c) 2010

142 Johanyák Zsolt Csaba (c) 2010
Tárolók Main – a Canonical által támogatott nyílt forráskódú szoftverek (szabad szoftverek) Restricted – széleskörűen alkalmazott, nem teljesen szabad licenszű, de van Ubuntu támogatás. Általában szabadalmazott eszközmeghajtók, ami nélkül nem futna az Ubuntu a hardveren. Pl. videokártya meghajtó. Universe – közösségi karbantartású nyílt forráskódú szoftverek, nincs garancia a biztonsági frissítésekre és a támogatásra Multiverse – nem szabad szoftver, egyedi licensz feltételek, nincs frissítés és támogatás. Johanyák Zsolt Csaba (c) 2010

143 Milyen forrásból telepíthetünk?
Lokálisan - hálózaton keresztül Tárolók listája: /etc/apt/sources.list Külön szabályozható a bináris és a forráskód elérése Más tároló is felvehető a listába, de kell hozzá hitelesítési információ/nyilvános kulcs Johanyák Zsolt Csaba (c) 2010

144 Könyvtárak megosztása
NFS Samba WebDAV Johanyák Zsolt Csaba (c) 2010

145 Network File System NFS

146 Johanyák Zsolt Csaba (c) 2010
NFS Network File System Szerver-kliens modell Szerver exportál Kliens importál Egy gép mindkettő lehet Johanyák Zsolt Csaba (c) 2010

147 NFS szerver telepítése
sudo apt-get install nfs-kernel-server portmap Johanyák Zsolt Csaba (c) 2010

148 Johanyák Zsolt Csaba (c) 2010
NFS szerver Szükséges eszközök. RPC portmapper (rpc.portmap)‏ (apt-get install portmap) RPC mount-daemon (rpc.mountd)‏ RPC NFS daemon (rpc.nfsd)‏ Exportált könyvtárak: /etc/exports Minden könyvtár új sorban, mely gépek (teljes név, * és ? használható) milyen jogosultságokkal csatolhatják fel /home / (rw)‏ /segedlet belzebub(rw) pandora(ro)‏ /ubuntu *(ro,sync,no_root_squash))‏ Az állomány megváltoztatása után: sudo /etc/init.d/nfs-kernel-server start Some services, mainly SUN's NIS and NFS services, don't use a static port like most services, but instead register themselves via RPC. To connect to an NFS server you first ask RPC which port to find it on. It may even be the case that the service isn't available until you request it via RPC. The RPC portmapper (portmap(8)) is a server that converts RPC program numbers into TCP/IP (or UDP/IP) protocol port numbers. It must be running in order to make RPC calls (which is what the NIS/NIS+ client software does) to RPC servers (like a NIS or NIS+ server) on that machine. When an RPC server is started, it will tell portmap what port number it is listening to, and what RPC program numbers it is prepared to serve. When a client wishes to make an RPC call to a given program number, it will first contact portmap on the server machine to determine the port number where RPC packets should be sent. The port mapper service always uses TCP or UDP port 111; a fixed port is required for it, as a client would not be able to get the port number for the port mapper service from the port mapper itself. The port mapper must be started before any other RPC servers are started. Johanyák Zsolt Csaba (c) 2010

149 Hozzáférés szabályozás
ro – read-only rw – read-write root_squash – a kliens rootja semmikép nem kaphat root jogokat erre a fájlrendszerre sync – a szerver szinkron módon hajtja végre a változtatásokat (csak a végrehajtás után jelez vissza)‏ link_absolute – a szimbolikus hivatkozások változatlanok maradnak subtree_check – a kérés beérkezése után a szerver leellenőrzi, hogy a cél a fájlrendszeren belül van-e illetve az exportált könyvtárstruktúrában található-e – biztosági probléma: a kliens kap egy leírót és infót a fájlrendszerről, ezért csak ro könyvtárakra! no_subtree_check – rw könyvtárakra Johanyák Zsolt Csaba (c) 2010

150 Johanyák Zsolt Csaba (c) 2010
NFS kliens Célszerű telepíteni az nfs-common és a portmap csomagokat sudo apt-get install nfs-common portmap Könyvtárrendszer importálása parancssorból mount paranccsal csatolható fel: sudo mount szerver.valami.hu:/home/megosztas/segedlet /home/segedlet sudo mount –t nfs bilbo:/home /home /etc/fstab-ba beépíthető  automatikus felcsatolás szerver.valami.hu:/segedlet /home/segedlet nfs rw,hard,intr 0 0 Johanyák Zsolt Csaba (c) 2010

151 Johanyák Zsolt Csaba (c) 2010
Paraméterek hard – merev befűzés, ilyenkor a kernel hívásból nincs visszatérés, amíg a kiszolgáló újra elérhetővé nem válik (kill)‏ soft – lágy befűzés, az NFS ügyfél jelzi a kliensnek a hibát és leáll hard,intr – merev befűzés, de Ctrl+C-vel leállítható 0 0 – az NFS nem használja ezeket a paramétereket Johanyák Zsolt Csaba (c) 2010

152 Samba

153 Johanyák Zsolt Csaba (c) 2010
SMB Server Message Block A Windows és az OS/2 használja az erőforrások megosztásánál Hasonlít az NFS-re Nagyobb hálózatokhoz továbbfejlesztett változata a CIFS (Common Internet File System)‏ Johanyák Zsolt Csaba (c) 2010

154 Megosztás és szolgáltatás
Megosztás: olyan erőforrás, amit egy számítógép az SMB-n keresztül a munkacsoport többi számítógépe számára elérhetővé tesz hivatkozás a szolgáltatásra: \\gépnév\megosztásnév \\belzebub\segedlet Johanyák Zsolt Csaba (c) 2010

155 Johanyák Zsolt Csaba (c) 2010
Samba Samba: SMB/CIFS GNU GPL implementáció Fájl- és nyomtatómegosztás, integráció Windows tartományba, (NT) tartományvezérlő is lehet Samba kliens: feladata a Windowsos megosztások elérése Linuxos (Unixos) gépről Samba szerver: feladata Linuxos (Unixos) könyvtárak és nyomtatók megosztása Windowsos gépek számára Johanyák Zsolt Csaba (c) 2010

156 Windows megosztás elérése Linux alól1
Samba kliens program karakteres felület ftp-re emlékeztető működés Egy adott gépen elérhető megosztások listája: smbclient –L <a windowsos gép netbios neve> -N smbclient –L tanterem -N -N jelszó nélküli lekérdezés Johanyák Zsolt Csaba (c) 2010

157 Windows megosztás elérése Linux alól2
Csatlakozás egy megosztáshoz: smbclient //<netbiosnév>/<megosztásnév –N ha a megosztáshoz mégis jelszó kell, akkor hibaüzenet -N-t elhagyva rákérdez a jelszóra -U felhasználónév Johanyák Zsolt Csaba (c) 2010

158 Windows megosztás elérése Linux alól3
Windows megosztás felcsatolása sudo apt-get install smbfs sudo smbmount megosztás csatolási_pont –o username=felhasználónév (rákérdez a jelszóra)‏ Csatolás megszüntetése sudo smbumount csatolási pont Johanyák Zsolt Csaba (c) 2010

159 Windows megosztás elérése Linux alól4
Automatikus felcsatolás a gép indulásakor az /etc/fstab állományba egy új sor: megosztás csatolásipont smbfs username=felhasználónév,password=jelszó,umask= //tanterem/9-labor$ /mnt/9-labor … Johanyák Zsolt Csaba (c) 2010

160 Johanyák Zsolt Csaba (c) 2010
Samba szerver GNU Public License könyvtárrendszer és nyomtatók közzététele Windowsos és Linuxos kliensek számára sudo apt-get install samba smbfs konfigurálás: /etc/samba/smb.conf swat program ( SMB (CIFS) protokollt valósít meg TCP/IP felett sudo /etc/init.d/samba restart Johanyák Zsolt Csaba (c) 2010

161 Samba szerver konfigurálása
minden felhasználót be kell jegyezni csak a Linuxban (/etc/passwd) már bejegyzett felhasználókat lehet felvenni security=user unix password sync=yes [labor] comment=Labor writeable=yes path=/mnt/9-labor public=yes read list= write Konfigurációs állomány tesztelése: testparm Johanyák Zsolt Csaba (c) 2010

162 Johanyák Zsolt Csaba (c) 2010
Felhasználókezelés smbpasswd -a felhasználónév felhasználó felvétele + jelszóváltoztatás smbpasswd -x felhasználónév felhasználó törlése smbpasswd -d felhasználónév felhasználó tiltása smbpasswd -e felhasználónév felhasználó engedélyezése Felhasználói adatbázisok: /var/lib/samba Johanyák Zsolt Csaba (c) 2010

163 Web based Distributed Authoring and Versioning
WebDAV

164 Johanyák Zsolt Csaba (c) 2010
WebDAV Eredetileg a csoportos felhasználói munka támogatására találták ki Ún. web megosztások segítségével lehetővé teszi http protokollon keresztül az állományok szerkesztését, másolását, mozgatását többfajta operációs rendszer alatti ügyfélgépek esetén Szükséges: Apache 2 + PHP sudo apt-get install apache2 php5 libapache2-mod-php5 Johanyák Zsolt Csaba (c) 2010

165 Johanyák Zsolt Csaba (c) 2010
Konfigurálás1 Apache-ban engedélyezni kell a mod-dev modult a megfelelő szimbolikus hivatkozások létrehozásával cd /etc/apache2/mods-enabled sudo ln -s ../mods-available/dav* . Létrehozunk egy adatbázis állományt a fájlzárolások számára mkdir /usr/share/apache2/var touch /usr/share/apache2/var/DAVLock Johanyák Zsolt Csaba (c) 2010

166 Johanyák Zsolt Csaba (c) 2010
Konfigurálás2 Az apache2 www-data felhasználóként fut. Ellenőrzés: ps –ef | grep apache2 Beállítjuk, hogy a var könyvtár és annak tartalma a www-data felhasználói fók tulajdonába kerüljön chown -R www-data:www-data /usr/share/apache2/var Johanyák Zsolt Csaba (c) 2010

167 Johanyák Zsolt Csaba (c) 2010
Konfigurálás3 Jelszóállomány létrehozása és hallgato felhasználó felvétele sudo htpasswd -m -c -b /etc/apache2/.htpasswd hallgato hallgato -m: MD5 -c: új állomány létrehozása -b: a parancssorból veszi a jelszót, nem kérdez rá További felhasználók hozzáadása vagy jelszómódosítás htpasswd -mb /etc/apache2/.htpasswd proba proba Alapból bárki hozzáférhet a megosztott állományokhoz, ezért a hozzáférést autentikációhoz kötjük. Létrehozunk egy jelszóállományt, amiben MD5 titkosítással (hash-sel) tároljuk a jelszavakat. Ezt az apache 2 konfigurációs könyvtárán belül hozzuk létre, és rögtön hozzá is adjuk a hallgato felhasználót. Johanyák Zsolt Csaba (c) 2010

168 Johanyák Zsolt Csaba (c) 2010
Konfigurálás4 Felhasználó törlése htpasswd -D /etc/apache2/.htpasswd proba Létrehozzuk a WebDAV gyökérkönyvtárát mkdir /var/www/WebDAV A könyvtárat a www-data felhasználó tulajdonába adjuk chown www-data:www-data /var/www/WebDAV Johanyák Zsolt Csaba (c) 2010

169 Johanyák Zsolt Csaba (c) 2010
Konfigurálás5 Beállítjuk a rwx r-x --- hozzáférésszabályozást chmod 750 /var/www/WebDAV Az Apache 2 konfigurációs állományában: Az általános részben (Global Environment) – a zárolási adatbázis helye DAVLockDB /usr/share/apache2/var/DAVLock DAVMinTimeout 600! Ennyi idő múltán a zár automatikusan feloldódik Johanyák Zsolt Csaba (c) 2010

170 Johanyák Zsolt Csaba (c) 2010
Konfigurálás6 WebDAV könyvtár megadása <Directory /var/www/WebDAV> Dav on AuthName "WebDAV Login" AuthType Basic </Directory> Johanyák Zsolt Csaba (c) 2010

171 Johanyák Zsolt Csaba (c) 2010
CUPS Common Unix Printing System Ezt használja a legtöbb GNU/Linux disztribúció Képes nyomtatási feladatok kezelésére Támogatja a hálózaton keresztül történő nyomtatást az Internet Printing Protocol (IPP) használatával Támogatja a hálózati nyomtatók automatikus felismerését Támogatja a Postscript Printer Description-t Rendelkezik webes felületű konfigurációs/adminisztrációs felülettel Nyomtat pdf-be ~/PDF könyvtárba Johanyák Zsolt Csaba (c) 2010

172 Johanyák Zsolt Csaba (c) 2010
Telepítés Alapból feltelepül, de ha szükséges az újratelepítés: sudo apt-get install cupsys cupsys-client A kiszolgáló szoftver automatikusan indul telepítés után Nyomtatási szolgáltatás indítása sudo /etc/init.d/cupsys start Johanyák Zsolt Csaba (c) 2010

173 Johanyák Zsolt Csaba (c) 2010
Konfigurálás1 Webes felületen Asztali gépen Rendszer/Adminisztráció/Nyomtatás (system-config-printer) Szerveren – parancssorból /etc/cups/cupsd.conf Hasonlít az Apache konfigurációs állományára ServerAdmin Milyen portokon fogadjon kéréseket? Listen :631 #loopback Listen /var/run/cups/cups.sock #socket Listen IPcím:631 #hálózaton Johanyák Zsolt Csaba (c) 2010

174 CUPS konfigurálás Webes felületen
Johanyák Zsolt Csaba (c) 2010

175 Konfigurálás grafikus felületen
sudo /etc/init.d/cups restart Johanyák Zsolt Csaba (c) 2010

176 Domain Name Service (DNS)
Osztott hierarchikus név adatbázis Legfontosabb feladata a név - IP cím feloldás Amikor az Internet még csak pár ezer számítógépből állt, a név-cím hozzárendelést egy folyamatosan növekvő fájl, hosts táblázat tartalmazta A táblázatot minden számítógépen lokálisan tárolták, és egy központi helyről rendszeresen frissítették Ennek nyoma mind a mai napig megvan: pl. a Unix rendszerekben az /etc/hosts fájl éppen ilyen Johanyák Zsolt Csaba (c) 2010

177 Johanyák Zsolt Csaba (c) 2010
/etc/hosts Johanyák Zsolt Csaba (c) 2010

178 Johanyák Zsolt Csaba (c) 2010
BIND Berkeley Internet Name Domain leggyakrabban használt DNS implementáció (ISC) BIND 9 Johanyák Zsolt Csaba (c) 2010

179 DNS konfigurációs állományok
/etc/bind/named.conf /etc/bind/named.conf.local /etc/bind/named.conf.options zónafájlok Johanyák Zsolt Csaba (c) 2010

180 /etc/bind/named.conf.options - általános beállítások
directory "/var/cache/bind"; forwarders { ; }; forward first; listen on port 53 { ;}; query-source address * port 53; allow-querry { ; }; cleaning-interval 120; notify yes; recursion yes; } Johanyák Zsolt Csaba (c) 2010

181 Johanyák Zsolt Csaba (c) 2010
Magyarázat directory a szerver munkakönyvtára forwarders ezekhez továbbítódik a kérés, legfeljebb hármat lehet megadni forward first először a továbbítással próbálkozik listen on melyik interfészen milyen porton fogadja a kéréseket (alapért.: mindegyik interfész, 53-as port) query-source… ha a DNS és az Internet között tűzfal van Johanyák Zsolt Csaba (c) 2010

182 Johanyák Zsolt Csaba (c) 2010
Magyarázat allow-querry … hosztok és hálózatok, ahonnan kérést lehet küldeni (alapért. : mindenhonnan) notify yes slave DNS-ek értesítése a zónafájlok változásáról recursion yes; a DNS hajlandó más DNS-eket lekérdezni nemcsak "láttat" Johanyák Zsolt Csaba (c) 2010

183 Johanyák Zsolt Csaba (c) 2010
Caching-only NS Alapból egy caching-only típusú DNS-ként működik Elegendő a forwarders részben megadni az ISP névszervereit Majd újraindítani a szervert /etc/init.d/bind9 restart A CO NS lekérdezi a számára megadott (forwarders) névszervereket, és tárolja az eredményt a későbbi lekérdezésekhez. Nem felelős/autoratív semmilyen zóna vonatkozásában. Johanyák Zsolt Csaba (c) 2010

184 /etc/bind/named.conf - zóna beállítások
zone "." in { type hint; file "/etc/bind/db.root"; }; zone "localhost" in { type master; file "/etc/bind/db.local"; Johanyák Zsolt Csaba (c) 2010

185 /etc/named.conf - zóna beállítások
zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; }; Johanyák Zsolt Csaba (c) 2010

186 /etc/named.conf.local - zóna beállítások
zone "gyakorlat.hu" { type master; file "/etc/bind/gyakorlat.hu"; }; zone " in-addr.arpa" { file "/etc/bind/ "; Johanyák Zsolt Csaba (c) 2010

187 Johanyák Zsolt Csaba (c) 2010
Zónatípusok névfeloldáshoz kiegészítő: "." ha a nevet pont végződés nélkül adjuk meg akkor ez a zóna mindig hozzá adódik – a gyökérszintű névszerverekről tartalmaz infót a DNS inicializálásához névtartomány localhost valódi zóna inverz névfeloldáshoz Johanyák Zsolt Csaba (c) 2010

188 Johanyák Zsolt Csaba (c) 2010
Zónafájlok a névszerverek az egyes zónák adatait egy-egy fájlban tárolják az elsődleges (master) szerveren az adminisztrátor módosítja ezt a fájlt rekordokból (RR -resource record) áll sok fajta rekordot tesz lehetővé az RFC-kben megadott definíció Johanyák Zsolt Csaba (c) 2010

189 Johanyák Zsolt Csaba (c) 2010
Rekordok felépítése a rekordok alakja (RFC1035): címke ttl osztály típus adatok címke: a domain rekord neve, lehet üres, ilyenkor az előtte levő rekord címkéje érvényes ttl: a rekordhoz tartozó „Time To Live” időt adja meg másodpercben (nem kötelező; ha elhagyjuk, akkor a zónára vonatkozó alapértelmezés lesz a rekordhoz tartozó érték) Johanyák Zsolt Csaba (c) 2010

190 Johanyák Zsolt Csaba (c) 2010
Rekordok felépítése osztály: IN (Internet osztály) - elhagyható típus: milyen fajta információról van szó Pl. IP cím (A rekord) névszerver információ (NS rekord) stb. adatok: a rekord típusától függő információ Johanyák Zsolt Csaba (c) 2010

191 Legfontosabb rekordtípusok
SOA - Start of Authority rekord, zóna kezdő rekord A - Address, cím rekord NS - Name Server, névszerver rekord Glue rekord CNAME - Canonical Name, kanonikus név rekord MX - Mail eXchanger, levelező szerver rekord TXT - szöveges rekord HINFO - hardver információ rekord PTR - Pointer rekord Johanyák Zsolt Csaba (c) 2010

192 SOA - Start of Authority rekord, zóna kezdő rekord
megadja a zónára vonatkozó közös információkat otthon.hu. SOA belzebub.otthon.hu mester.otthon.hu. ( ;Serial nr. 1D ;Refresh 2H ;Retry 1W ;Expire 2D) ;TTL Johanyák Zsolt Csaba (c) 2010

193 Johanyák Zsolt Csaba (c) 2010
SOA otthon.hu. a zóna neve belzebub.otthon.hu. az elsődleges szerver mester.otthon.hu. cím értelemben) serial nr. a zóna sorszáma - a slave szerverek általa ellenőrzik, hogy a náluk levő zóna tartalom nem avult-e el (ÉÉÉÉHHNNVV alakban) Johanyák Zsolt Csaba (c) 2010

194 Johanyák Zsolt Csaba (c) 2010
SOA refresh (sec) mennyi időnként kell a slave szervereknek a master-től megkérdezni, hogy a zóna sorszáma mennyi retry (sec) ha a frissítés nem sikerült, akkor mennyi időt várjanak, mielőtt újra próbálkoznának expire (sec) ha nem sikerül a master-rel kommunikálniuk, ennyi ideig szolgáltatják a zónát a világ számára TTL a zóna rekordjaira érvényes alapértelmezés Bind9-nál használható a 1W2D3H alak Johanyák Zsolt Csaba (c) 2010

195 Johanyák Zsolt Csaba (c) 2010
A - Address, cím rekord egy domain névhez IP címet rendelünk belzebub A jelentése: belzebub.otthon.hu IP címe: Johanyák Zsolt Csaba (c) 2010

196 NS - Name Server, névszerver rekord
egy domain névszervereinek megadása a domain egy delegálási pont pl. osztaly NS gep.osztaly.valami.hu. az 'osztaly' aldomain névszervere a gep.osztaly.valami.hu. ajánlatos legalább két névszervert megadni vagy NS belzebub.otthon.hu Johanyák Zsolt Csaba (c) 2010

197 Johanyák Zsolt Csaba (c) 2010
NS az otthon.hu zóna alatt nem látszik, hogy a szerverek közül melyik a master és melyik a slave az NS rekordoknak csak a felsőbb szinten, a szülő zónában van szerepe, indokolt azonban a zónában is felsorolni paramétere egy gép domain neve Johanyák Zsolt Csaba (c) 2010

198 Johanyák Zsolt Csaba (c) 2010
Glue rekord a gep.osztaly.otthon.hu rekordnak az osztaly zónában van a helye, de a otthon.hu zónában is felsoroljuk gep.osztaly A az idegen A rekordot nevezik glue (ragadvány) rekordnak ha az osztaly.valami.hu zónának egy másik névszervere a mas.nevszerver.intezet.hu, akkor ehhez nem kell glue rekordot csatolni a valami.hu zónában, hiszen ennek a névszervernek az A rekordját ettől a delegálástól teljesen függetlenül lehet megtudni Johanyák Zsolt Csaba (c) 2010

199 CNAME - Canonical Name, kanonikus név rekord
becenév egy hostnak www CNAME belzebub ha ez az otthon.hu zónában van, az azt mutatja, hogy a egy másik neve a belzebub.otthon.hu-nak Johanyák Zsolt Csaba (c) 2010

200 MX - Mail eXchanger, levelező szerver rekord
otthon.hu. MX mail.otthon.hu. MX mas.otthon.hu. a alakú címre érkező leveleket a mail.otthon.hu vagy a mas.otthon.hu. gépekre kell küldeni 10, 20 a rekord preferenciát jelenti, csak akkor van jelentősége, ha több MX rekord tartozik ugyanahhoz a névhez: kisebb szám nagyobb preferenciát jelent Johanyák Zsolt Csaba (c) 2010

201 Johanyák Zsolt Csaba (c) 2010
MX csak akkor fogják a levelező szerverek a mas.otthon.hu-ra küldeni a otthon.hu domainba szóló leveleket, ha a preferáltabb mail.otthon.hu nem elérhető egyenlő preferenciánál véletlenszerű, hogy melyikre érkezik be egy-egy levél Johanyák Zsolt Csaba (c) 2010

202 TXT - Text, szöveges rekord
tetszőleges szöveges információt tartalmazhat, pl. modern TXT "Ez a gep mar megszunt" paramétere egyetlen, idézőjelek közé zárt ASCII karaktersorozat Johanyák Zsolt Csaba (c) 2010

203 Johanyák Zsolt Csaba (c) 2010
PTR - Pointer rekord cím-név hozzárendelés szerver programok használják, annak kiderítésére, hogy egy hozzájuk érkezett IP csomag milyen domainhez tartozik az in-addr.arpa domain alá tartozó ág szolgálja a cím-név felosztást a zónák delegálása az IP címtartomány egyes darabjainak megfelelően történik Johanyák Zsolt Csaba (c) 2010

204 Központosított felhasználómenedzsment
NIS LDAP Johanyák Zsolt Csaba (c) 2010

205 Johanyák Zsolt Csaba (c) 2010
NIS Network Information System Korábbi neve Sun Yellow Pages (YP) Konfigurációs állományok adatbázisa (pl. jelszavak) Egy mester (elsődleges) szerver és több szolga (másodlagos) szerver Konfigurációs állományok módosítása csak a mester szerveren Minden Unix rendszer támogatja Yello Pages – a British Telecom védjegye Johanyák Zsolt Csaba (c) 2010

206 Johanyák Zsolt Csaba (c) 2010
NIS Pl. /etc/password  jelszó térkép Letöltve a másodlagos szerverekre A NIS kliensek nem a lokális password állományt használják, hanem lekérdezik a szervert NFS-el kiegészítve, ha a felhasználó bárhonnan jelentkezik be, ugyanaz a saját könyvtára Johanyák Zsolt Csaba (c) 2010

207 Johanyák Zsolt Csaba (c) 2010
NIS térképek Minden szöveges konfigurációs állományból egy bináris adatbázisállomány Tartomány /var/yp/ és /var/yp/tartománynév/ 2 mező: kulcs és érték Egy keresett adathoz 3 információ szükséges: tartománynév (NIS-gyakorlat), térképnév (passwd.byname), kulcs (geza) Johanyák Zsolt Csaba (c) 2010

208 Johanyák Zsolt Csaba (c) 2010
NIS szerver beállítás NIS doménnév megadása nem kell azonos legyen a DNS tartománnyal biztonsági ajánlás: eltérő név Johanyák Zsolt Csaba (c) 2010

209 Johanyák Zsolt Csaba (c) 2010
Szerver beállítás Ez a host legyen egyben NIS ügyfél is Gyors map disztribúció Engedélyezi jelszavak cseréjét (GECOS: teljes név; shell) Egyéb általános beállítások yp forráskönyvtár: /etc Jelszavak összeolvasztása: shadowpasswd (nem) Csoportok összeolvasztása: gshadowgroup (nem) Minimális UID és GID (ez alatt nem oszt szét=titkos) Johanyák Zsolt Csaba (c) 2010

210 Szerver térképek beállítása
Mi lesz elérhető a hálózaton: group, hosts, mail, netid, passwd, rpc, services, shadow Ki kérdezheti le? Kötelező: Hálózati maszk: Hálózat: Mindenki: Hálózati maszk: Hálózat: Johanyák Zsolt Csaba (c) 2010

211 Módosítások érvényesítése
Ha a közzétett adatbázisok közül valamelyikben módosítunk, pl. új felhasználó felvétele Akkor a bináris (közzétett) adatbázist is módosítani kell: cd /var/yp make –C Konfig. áll. /var/yp/Makefile Johanyák Zsolt Csaba (c) 2010

212 Johanyák Zsolt Csaba (c) 2010
Kliens beállítása szerver is lehet NIS kliens, ilyenkor egyébként pl.: Johanyák Zsolt Csaba (c) 2010

213 Kézi beállításhoz kiegészítés
RPC portmappernek futnia kell /etc/passwd –ben kiegészítő sor: +:::::: /etc/shadow –ben kiegészítő sor: +:::::::: /etc/group –ban kiegészítő sor: +::: Johanyák Zsolt Csaba (c) 2010

214 Johanyák Zsolt Csaba (c) 2010
Néhány parancs yppasswd – NIS jelszócsere ypchfn – GECOS infók cseréje ypchsh – shell csere ypwhich – szerver nevének lekérdezése ypdomainname – NIS tartománynév lekérdezés és csere hostname Johanyák Zsolt Csaba (c) 2010

215 Johanyák Zsolt Csaba (c) 2010
Name Service Switch /etc/nsswitch.conf Milyen sorrendben történjen a keresés az egyes adatbázisokban és konfigurációs állományokban – hálózati információk (passwd, group, aliases, hosts, netmasks, etc.) Felépítés: szolgáltatás : specifikációk nis, nis-plus, files, db, dns, compat Johanyák Zsolt Csaba (c) 2010

216 Name Service Switch Pl.: passwd: files ldap hosts: files ldap dns
netmasks: files

217 Johanyák Zsolt Csaba (c) 2010
LDAP Lightweight Directory Access Protocol kliens-szerver protokol címtár szolgáltatás eléréséhez slapd – a szolgáltatást nyújtó démon slurpd - szerverek közötti replikáció kiszolgálója kliens-szerver modellen alapul egy vagy több LDAP szerveren tárolt adatból épül fel az LDAP fa az LDAP kliens egy LDAP szerverhez csatlakozik, és felteszi a kérdéseit a szerver a válasszal reagál, vagy egy mutatóval, hol talál több információt a kliens Johanyák Zsolt Csaba (c) 2010

218 Johanyák Zsolt Csaba (c) 2010
Adatbázisok három különböző, szabadon választható háttér adatbázis hasznláható: LDBM, a nagy teljesítményű merevlemez alapú adatbázis SHELL, az adatbázis interfész tetszőleges UNIX parancs vagy shell-script eléréséhez PASSWORD, az egyszerű jelszó adatbázis Johanyák Zsolt Csaba (c) 2010

219 Johanyák Zsolt Csaba (c) 2010
Az LDBM adatbázis 4 bájtos egyedi azonosítók minden adathoz fő indexe az id2entry, ami a bejegyzések egyedi azonosítóit (entry's unique indentifier - EID) összerendeli saját szöveges ábrázolásával importálás és exportálás LDIF formátumban (LDAP Data Interchange Format) a bejegyzéseket objektum orientált hiearchikus formában tárolja Johanyák Zsolt Csaba (c) 2010

220 Internet tartomány név alapú fastruktúra
DIT: directory information tree Hivatkozás a bejegyzésre:RFC4514, DN: distinguished name: uid=babs,ou=People,dc=example,dc=com RDN: Relative Distinguished Name uid=babs Johanyák Zsolt Csaba (c) 2010

221 Johanyák Zsolt Csaba (c) 2010
LDIF dn: o=Nns, c=Hu o: Nns objectclass: organization dn: cn=Halász Gábor, o=Nns, c=Hu cn: Halász Gábor sn: Halász gn: Gábor mail: objectclass: person Johanyák Zsolt Csaba (c) 2010

222 Johanyák Zsolt Csaba (c) 2010
Felépítés dn - distinguished name (megkülönböztő név) - a bejegyzés nevéből áll, megtoldva a név elérési útjával vissza a címtár hiearchia csúcsáig alapvető objektum osztályok: Group (csoport), független objektumok rendezetlen listája vagy objektumok csoportja Location (elhelyezkedés), az országok nevei és leírásuk Organization (szervezet) People (személy) Johanyák Zsolt Csaba (c) 2010

223 Johanyák Zsolt Csaba (c) 2010
Bejegyzések egy bejegyzés (attribútum) több objektumosztályhoz is tartozhat cn: Halász Gábor (commonName) givenname: Gábor surname: Halász mail: a person objektumosztályban cn és sn attribútumok szükségesek telephoneNumber, seeAlso és userpassword jellemzők engedélyezettek, de nem szükségesek Johanyák Zsolt Csaba (c) 2010

224 Johanyák Zsolt Csaba (c) 2010
Attribútum szintaxis minden attribútumnak meghatározott szintaxis definíciója van bin binary (bináris) ces case exact string (betűnagyságnak meg kell egyeznie az összehasonlítás során) cis case ignore string (betűnagyságnak nem kell egyeznie az összehasonlítás során) tel telephone number string (olyan, mint a cis, de a <-> kihagyásával) Johanyák Zsolt Csaba (c) 2010

225 Az LDAP szerver konfigurálása
hely: /usr/local/etc/openldap vagy /etc/openldap állomány: slapd.conf (slapd.oc.conf és slapd.at.conf) Johanyák Zsolt Csaba (c) 2010

226 Johanyák Zsolt Csaba (c) 2010
slapd.conf # megjegyzés - ezek az egész adatbázisra érv.     <globális konfigurációs lehetőségek>     # első adatbázis     database <backend 1 type>     <backend 1 beáll.>     # második adatbázis database <backend 2 type>     <backend 2 beáll.>     # további adatbázis definíciók Johanyák Zsolt Csaba (c) 2010

227 Johanyák Zsolt Csaba (c) 2010
LDAP szerver indítása önállóan (LDBM esetén ez ajánlott) $(ETCDIR)/slapd [<opciók>]* inetd-vel indítva Johanyák Zsolt Csaba (c) 2010

228 Accessing LDAP Add, modify, and delete entries with ldapadd, ldapmodify, and ldapdelete Search the LDAP database with ldapsearch Bind as some DN or anonymously ldapsearch -D “cn=Directory Manager” -h ldaphost -b “dc=cims,dc=nyu,dc=edu” “uidNumber=9876” gecos Access to information is controlled by an access control list, e.g. password hashes are not available through anonymous bind

229 Johanyák Zsolt Csaba (c) 2010
DNFS distributed network file system Olyan, mint egy RAID rendszer, amit több hoszt segítségével valósítanak meg Redhat Global File System (GFS2) Oracle Cluster File System (OCFS2) Cluster Storage Platform (GlusterFS) Johanyák Zsolt Csaba (c) 2010

230 Johanyák Zsolt Csaba (c) 2010
GFS Natív kernel támogatás gfs2-tools cman clvm Konfig GUI: system-config-cluster Működhet közvetlenül SAN-ról Van egy logikai eszköz és vannak logikai kötetek, amiket a CLVM (Cluster Logical Volume Manager) kezel cman- klaszter menedzsment Johanyák Zsolt Csaba (c) 2010

231 Johanyák Zsolt Csaba (c) 2010
GFS dlm – distributed lock management – zárolások kezelését végző démon /etc/cluster/cluster.conf - klaszter konfigurációs állomány Kötetek létrehozása: clvdm démonnal + pool Konfiguráció tesztelése - ccs-test Indítás: cman szkripttel Felcsatolás: gfs2-tools és mount Johanyák Zsolt Csaba (c) 2010

232 Tipikus hozzáférés szabályozási megoldások
DAC – Discretionary Access Control (tetszés szerinti) Minden objektumnak tulajdonosa van, aki szabályozhatja a hozzáférést Pl. állományok MAC – Mandatory Access Control (kötelező) Hozzáférés-jogosultság kiosztása előre meghatározott módon Johanyák Zsolt Csaba (c) 2010

233 MAC implementáció Ubuntuban
AppArmor (Application Armor) – alapértelmezett SELinux (Security Enhanced Linux) Johanyák Zsolt Csaba (c) 2010

234 Johanyák Zsolt Csaba (c) 2010
AppArmor Név alapú MAC-et megvalósító biztonsági modul Automatikusan feltelepül Immunix majd Novell fejlesztés (2007-ig), Elsősorban hálózati alkalmazások védelmére: www, ftp, Samba, CUPS, dhcpkliens Szabályozás biztonsági házirendekkel Csomagok: apparmor, apparmor-utils, apparmor-profiles, apparmor-doc Minden a szabályozás alá tartozó alkalmazáshoz egy profil állomány (biztonsági házirend) Johanyák Zsolt Csaba (c) 2010

235 Johanyák Zsolt Csaba (c) 2010
AppArmor Indítás: /etc/init.d/apparmor start|stop|restart Kiszolgáló (pl. Apache, Samba, SQUID, Postfix) telepítésekor települ a hozzá tartozó profil További profilok az apparmor-profiles csomagban Üzemmódok Enforce – kikényszerítő Complain - figyelmeztető Kikényszerítő üzemmódban minden megszorítást végrehajt, azaz hozzáférést megtagad. Figyelmeztető üzemmódban csak figyelmeztető üzeneteket küld, de nem akadályozza meg a hozzáférést, ez pl. egy új alakalmazás profiljának az elkészítése során lehet hasznos. Johanyák Zsolt Csaba (c) 2010

236 Johanyák Zsolt Csaba (c) 2010
apparmor-utils apparmor_status – kiírja az üzemmódot és a betöltött profilok listáját Johanyák Zsolt Csaba (c) 2010

237 Johanyák Zsolt Csaba (c) 2010
Profil módosítása után újratöltés cat profil | sudo apparmor_parser –r Az összes profil újratöltése sudo /etc/init.d/apparmor reload Johanyák Zsolt Csaba (c) 2010

238 Johanyák Zsolt Csaba (c) 2010
enforce – kikényszerített módba helyezi az apparmort aa_enforce alkalmazás – csak a profilt complain – figyelmeztető módba helyezi az apparmort aa_complain alkalmazás – csak a profilt unconfined – kilistázza azokat az alkalmazásokat, amelyeket nem szabályoz az apparmor autodep alkalmazás – egy alap profilt készít egy alkalmazáshoz audit alkalmazás - naplóz Johanyák Zsolt Csaba (c) 2010

239 Johanyák Zsolt Csaba (c) 2010
Konfigurálás Konfigurációs állományok /etc/apparmor Profilok /etc/apparmor.d A profilnév az alkalmazás teljes elérési útvonalát tartalmazza, /-k helyett pontokkal Johanyák Zsolt Csaba (c) 2010

240 Johanyák Zsolt Csaba (c) 2010
Könyvtárak abstractions, tunables – olyan profil szabályokat tartalmaz, amelyeket több profil közösen használ disable - az ide belinkelt profilok le vannak tiltva force-complain Johanyák Zsolt Csaba (c) 2010

241 Johanyák Zsolt Csaba (c) 2010
Profil tartalma Útvonal – milyen állományokhoz férhet hozzá az alkalmazás Ha az útvonal *-ban végződik, akkor az adott könyvtár összes állományára vonatkozik Jogosultságok r,w,x,l (link), stb. /var/log/samba/log.* w, - az alkalmazás írhatja a samba könyvtár összes log. kezdetű állományát Képesség (Capability) – milyen privilégiumokat használhat a folyamat Johanyák Zsolt Csaba (c) 2010

242 Johanyák Zsolt Csaba (c) 2010
include – direktívával illesztik be a hivatkozásokat Johanyák Zsolt Csaba (c) 2010

243 Johanyák Zsolt Csaba (c) 2010
Tűzfal Minden be|ki csomag a Netfilter alrendszerhez kerül. Ez dönti el: elfogad|módosít|visszautasít iptables Tűzfal konfiguráló, menedzselő eszközök ufw – parancssor Firestarter – GUI Johanyák Zsolt Csaba (c) 2010

244 Uncomplicated Firewall
Engedélyezés: sudo ufw enable|disable Állapot: sudo ufw status [verbose] Konfig. Állományok: /etc/default/ufw, /etc/ufw/ufw.conf Szabályok: /lib/ufw/user.rules Engedélyezés példák sudo ufw allow szolgáltatásnév|port/protokoll sudo ufw allow ftp sudo ufw allow 137/tcp (Samba) A szolgáltatásnév kell szerepeljen az /etc/services-ben Johanyák Zsolt Csaba (c) 2010

245 Johanyák Zsolt Csaba (c) 2010
ufw - tiltás sudo ufw deny proto tcp from to any port 22 sudo ufw deny 22 sudo ufw deny proto tcp from to any port 22 Egyik interfészhez se lehet kapcsolódni tcp-vel a 22-es porton a gépről. Johanyák Zsolt Csaba (c) 2010

246 Johanyák Zsolt Csaba (c) 2010
Utasítások Szabály törlése sudo ufw delete allow 137/tcp Milyen iptables utasítások keletkeznek egy ufw utasítás eredményeképpen? sudo ufw –dry-run allow http Johanyák Zsolt Csaba (c) 2010

247 Johanyák Zsolt Csaba (c) 2010
Saját profil Egyes alkalmazások saját profilokat telepítenek, amiben szerepel, hogy milyen portokat kell megnyitni a számukra /etc/ufw/applications.d könyvtár Johanyák Zsolt Csaba (c) 2010

248 Johanyák Zsolt Csaba (c) 2010
Profilok Telepített profilok listája sudo ufw app list Az alkalmazáshoz kapcsolódó forgalom engedélyezése sudo ufw allow|deny cups Profil beállításainak megtekintése sudo ufw app info cups Johanyák Zsolt Csaba (c) 2010

249 Johanyák Zsolt Csaba (c) 2010
Naplózás sudo ufw logging off|low|medium|high|full Hova kerül? /var/log/messages /var/log/syslog /var/log/kern.log Johanyák Zsolt Csaba (c) 2010

250 Johanyák Zsolt Csaba (c) 2010
IP álcázás NAT Csomagtovábbítás engedélyezése /etc/default/ufw  DEFAULT_FORWARD_POLICY="ACCEPT" /etc/ufw/sysctl.conf  net/ipv4/ip_forward=1 NAT tábla konfigurálása /etc/ufw/before.rules az állomány elejére a fejléc után  # nat Table rules *nat :POSTROUTING ACCEPT [0:0] # Forward traffic from eth1 through eth0. -A POSTROUTING -s /24 -o eth0 -j MASQUERADE COMMIT Változások érvényesítése sudo ufw disable && sudo ufw enable Johanyák Zsolt Csaba (c) 2010

251 Johanyák Zsolt Csaba (c) 2010
/etc/default/ufw Johanyák Zsolt Csaba (c) 2010

252 Johanyák Zsolt Csaba (c) 2010
/etc/ufw/ufw.conf Johanyák Zsolt Csaba (c) 2010

253 Johanyák Zsolt Csaba (c) 2010
Firestarter sudo apt-get install firestarter Rendszer-Adminisztráció-Firestarter sudo /usr/sbin/firestarter Varázsló Eszköz kiválasztása listából (ethx) Internet kapcsolat megosztás engedélyezése (NAT) Tűzfal indítása Grafikus felület a tűzfal konfigurálásához Johanyák Zsolt Csaba (c) 2010

254 Johanyák Zsolt Csaba (c) 2010
Firestarter varázsló Johanyák Zsolt Csaba (c) 2010

255 Johanyák Zsolt Csaba (c) 2010
Firestarter Szabályok Bejövő forgalomra Kimenő forgalomra (alapból engedélyező|alapból tiltó) Engedélyezés|Tiltás Gépről Szolgáltatás Átirányítás Johanyák Zsolt Csaba (c) 2010

256 Bejövő forgalom szabályai
Johanyák Zsolt Csaba (c) 2010

257 Kimenő forgalom szabályai
Fehér listás Fekete listás Johanyák Zsolt Csaba (c) 2010

258 Diagnosztikai eszközök tiltása
Johanyák Zsolt Csaba (c) 2010

259 Parancs futtatása más felhasználó nevében
sudo <parancs> (sudo –u root <parancs>) sudo –u <felhasználó> <parancs> Johanyák Zsolt Csaba (c) 2010

260 Johanyák Zsolt Csaba (c) 2010
Sudoers /etc/sudoers Ki milyen parancsokat futtathat kinek a nevében? Mihez kell jelszó? (Szerkesztő pr. Kiválasztása: sudo select-editor) Szerkesztés: sudo visudo Miért visudo? A sudo indításkor kiolvassa Szabályozások sorban érvényesülnek, a későbbi felülírhatja a korábbit Alias (változók) User_Alias, Runas_Alias, Host_Alias és Cmnd_Alias visudo is a program which makes a temporary copy of the sudoers file, and sanity checks it after you've finished editing it. If any errors are found, it then prompts you about it, and allows you to go back to fix that misconfigured line. Johanyák Zsolt Csaba (c) 2010

261 Johanyák Zsolt Csaba (c) 2010
User_Alias példák # Everybody in the system group "admin" is covered by the # alias ADMINS User_Alias ADMINS = %admin # The users "tom", "dick", and "harry" are covered by the # USERS alias User_Alias USERS = tom, dick, harry # The users "tom" and "mary" are in the WEBMASTERS alias User_Alias WEBMASTERS = tom, mary # You can also use ! to exclude users from an alias # This matches anybody in the USERS alias who isn't in # WEBMASTERS or ADMINS aliases User_Alias LIMITED_USERS = USERS, !WEBMASTERS, !ADMINS Felhasználók és csoportok beazonosítására/megnevezésére szolgál Johanyák Zsolt Csaba (c) 2010

262 Johanyák Zsolt Csaba (c) 2010
Runas_Alias példák # UID 0 is normally used for root # Note the hash (#) on the following line # indicates a uid, not a comment. Runas_Alias ROOT = #0 # This is for all the admin users similar to the # User_Alias of ADMINS set earlier # with the addition of "root" Runas_Alias ADMINS = %admin, root Felhasználó megnevezés UID alapján Johanyák Zsolt Csaba (c) 2010

263 Johanyák Zsolt Csaba (c) 2010
Host_Alias példák # This is all the servers Host_Alias SERVERS = , , server1 # This is the whole network Host_Alias NETWORK = / # And this is every machine in the network that is not a server Host_Alias WORKSTATIONS = NETWORK, !SERVERS Johanyák Zsolt Csaba (c) 2010

264 Johanyák Zsolt Csaba (c) 2010
Cmnd_Alias példák Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /sbin/halt, /sbin/reboot Cmnd_Alias AGET = /usr/bin/apt-get Johanyák Zsolt Csaba (c) 2010

265 Johanyák Zsolt Csaba (c) 2010
Hogyan? <Ki><Milyen gépről bejelentkezve?>=<Milyen felhasználóként?><Kapcsoló><Mit?> HALLGATO ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS HALLGATO ALL = (root) NOPASSWD:NOEXEC: /usr/bin/vim %admin ALL=(ALL)NOPASSWD:/usr/bin/apt-get %admin hera=(ALL)NOPASSWD:/usr/bin/apt-get %admin / =(ALL)NOPASSWD:/usr/bin/apt-get A HALLGATO változóban definiált felhasználók bármely gépről bejelentkezve bármilyen felhasználóként jelszó nélkül leállíthatják a rendszert. A HALLGATO változóban definiált felhasználók bármely gépről bejelentkezve root felhasználóként elindíthatják jelszó nélkül a vim-et, de a vim nem tud további shellt indítani. Az admin csoport tagjai bármilyen felhasználóként bármely hosztról jelszó nélkül elindíthatják az apt-get-et Ugyanaz csak a hera gépről. Csak a hálózat gépeiről. Johanyák Zsolt Csaba (c) 2010

266 Johanyák Zsolt Csaba (c) 2010
Hogyan? %admin hera=(root)NOPASSWD:/*/sbin/* ALL ALL=(ALL)NOPASSWD: ALL Az admin csoport tagjai a hera gépről jelszó nélkül root –ként futtathatják az sbin könyvtárak tartalmát: /usr/sbin/ /usr/local/sbin/ stb. Bárki bármilyen gépről bejelentkezve a sudoval bármely felhasználó nevében jelszó nélkül bármit megtehet. Johanyák Zsolt Csaba (c) 2010

267 Johanyák Zsolt Csaba (c) 2010
Defaults sudo –L milyen alap beállításokat kapcsolhatunk be sudo –l jelenleg érvényes effektív beállítások Defaults:ALL timestamp_timeout=0 Defaults:ALL timestamp_timeout=0 Which means that ALL users sudo permissions timeout immediately, meaning that they must enter their password every time they use sudo. Johanyák Zsolt Csaba (c) 2010

268 Johanyák Zsolt Csaba (c) 2010
Források Minta konfiguráció: Johanyák Zsolt Csaba (c) 2010

269 Szolgáltatások védelme Kerberos segítségével
Kerberos – Hádész háromfejű kutyája Hálózati autentikációs protokoll Ügyfél és kiszolgáló közötti kapcsolatok titkosított autentikációja Az ügyfél titkosított jelszóval igazolja magát, majd a további kommunikáció is titkosítva történik Védelem belső és külső támadások ellen Johanyák Zsolt Csaba (c) 2010

270 Johanyák Zsolt Csaba (c) 2010
Kerberos Universe tároló Biztonságos változatok az rsh, rcp, telnet, ftp kliensek helyett apt-get install krb5-server krb5-clients krb5-user krb5-doc Johanyák Zsolt Csaba (c) 2010

271 Johanyák Zsolt Csaba (c) 2010
Forrás:

272 Johanyák Zsolt Csaba (c) 2010
Autentikáció Bejelentkezéskor automatikusan A felhasználó kezdeményezi kinit-tel Ez utóbbi menete A Kerberos felhasználónevet elküldi az Authentication Server (AS)-hez Az AS visszaküld egy tikett kiutaló tikettet (Ticket Granting Ticket - TGT), amit a felhasználó nyilvános kulcsával titkosít A kinit bekéri a jelszót, dekódolja a TGT-t Johanyák Zsolt Csaba (c) 2010

273 Johanyák Zsolt Csaba (c) 2010
Autentikáció menete A kliens program (pl. levelező ügyfél) elküldi a TGT-t a tikett kiadó szerverhez (Ticket Granting Server – TGS) A TGS generál egy tikettet a levelező szerver szolgáltatás eléréséhez, és titkosítva elküldi az ügyfélhez Az ügyfél ezzel a tikettel igénybe veszi a szolgáltatást Ha a felhasználó egy másik szolgáltatást akar igénybe venni, akkor ugrás a dia első pontjához Johanyák Zsolt Csaba (c) 2010

274 Johanyák Zsolt Csaba (c) 2010
VirtualBox telepítés Telepítési forrás megadása /etc/apt/sources.list deb natty contrib A VirtualBox tároló nyilvános kulcsának letöltése és telepítése wget -q -O- | sudo apt-key add - Johanyák Zsolt Csaba (c) 2010

275 Johanyák Zsolt Csaba (c) 2010
VirtualBox telepítés Csomag adatbázis frissítése sudo apt-get update VirtualBox telepítés sudo apt-get install virtualbox-4.0 dkms A dkms biztosítja, hogy Linux kernel verzió frissítést követően a VirttualBox hoszt kernel modulok is frissüljenek Johanyák Zsolt Csaba (c) 2010

276 Távoli elérés biztonságosan
A telnet, rcp, rsh, rlogin titkosítás nélkül továbbítja az információt SSH – Secure Shell Kereskedelmi vált.: SSH Tectia Szabad vált.: OpenSSH (main Ubuntu tároló) Hitelesítés nyilvános/titkos kulcspáros alapú megoldással vagy egyes szolgáltatások esetén Kerberos kiszolgáló segítségével (Kerberos tikett) Johanyák Zsolt Csaba (c) 2010

277 Johanyák Zsolt Csaba (c) 2010
Hitelesítés A kulcshozzáférést külön jelszóval is korlátozhatja Először a hoszt hitelesítése, majd a felhasználó hitelesítése A további információáramlás már a kiszolgáló és az ügyfél által közösen választott (vagy előre meghatározott) algoritmussal Nyilvános kulccsal titkosít a kiszolgáló Az ügyfél nyilvános kulcsa tárolva kell legyen a kiszolgálón. A kiszolgáló evvel titkosít egy véletlenszámot, az ügyfél a saját titkos kulcsával dekódolja. A kulcsok lehetővé teszik a jelszó nélküli kommunikálást az ügyfélgép és a kiszolgáló között. Johanyák Zsolt Csaba (c) 2010

278 Johanyák Zsolt Csaba (c) 2010
Kiszolgáló Kiszolgáló telepítése sudo apt-get install openssh-server Kiszolgáló indítása, leállítása, újraindítása, állapota sudo /etc/init.d/ssh start|stop|restart|status A 22-es porton várja a kéréseket Automatikus indítás asztali Ubuntunál Rendszer/Adminisztráció/Szolgáltatások Nyilvános kulcsot a ~/.ssh/authorized_keys állományhoz kell hozzáadni Ha távolról be akarok jelentkezni, akkor egy fiókkal kell rendelkezzek az adott gépen. Az adott fiók könyvtárában ~/.ssh/authorized_keys állományhoz kell hozzáadni az én saját nyilvános kulcsomat. Ezt általában a kliens gépen hozom létre, és vagy felmásolom vagy ben elküldöm a kiszolgálóra. Johanyák Zsolt Csaba (c) 2010

279 Kiszolgáló konfigurálás
/etc/ssh/sshd_config Port 22 (ez az alapért., de célszerű mást beállítani 1024… 49152, pl. 2222) Üdvözlőszöveg, figyelmeztetés, stb. Banner /etc/issue.net Az autentikáció történhet jelszó vagy SSH kulcs alapon* Jelszó alapú letiltása: PasswordAuthentication no Nyilvános kulcs alapú: PubkeyAuthentication yes RSAAuthentication yes Banner: bejelentkezés előtt megjelenő üzenet Ha nincsenek meg a kulcsok, akkor a jelszó alapúval próbálkozik, ha az nincs megtiltva. Johanyák Zsolt Csaba (c) 2010

280 Johanyák Zsolt Csaba (c) 2010
Konfigurálás Távoli asztal, grafikus alkalmazások, stb. engedélyezése a kapcsolaton AllowTcpForwarding yes X11Forwarding yes Mely felhasználói fiókok/csoportok használhatják AllowUsers hallgato geza Mely felhasználói fiókok/csoportok nem használhatják DenyUsers jeno istvan Johanyák Zsolt Csaba (c) 2010

281 Johanyák Zsolt Csaba (c) 2010
Konfigurálás ~/ssh/config Felhasználói szintű konfiguráció A konfigurációs állomány szegmensekre van osztva, minden szegmens egy hosztra/az összes hosztra vonatkozó beállításokat tartalmazza Szegmens HOST User Xaver Compression no Cipher blowfish Johanyák Zsolt Csaba (c) 2010

282 Johanyák Zsolt Csaba (c) 2010
Ellenőrzés Fut-e a démon? ps -A | grep sshd Fogad-e kapcsolatot? sudo netstat --inet -lpn | grep sshd tcp : :* LISTEN <PID>/sshd Próbabejelentkezés lokálisan ssh -v localhost Johanyák Zsolt Csaba (c) 2010

283 Johanyák Zsolt Csaba (c) 2010
Ügyfélgép Ügyfélszoftver telepítése sudo apt-get install openssh-client Kulcsok létrehozása RSA vagy DSA titkosítással ssh-keygen -t RSA|DSA Kulcsok: ~/.ssh/id_rsa.pub és ~/.ssh/id_rsa Titkos kulcsok betöltése a memóriába ssh-add -l AZ RSA és DSA közül csak az egyiket lehet választani. A kulcsok alapból id_rsa|dsa névvel keletkeznek, de más név is megadható. A kiterjesztés nélküli a titkos kulcs. Johanyák Zsolt Csaba (c) 2010

284 Johanyák Zsolt Csaba (c) 2010
Ügyfélprogramok ssh – parancssori és grafikus (-X kapcsoló) távoli kapcsolatoknál ssh scp – fájlok másolása gépek között. Pl. helyi gépről távoli gépre scp forráfájl -r egész könyvtár másolható sftp – a kiszolgálón sftp-server kell fusson (SSH File Transfer Protocol) sftp gépnév ssh-copy-id – nyilvános kulcs átmásolása a kiszolgálóra ssh-copy-id Johanyák Zsolt Csaba (c) 2010

285 Levelezés

286 Johanyák Zsolt Csaba (c) 2010
Fontos protokollok SMTP - Simple Mail Transfer Protocol POP3 - Post Office Protocol IMAP - Internet Message Access Protocol HTTP Sending and Receiving on The Internet SMTP (Simple Mail Transfer Protocol) and Client Configuration Johanyák Zsolt Csaba (c) 2010

287 Johanyák Zsolt Csaba (c) 2010
SMTP - hagyományosan felhasználó terminálnál Küldő gép Várakozó sor MUA A szervezet MTA Relay MTA Várakozó sor Internet Várakozó sor Relay MTA MUA – mail user agent MDA – message delivery agent MDA B szervezet MUA Várakozó sor Fogadó gép felhasználó terminálnál Johanyák Zsolt Csaba (c) 2010

288 Johanyák Zsolt Csaba (c) 2010
Aktuális megoldások Johanyák Zsolt Csaba (c) 2010

289 Johanyák Zsolt Csaba (c) 2010
SMTP Application-level protocol on TCP Mail system is performed by two agents. MTA(mail transfer agent): Postfix, Exim, Sendmail, Qmail, Courier MUA (mail user agent): Thunderbird, Outlook, Eudora, Evolution Communication between two MTAs uses NVT (Network Virtual Terminal) 7 bit ASCII. Commands are sent by the client to the server. Johanyák Zsolt Csaba (c) 2010

290 Johanyák Zsolt Csaba (c) 2010
Typical message format One part generated by sender’s MTA. The other part generated by sender’s user agent. is composed of three pieces. Envelope : used by the MTAs for delivery. Header : used by the user agents. Body : the content of the message. Note : each line transferred using the DATA command must be less than 1000 bytes Received: by client.ac.kr. (4.1/SMI-4.1) id AA004303; Mon, 20, Aug 98 12:30:34 MST Message-Id: From: (Sender) Date: Mon, 20, Aug :30: Reply-To: X-Phone: X-Mailer: Mail User’s shell( /23/98) To: Subject: Just testing mail. hello, this is a testing mail. bye.. generated by sender’s MTA sender’s user agent Johanyák Zsolt Csaba (c) 2010

291 Szerverek lekérdezése
Johanyák Zsolt Csaba (c) 2010

292 Limitations in SMTP Only uses NVT 7 bit ASCII format
How to represent other data types? No authentication mechanisms Messages are sent un-encrypted Susceptible to misuse (Spamming, faking sender address)

293 Solution: SMTP extensions
MIME – Multipurpose Internet Mail Extensions Transforms non-ASCII data to NVT (Network Virtual Terminal) ASCII data Text Application Image Audio Video RFC 1425, 1426, 1521

294 MTA Client MTA Server SMTP AUTH TCP Connection Establishment Allows the server to provide features only to known users and limit others. Various authentication methods may be used (PLAIN, LOGIN, CRAM-MD5, etc.) Encryption is highly recommended if not enforced by MTA. Ex. AUTH PLAIN Simple Usage: AUTH PLAIN <id>\0<user>\0<password> Authentication string is Base64 encoded 220 Service Ready EHLO stimpy.cis.udel.edu 250 Hello stimpy.cis.udel.edu Negotiate Encryption (STARTTLS) AUTH PLAIN AGV6cmEAYg== 235 Authentication Succeeded MAIL FROM: 250 OK RCPT TO: 250 OK RFC 1869, 2554, 2595

295 Email can be faked… HELO stimpy.eecis.udel.edu
MAIL FROM: RCPT TO: DATA From: Department Chair To: Dr. Paul Amer Subject: CISC856 Dr. Amer, By department decree all students in your CISC856 TCP/IP class are hereby to be given automatic A’s. Thank you, Department Chair . QUIT Solutions signatures (PGP) Sender Policy Framework (SPF)

296 MTAs and Mail Access Protocols
The MTA delivers to the user’s mailbox Can be complex with numerous delivery methods, routers, and ACLs Exim, Postfix, Sendmail The Mail Access Protocols are used by the users to retrieve the from the mailbox POP3 IMAP4

297 Post Office Protocol v3 Simple
Allows the user to obtain a list of their s Users can retrieve their s Users can either delete or keep the on their system Minimizes server resources

298 Internet Mail Access Protocol v4
Has more features than POP3 User can check the header before downloading s can be accessed from any location Can search the for a specific string of characters before downloading User can download parts of an User can create, delete, or rename mailboxes on a server

299 Johanyák Zsolt Csaba (c) 2010
Levelező szerver Mail Transfer Agent – levelek fogadása és küldése (szerver) Postfix exim4 Levélszűrés – spam és vírus felismerés Amavis-new Spamassassin Clamav Mail Delivery Agent Dovecot Cyrus Courier Levelezési lista Mailman MTA: A Mail Transfer Agent (MTA) is the program which receives and sends out the from your server, and is therefore the key part. The default MTA in Ubuntu is Postfix, but exim4 is also fully supported and in the main repository. Amavis-new is a wrapper that can call any number of content filtering programs for spam detection, antivirus, etc. In this howto, integration with Spamassassin and Clamav will be presented. This is a classical installation of Postfix + Amavis-new + Spamassassin + Clamav. Johanyák Zsolt Csaba (c) 2010

300 Johanyák Zsolt Csaba (c) 2010
Postfix MTA – levelek küldése és fogadása sudo apt-get install postfix Johanyák Zsolt Csaba (c) 2010

301 Konfiguráció folytatás
sudo dpkg-reconfigure postfix Johanyák Zsolt Csaba (c) 2010

302 Johanyák Zsolt Csaba (c) 2010
További beállítások Levelek tárolásásra szolgáló könyvtár megadása TLS-t alkalmazó SASL hitelesítési mechanizmus beállítása (SMTP-AUTH) – egy hitlesítésszolgáltató által kiadott vagy "önaláírású" tanúsítvány szükséges Lehetséges SASL megvalósítások: Dovecot SASL (postfix-dovecot csomag) és Cyrus SASL Johanyák Zsolt Csaba (c) 2010

303 Biztonságos FTP szolgáltatás
vsFTPd: kis helyigény és gyorsaság Hitelesítés: PAM+mySQL Titkosított kommunikáció: SSL (openssl csomag) sudo apt-get install vsftpd mysql-server openssl libpam-mysql Forrás: Maróti Tamás : Biztonságos FTP-szolgáltatás üzemeltetése vsftpd használatávalhttp://linuxvilag.hu/content/files/cikk/50/cikk_50_48_49.pdf Johanyák Zsolt Csaba (c) 2010

304 Johanyák Zsolt Csaba (c) 2010

305 Johanyák Zsolt Csaba (c) 2010
mySQL beállítások sudo useradd vsftpd_mysql sudo passwd vsftpd_mysql sudo mysql –u root -p mysql> CREATE DATABASE vsftpd; mysql> USE vsftpd; mysql> CREATE TABLE felhasznalok ( nev char(16) binary, jelszo char(16) binary ); mysql> INSERT INTO felhasznalok ( nev, jelszo ) values ( ‘hallgato’, password( ‘hallgato’ )); mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON vsftpd.* TO vsftpd_mysql; mysql> quit mysql -u root –p # bejelentkezünk a MySQL szerverünkre root-ként, immár jelszó használatával mysql> CREATE DATABASE vsftpd; # elkészítjük a vsftpd adatbázist mysql> USE vsftpd; # majd ki is jelöljük, mivel ezzel fogunk most dolgozni mysql> CREATE TABLE felhasznalok ( nev char(16) binary, jelszo char(16) binary ); # létrehozzuk a táblát és a mezőket mysql> INSERT INTO felhasznalok ( nev, jelszo ) values ( ‘kisspista’, password( ‘a jelszo’ )); # felvesszük az első felhasználónkat az adatbázisba mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `vsftpd`.* TO IDENTIFIED BY ‘a jelszavunk’; # egy vsftpd_mysql nevû felhasználónak megadjuk a megfelelő jogokat az adatbázisra (és létre is hozzuk egyúttal) mysql> quit Ezzel fel is készítettük rendszerünket arra, hogy a vsftpd gond nélkül információkhoz jusson az adatbázisból a továbbiakban.quit Johanyák Zsolt Csaba (c) 2010

306 PAM beállítása MySQL hitelesítéshez
/etc/pam.d/vsftpd – töröljük a tartalmát auth required pam_mysql.so user=vsftpd_mysql passwd=hallgato host=localhost db=vsftpd table=felhasznalok usercolumn=nev passwdcolumn=jelszo crypt=2 A PAM (Pluggable Authentication Modules) egy olyan függ- vénygyûjtemény, amelyben az a legnagyszerûbb, hogy egy- séges felületet biztosít a különbözõ programoknak az azo- nosítási procedúra elvégzésére. A folyamatot végzõ szoftver csak a PAM-mal áll kapcsolatban, a PAM pedig onnan veszi az információkat, ahonnan csak akarjuk (jelen esetben pél- dául egy MySQL adatbázisból). Linuxunk eme remek szol- gáltatását használjuk például akkor is, amikor SSH-val beje- lentkezünk szerverünkre. Ilyenkor az SSH démon elküldi a PAM-nak az általunk megadott felhasználónevet és jel- szót, ami (többek közt) megvizsgálja a /etc/shadow fájl alap- ján, hogy helyes adatokat adtunk-e meg. Amennyiben igen visszajelez az SSH kiszolgálónak, hogy minden rendben, bejelentkezhetünk. Ma már a szolgáltatások legtöbbje a PAM-ot használja hitelesítésre. Ha belépünk a /etc/pam.d könyvtárba (bizonyos disztribúci- ók a /etc/pam.conf fájlt használják), akkor látni fogjuk, hogy minden egyes szolgáltatáshoz más-más beállítófájl tartozik. A vsftpd például a vsftpd nevû fájlt hozza létre alapból (ré- gebbi változatok esetén elõfordulhat, hogy mást). Tegyük ezt is biztos helyre úgy, ahogyan a cikk elején az alapértel- mezett vsftpd.conf fájlt. Egy teljesen újat fogunk írni. Adjuk ki a következõ parancsokat: Ezzel megadtuk a PAM-nak, hogy a pam_mysql modult használja az azonosításhoz. Természetesen a paraméterezés nagyon lényeges, így ügyeljünk arra, hogy helyesen ad- juk meg például azt a jelszót, amit az adatbázis elkészíté- sekor létrehoztunk annak a MySQL felhasználónak (vsftpd_mysql), aki majd hozzáférhet az adatbázishoz. Johanyák Zsolt Csaba (c) 2010

307 Johanyák Zsolt Csaba (c) 2010
SSL kulcs elkészítése sudo openssl req -x509 -nodes -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem writing new private key to 'vsftpd.pem' You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:HU State or Province Name (full name) [Some-State]:Bács-Kiskun Locality Name (eg, city) []:Kecskemét Organization Name (eg, company) [Internet Widgits Pty Ltd]:KF GAMF Organizational Unit Name (eg, section) []:KSII Common Name (eg, YOUR name) []:hallgato Address []:. Ahhoz, hogy FTP szerverünkön biztosítsuk az SSL szolgál- tatást, szükségünk lesz egy .pem formátumú RSA kulcsra. Ezt a következõképpen tudjuk legenerálni: debian:~# openssl req -x509 -nodes -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem Miután válaszoltunk az ez után feltett kérdésekre, létre is jön a vsftpd.pem fájl ott, ahol kiadtuk a parancsot. Másol- juk át a /usr/share mappába, és állítsuk be a megfelelõ jogo- sultságokat rajta. debian:~# cp vsftpd.pem /usr/share debian:~# chmod 400 /usr/share/vsftpd.pem Johanyák Zsolt Csaba (c) 2010

308 Johanyák Zsolt Csaba (c) 2010
Vsftpd konfigurálása Konfig állomány: /etc/vsftpd.conf listen=YES (önálló démonként fut, nem inetd) anonymous_enable=NO (névtelen bejelentkezést tiltom) local_enable=YES (helyi felhasználók - akiket a PAM hitelesít bejelentkezhetnek) write_enable=YES (írási művelet engedélyezése) local_umask=022 anon_upload_enable=YES anon_mkdir_write_enable=YES Johanyák Zsolt Csaba (c) 2010

309 Johanyák Zsolt Csaba (c) 2010
Vsftpd konfigurálása # Engedélyezzük a vendég felhasználót. # Ez nagyon fontos, mivel ez aktiválja # a virtuális felhasználó-kezelést. guest_enable=YES # Beállítjuk, hogy minden bejelentkezõ felhasználót # a vsftpd_user felhasználóra mappeljen a szerver guest_username=vsftpd_user # Megadjuk a felhasználók egyéni beállításait # tartalmazó mappa helyét a fájlrendszeren user_config_dir=/usr/share/vsftpd/users # Beállítjuk, hogy a vsftpd nevû PAM beállítófájlt # használjuk az azonosítási procedúrához pam_service_name=vsftpd Johanyák Zsolt Csaba (c) 2010

310 Johanyák Zsolt Csaba (c) 2010
Vsftpd konfigurálása # Beállítjuk, hogy mindenki csak a saját # könyvtárján belül mozoghasson chroot_local_user=YES # Itt adhatjuk meg az ftp root könyvtárat, # de mi most elővigyázatossági okokból az local_root=/usr/share/vsftpd/empty # Engedélyezzük az SSL támogatást ssl_enable=YES Johanyák Zsolt Csaba (c) 2010

311 Johanyák Zsolt Csaba (c) 2010
# Meghatározzuk a .pem fájl helyét rsa_cert_file=/usr/share/vsftpd.pem # Kényszerítjük-e a felhasználókat, hogy # a bejelentkezési információkat SSL-el titkosítsák? force_local_logins_ssl=NO # az adatfolyamatot SSL-el titkosítsák? force_local_data_ssl=NO # Beállítjuk a megfelelő jogosultságokat # a feltöltött fájlokra.. anon_umask=022 Johanyák Zsolt Csaba (c) 2010

312 Johanyák Zsolt Csaba (c) 2010
sudo mkdir -p /usr/share/vsftpd/empty && chmod 500 /usr/share/vsftpd/empty sudo mkdir /usr/share/vsftpd/users useradd –d /usr/share/vsftpd/empty vsftpd_user sudo passwd vsftpd_user szükségünk lesz egy vsftpd_user nevû fel- használóra a rendszeren, egy /usr/share/vsftpd/empty, egy /usr/share/vsftpd/users, valamint egy ftp root könyvtárra (ami legyen most például a /var/www). Johanyák Zsolt Csaba (c) 2010

313 A felhasználók egyéni beállításai
A konfigurációs fájlban megadott helyen (/usr/share/vsftpd/users) létre kell hozni egy fájlt a felhasználó nevével megegyezően sudo echo “local_root=/var/www/hallgato.hu” > /usr/share/vsftpd/users/hallgato Emlékezzünk csak vissza, az adatbázis létrehozásánál készí tettünk egy hallgato nevû felhasználót. Hogyan hozzun neki létre egyedi beállításokat, mint például, hogy hol le- gyen a home könyvtára? A mûködési elv nagyon egyszerû. A konfigurációs fájlban megadott helyen (/usr/share/vsftpd/users) létre kell hozni eg fájlt a felhasználó nevével megegyezõen, majd szépen be- leírni azokat a beállításokat, amiknél azt szeretnénk, hogy eltérjen az alapértelmezett értéktõl. Hozzuk is létre neki! Johanyák Zsolt Csaba (c) 2010


Letölteni ppt "Hálózati adminisztráció Linux"

Hasonló előadás


Google Hirdetések