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

MIN7K0IN MIN4B0RFN. Követelmények nappali tagozaton Előadás ZH november 18. (pótlás dec. 2) Megszerezhető: 40 pont Minimum követelmény: 20 pont Gyakorlati.

Hasonló előadás


Az előadások a következő témára: "MIN7K0IN MIN4B0RFN. Követelmények nappali tagozaton Előadás ZH november 18. (pótlás dec. 2) Megszerezhető: 40 pont Minimum követelmény: 20 pont Gyakorlati."— Előadás másolata:

1 MIN7K0IN MIN4B0RFN

2 Követelmények nappali tagozaton Előadás ZH november 18. (pótlás dec. 2) Megszerezhető: 40 pont Minimum követelmény: 20 pont Gyakorlati ZH november (pótlás dec. 1-5) Megszerezhető: 60 pont Minimum követelmény: 30 pont További pontszerzési lehetőségek Részvétel Informatika.Neked sorozat azon előadásain, amit a tantárgy előadója pontszerzésre ajánl (alkalmanként 2 pont szerezhető) Kiselőadás tartása az szeptember 23-i előadás alkalmával. Választható témakörök, pontszám, jelentkezés a Coospace-ben Egy témakör esszé jellegű kidolgozása kb oldal terjedelemben (nem másolás!) Választható témakörök a Coospace-ben kerülnek meghirdetésre. Megszerezhető pontszám: 5 pont/esszé Johanyák Zs. Csaba (c) 2014

3 Követelmények levelező tagozaton Elméleti ZH utolsó előtti konzultáción (pótlás utolsó konzultáción) Megszerezhető: 40 pont Minimum követelmény: 20 pont Gyakorlati ZH utolsó előtti konzultáción (pótlás utolsó konzultáción) Megszerezhető: 60 pont Minimum követelmény: 30 pont További pontszerzési lehetőségek Részvétel Informatika.Neked sorozat azon előadásain, amit a tantárgy előadója pontszerzésre ajánl (alkalmanként 2 pont szerezhető) Egy témakör esszé jellegű kidolgozása kb oldal terjedelemben (nem másolás!) Választható témakörök a Coospace-ben kerülnek meghirdetésre. Johanyák Zs. Csaba (c) 2014

4 Előadók Göcs László Személyes konzultáció: 4. épület (Informatika Tanszék), 1. emelet 116-os iroda Dr. Johanyák Zsolt Csaba Személyes konzultáció: 4. épület (Informatika Tanszék), 1. emelet 108-os iroda Johanyák Zs. Csaba (c) 2014

5 Irodalom Kötelező Johanyák Zsolt Csaba, Kovács Péter és Göcs László: Linux hálózati adminisztráció a gyakorlatban v 1.3 (2013) Ubuntu höz Ajánlott Mendel Cooper: Advanced Bash-Scripting Guide Hivatalos és közösségi dokumentáció Blahota István: Ubuntu Linux kezdőknek (2011) hez Johanyák Zs. Csaba (c) 2014

6 (Ismétlés) Johanyák Zs. Csaba (c) 2014

7 IP címek IPV4 Johanyák Zs. Csaba (c) db decimális szám ponttal elválasztva 1db decimális szám 8 biten ábrázolva bináris számrendszerben Pl: 181 =

8 IP címek osztályozása A osztály 0….. …. …. … Johanyák Zs. Csaba (c) Kezdő IP: Utolsó IP:

9 IP címek osztályozása B osztály 1 0….. …. …. … Johanyák Zs. Csaba (c) Kezdő IP: Utolsó IP:

10 IP címek osztályozása C osztály 1 1 0….. …. …. … Johanyák Zs. Csaba (c) Kezdő IP: Utolsó IP:

11 D és E osztályok „D” osztály … Multicasting céljaira fenntartva. A tartomány több blokkra van osztva ld. RFC 5771 „E” osztály … Fenntartott címek Johanyák Zs. Csaba (c) 2014

12 Hatókör szerint Nyilvános Magánhálózati Automatikus konfigurációnál használt Johanyák Zs. Csaba (c) 2014

13 Magánhálózati címtartományok A – B – C – Johanyák Zs. Csaba (c) 2014

14 APIPA ( Automatic Private Internet Protocol Addressing ) A Microsoft otthoni és kisebb irodai hálózatokhoz vezette be a még csak draft formájában létező APIPA-t, olyan helyekre, ahol bizonyosan nincs kiszolgáló, mert nem érné meg, és nincs szaktudás sem a hálózat konfigurálására. Linux alatt AVAHI (majomfajta) néven érhető el ez az autokonfigurációs szolgáltatás Johanyák Zs. Csaba (c) 2014

15 AVAHI Ha induláskor az operációs rendszer nem talál DHCP kiszolgálót, a draft által lefoglalt, B típusú IP- címtartományból véletlenszerűen kiválaszt egy címet, meggyőződik arról, hogy azt más nem használja, majd elindul. A meggyőződés annyit tesz, hogy egy ICMP csomagot indít a kiválasztott cím felé. Ha érkezik rá válasz, már létezik a cím a hálózatban, tehát másikat kell keresni. Tízszer próbál így címhez jutni, és tekintve, hogy a lehetséges címek száma, kicsi az esélye, hogy nem találja meg az „igazit”. Johanyák Zs. Csaba (c) 2014

16 AVAHI Az automatikusan meghatározott címhez azután nem ragaszkodik, és minden ötödik percben kibocsát egy DHCP-Discover csomagot, hátha meggondolták magukat az üzemeltetők és működőképes állapotba hoztak egy címkiosztó szolgáltatást. A DHCP és az AVAHI azért fér meg egymás mellett, mert az operációs rendszer el tudja dönteni, hogy milyen szituációban van /16 Johanyák Zs. Csaba (c) 2014

17 Hálózati maszk Az a szám, amely meghatározza, hogy az IP-cím mely része hálózat i, és mely része állomáscím. Az alhálózati maszk (subnet mask) segítségével a rendszergazdák a helyi hálózatban egymástól elkülönülő alhálózatokat tudnak létrehozni. IP-cím: Alhálózati maszk: Kettes számrendszerben: IP-cím: Alh.maszk: A két szám bitenkénti ÉS (AND) műveletet elvégezve megkapjuk a hálózat címét: Johanyák Zs. Csaba (c) 2014

18 JelölCímekAlháló maszk d.Alháló maszk bin. / /9128x /1064x /1132x /1216x /138x /144x /152x /161x /17128x /1864x /1932x /2016x /218x Johanyák Zs. Csaba (c) 2014

19 JelölCímekAlháló maszk d.Alháló maszk bin. /224x /232x /241x /25128x /2664x /2732x /2816x /298x /304x /312x /321x Johanyák Zs. Csaba (c) 2014

20 Megoldások az IPv4 címek kis száma miatti problémára CIDR, VLSM (alhálózatok számítása maszkokkal) NAT IPv6 Johanyák Zs. Csaba (c) 2014

21 IPv6 Tulajdonságok 128 bit, 1994 A címzés hierarchikus – miért jó? Támogatja a munkaállomások automatikus hálózati konfigurálását CIDR-t használ Egy interfésznek több címe is lehet Johanyák Zs. Csaba (c) 2014

22 IPv6 – cím típusok Egycélú (Egyedi küldés) ( unicast ) : egy adott interfészt azonosít Választható célú (Csomópont-választásos küldés) ( anycast ) : interfészek egy csoportját azonosítja, de a csomagot elég a csoport egyetlen tetszőleges tagjához eljuttatni (ha a csoportból valaki megkapja, a többiek már nem kapják meg) Többcélú (Csoportos küldés) ( multicast ) : az interfészek egy csoportját azonosítja, a csomagot minden a csoportba tartozó interfész meg kell kapja (Broadcast helyett) Johanyák Zs. Csaba (c) 2014

23 IPv6 cím felépítése 8 db 4 hexadecimális számjegyből álló csoport kettőspontokkal elválasztva Kezdőbitek határozzák meg a cím típusát 2001:0db8:85a3:08d3:1319:8a2e:0370:7344 Johanyák Zs. Csaba (c) 2014

24 128 bites IPv6 cím Johanyák Zs. Csaba (c) FFE:085B:1F1F:0000:0000:0000:00A9: csoport 16-bites hexa számokból, elválasztó jel “:” 3FFE:85B:1F1F::A9:1234 :: = egy vagy több egymást követő csoportban csak nullák vannak Kezdő nullák elhagyhatók

25 IPv6 címek 0:0:0:0:0:0:0:0 vagy :: – helyettesítő cím, ha nincs cím, Pl. kezdeti DHCP kérés ::1 –localhost (loopback) cím ::ffff: IPv4/96 – átfordított (mapped) IPv4-es címekre Johanyák Zs. Csaba (c) 2014

26 Unicast címek felosztása érvényességi kör szerint Világméretű (mint az IPv4 publikus) Global unicast Lokális (mint az IPv4 privát) Telephely (site) szintű: Site-local ( elavult! ) Helyi: Unique-local Szegmens szintű: Link-local Johanyák Zs. Csaba (c) 2014

27 Global unicast cím A globális azon (45 bit) lehet ISP vagy site azonosító A 16 bit alhálózat vagy site azonosító A 64 bit lehet MAC cím alapján Johanyák Zs. Csaba (c) 2014

28 Site-Local unicast címek Cégen belüli (privát) címzés - intranet A címek generálása nem automatikus Nem routolják Lehetővé teszi szervezeti hálózat címzését Elavult! RFC 3879 (2004) érvénytelenné tette, csak régebben volt használatos FEC0:: through FFFF:: Johanyák Zs. Csaba (c) 2014

29 Unique local címek Cégen belüli (privát) címzés - intranet De a cím egyedi a világon – cégen belüli házirenddel tiltható a forgalom Johanyák Zs. Csaba (c) 2014

30 Link-Local unicast címek (interface) FE80::/64 Csak egy linken (szegmensen) belül értelmezett Router nem továbbítja Konfigurálása mindig automatikus Átjáró felderítés, más 2. rétegbeli szomszédok (azonos szegmensen levő eszközök) felderítése Johanyák Zs. Csaba (c) 2014

31 Multicast címek Csoportos címzés, helyettesíti az üzenetszórást A csoport minden tagja megkapja Johanyák Zs. Csaba (c) 2014

32 Hatókörök értelmezése Johanyák Zs. Csaba (c) 2014 Forrás:

33 Állandó multicast címek Hatókörtől függetlenek Az összes interfész node-local és link-local hatókörben: FF01::1 (node-local scope all-nodes address) FF02::1 (link-local scope all-nodes address) Az összes router node-local, link-local, és site-local hatókörben: FF01::2 (node-local scope all-routers address) FF02::2 (link-local scope all-routers address) FF05::2 (site-local scope all-routers address) Johanyák Zs. Csaba (c) 2014

34 Anycast címek Azonos felépítésű a unicast-tal Cél, hogy a legközelebbi interfész kapja meg a csomagot Automatikusan keletkezik, amikor egy unicast címet egynél több interfészhez rendelünk Johanyák Zs. Csaba (c) 2014

35 TCP/IP hivatkozási modell Johanyák Zs. Csaba (c) 2014 Alkalmazási Megjelenítési Viszony Szállítási Hálózati Adatkapcsolati Fizikai Alkalmazási Szállítási Internet Hálózati hozzáférési

36 TCP/IP Protokollok Johanyák Zs. Csaba (c) 2014 DHCP, DNS, FTP, HTTP, IMAP, IRC, POP3, SIP, SMTP, SNMP, SSH, Telnet, BitTorrent SCTP, TCP, RTP, UDP, IL, RUDTP IPv4, IPv6, ARP, ICMP, IGMP Ethernet, FDDI, ATM, PPP, Wi-Fi, Token-Ring,

37 ARP (Address-Resolution-Protokoll) A hálózati hozzáférési réteget abba a helyzetbe kell hozni, hogy egy csomagfogadónak, akinek csak az IP-címe ismert, elküldjön egy csomagot az ethernet-címmel. 1. Kiad egy broadcast-üzenetet, vagyis egy olyan üzenetet, amit a hálózaton minden számítógép fogad. Ebben az ARP mintegy megkérdezi : Kinek az IP-címe a ? 2. A hálózaton mindegyik számítógép megvizsgálja, hogy nem az ő IP-címe a Az a számítógép fog válaszolni, amelyiknek ez az IP-címe : Az enyém, és az ethernet-címem a következő: af e.a3 3. Az ARP tárolja ezt az információt azért, hogy ne kérdezze le ismételten minden csomag esetén. Egy meghatározott időtartam (kb. 20 perc) eltelte után automatikusan eldobja azért, hogy fel legyen készülve egy esetleges hardware- változásra. Johanyák Zs. Csaba (c) 2014

38 ICMP ( Internet Control Message Protocol) Elérhetetlen gépek felismerése Hibaüzenetek vagy a TCP/IP-t megvalósító szoftvernek szánt üzenetek információgyűjtés a hálózatról. Pl: ha egy gateway felismeri, hogy egy adott számítógép elérhetetlen, akkor az ICMP-n keresztül kiküld egy Destination unreachable üzenetet a csomag küldőjének. Útvonal Optimalizálás Ha egy gateway felismeri, hogy kerülőutat használ, akkor a csomagküldő gépnek küld egy üzenetet, amiben benne van a gyorsabb útvonal. A csomagküldő gép (ill. az IP-rétege) a következő csomagot már a jobb útvonalon tudja elküldeni. Johanyák Zs. Csaba (c) 2014

39 IGMP ( Internet Group Management Protocol Protocol) Multicast üzenetek továbbítását teszi lehetővé. Közvetíti a csoporttagságot a hosztok és az útvonalválasztók felé. A multicasting lehetővé teszi, hogy egy felhasználó ugyanazt a tartalmat egy teljes csoport számára hozzáférhetővé tegye. Johanyák Zs. Csaba (c) 2014

40 FTP – File Transfer Protocol A TCP/IP hálózatokon történő állományátvitelre szolgáló szabvány. Gyakran van szükség arra, hogy valamilyen állományt hálózaton keresztül töltsünk le saját gépünkre, vagy egy állományt mások számára hozzáférhetővé tegyünk. Lehetővé teszi a különböző operációs rendszerű gépek között is az információcserét. Az FTP kapcsolat ügyfél/kiszolgáló alapú, vagyis szükség van egy kiszolgáló - (szerver) és egy ügyfélprogramra (kliens). Elterjedt protokoll, a legtöbb modern operációs rendszerhez létezik FTP-szerver és kliens program, sok web böngésző is képes FTP- kliensként működni. Johanyák Zs. Csaba (c) 2014

41 HTTP - HyperText Transfer Protocol Egy kérés-válasz alapú protokoll kliensek és szerverek között. A kommunikációt mindig a kliens kezdeményezi. A HTTP egy állapot nélküli protokoll. Az állapot nélküli protokollok előnye, hogy a szervernek nem kell nyilvántartania felhasználói információkat az egyes kérések kiszolgálása között. A HTTP terjedt el széles körben más, felhasználói bejelentkezést támogató protokollok helyett, ami arra kényszerítette a web fejlesztőket, hogy kerülőutakon járva tárolják a felhasználók munkamenet-állapotait. Egy tipikus megoldás cookie-kban tárolni a felhasználói állapotot. Egyéb módszerek még a rejtett változók (például ) vagy az URL-ben kódolt paraméterek (például: /index.php?userid=3) használata illetve a szerveroldali állapotmegőrzés. Johanyák Zs. Csaba (c) 2014

42 POP3 A Post Office Protocol version 3 Segítségével az kliensek egy meglévő TCP/IP kapcsolaton keresztül letölthetik az elektronikus leveleket a kiszolgálóról. Napjainkban ez a legelterjedtebb protokoll az elektronikus levelek lekéréséhez. A protokollra eredetileg az időszakosan létrejövő TCP/IP kapcsolatok (pl. dial-up) miatt volt szükség, ugyanis lehetővé teszi a kapcsolódás korlátozott ideje alatt a levelek kezelését a felhasználó gépén, úgy, hogy a levelek összességében akár a szerveren is maradhatnak. A leveleket azután helyben lehet olvasni, szerkeszteni, tárolni stb. A POP3 protokoll kizárólag a levelek letöltésére alkalmas; küldésükre az SMTP protokoll szolgál. Johanyák Zs. Csaba (c) 2014

43 SMTP Simple Mail Transfer Protocol Ez egy kommunikációs protokoll az ek Interneten történő továbbítására. Az SMTP egy viszonylag egyszerű, szöveg alapú protokoll, ahol egy üzenetnek egy vagy több címzettje is lehet. Az SMTP szolgáltatás a TCP 25-ös portját használja. Ahhoz, hogy meghatározza, hogy az adott domain névhez melyik SMTP szerver tartozik, a Domain név MX (Mail eXchange) rekordját használja. Az SMTP protokoll az indításkor sima szöveg alapú (ASCII karakterek) volt, nem kellett hozzá bináris file kezelés. De mára már kifejlesztették a MIME kódolást, ahol bináris fájlok formájában “utaznak” a levelek. Ma már minden SMTP kiszolgáló támogatja a 8-bites, azaz a 8BITMIME kiterjesztésű leveleket, ami bináris formában tárolja / küldi az üzeneteket. Johanyák Zs. Csaba (c) 2014

44 SNMP Simple Network Management Protocol Egy szerver-kliens kapcsolatra épülő protokoll. A szerver program, amit hálózati menedzsernek (network manager) is szoktak nevezni - virtuális kapcsolatot létesít a kliens programmal, amit SNMP ügynöknek (SNMP agent) is neveznek, és a távoli, felügyelt hálózati egyeden van telepítve. Hálózatra kötött eszközök vezérlése, adatainak lekérdezése. A menedzselhető eszközön (pl. nyomtatók, forgalomirányító, szerver, stb.) fut egy démon. A menedzselő eszközön fut a kliens program. Johanyák Zs. Csaba (c) 2014

45 SSH Secure Shell Egy szabványcsalád, és egyben egy protokoll is, amit egy helyi és egy távoli számítógép közötti biztonságos csatorna kiépítésére fejlesztettek ki. Nyilvános kulcsú titkosítást használ a távoli számítógép hitelesítésére, és opcionálisan a távoli számítógép is hitelesítheti a felhasználót. Az SSH-t leggyakrabban arra használják, hogy egy távoli gépre belépjenek vele és parancsokat adjanak ki, de támogatja a tunnelinget, azaz tetszőleges TCP portok és X11 kapcsolatok továbbítását. Fájlok biztonságos átvitelére is használható a kapcsolódó SFTP (Secure FTP) és SCP (Secure Copy) protokollok segítségével. Az SSH szerverek alapértelmezésben a 22-es TCP porton hallgatóznak. Johanyák Zs. Csaba (c) 2014

46 Egyéni feldolgozásra Johanyák Zs. Csaba (c) 2014

47 A UNIX kialakulása 1 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 Zs. Csaba (c) 2014

48 A UNIX kialakulása 2 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 (U N iplexed Information and Computing Service) 1971 PDP-11-re, még teljesen assembly 1973-ban C-re átültetve Johanyák Zs. Csaba (c) 2014

49 A UNIX kialakulása 3 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 Zs. Csaba (c) 2014

50 A UNIX kialakulása 4 Microsoft PC-re fejleszett UNIX változata. Az első PC-s UNIX: Xenix Intel ra Kb. 30 db floppy (360 Kb-os) Johanyák Zs. Csaba (c) 2014

51 Egységesítési törekvések 1 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 Zs. Csaba (c) 2014

52 Egységesítési törekvések 2 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 Zs. Csaba (c) 2014

53 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 Zs. Csaba (c) 2014

54 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 (www.kernel.org) v.x.y.z; jelenleg: önmagában használhatatlan Johanyák Zs. Csaba (c) 2014

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

56 Linux OpenSuse: (hu.opensuse.org) Debian: (www.debian.org) Slackware: (www.slackware.com) Red Hat: (www.redhat.com) Fedora: (fedoraproject.org) UHU: (www.uhulinux.hu) Ubuntu: (ubuntu.hu, Johanyák Zs. Csaba (c) 2014

57

58 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 Zs. Csaba (c) 2014

59 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 Zs. Csaba (c) 2014

60 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 Zs. Csaba (c) 2014

61 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 Zs. Csaba (c) 2014

62 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 Zs. Csaba (c) 2014

63 Linux hálózati adminisztráció Johanyák Zs. Csaba (c) 2014

64 Ami az első előadáson elhangzott IPv4 és IPV6 címek AVAHI Fontosabb protokollok Linux jellemzők Johanyák Zs. Csaba (c) 2014

65 Követelmények Követelmények és pontszerzési lehetőségek a CooSpace-en az előadás színterében Feliratkkozás Coospace-ben Informatika.Neked elődásrészvétellel Firefox OS – október 30. Johanyák Zs. Csaba (c) 2014

66

67 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 Zs. Csaba (c) 2014

68 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 Zs. Csaba (c) 2014

69 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 Nem használt csomagok eltávolítása sudo apt-get autoremove Johanyák Zs. Csaba (c) 2014

70 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 Disztribúció frissítés sudo apt-get dist-upgrade Naplózás: /var/log/dpkg.log Johanyák Zs. Csaba (c) 2014

71 Aptitude Menüvezérelt karakteres interfész (front-end) az Advanced Packaging Tool-hoz sudo aptitude Johanyák Zs. Csaba (c) 2014

72 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 Johanyák Zs. Csaba (c) 2014

73 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 Canonincal 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 Zs. Csaba (c) 2014

74 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 Zs. Csaba (c) 2014

75

76 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 Zs. Csaba (c) 2014

77 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 Zs. Csaba (c) 2014

78 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 Johanyák Zs. Csaba (c) 2014 Forrás:

79 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 Zs. Csaba (c) 2014

80 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 Zs. Csaba (c) 2014

81 Ablakkezelők és asztali környezetek AblakkezelőkAsztali környezetek MetacityGNOME CompizGNOME, KDE KWinKDE XfwmXfce wmiiUnity Ratpoison twm- az X11-el szállított alap ak. evilwm Enlightenment Johanyák Zs. Csaba (c) 2014

82 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 Zs. Csaba (c) 2014

83 X Windows implementációk XFree86 (http://www.xfree86.org/) volt a legáltalánosabb 2004-ig – licencelési váltáshttp://www.xfree86.org/ X.Org (http://www.x.org/wiki/) 2004-től az XFree86 egy korábbi, szabad licenszű változatából kezdték fejlesztenihttp://www.x.org/wiki/ Legtöbb Linux disztribúció X.Org-ot használ Johanyák Zs. Csaba (c) 2014

84 Linux desktopok KDE (jelenleg: 4.14) K Desktop Environment Matthias Ettrich Tübing-i egyetemi hallgató GNOME (jelenleg: 3.12) GNU Network Object Model Environment – 1997 augusztus Unity (jelenleg: 7.2.0) Grafikus shell https://unity.ubuntu.com/projects/unity/ Johanyák Zs. Csaba (c) 2014

85 Linux desktopok XFCE (jelenleg 4.8) Kis erőforrásigény Olivier Fourdan Johanyák Zs. Csaba (c) 2014

86

87 Bejelentkezés Ubuntu XXX tty1 XXX login: hallgato Password: Last login: … Johanyák Zs. Csaba (c) 2014

88 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 Zs. Csaba (c) 2014

89 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 Zs. Csaba (c) 2014

90 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 Zs. Csaba (c) 2014

91 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 Zs. Csaba (c) 2014

92 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 Zs. Csaba (c) 2014

93 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 Zs. Csaba (c) 2014

94 Fontosabb környezeti változók PATH HOME LOGNAME HOSTNAME TERM Johanyák Zs. Csaba (c) 2014

95 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 echo $PATH Johanyák Zs. Csaba (c) 2014

96 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 Zs. Csaba (c) 2014

97 Példák valtozo=valami echo $valtozo valami PATH=/alma/jonatan:$PATH export PATH Johanyák Zs. Csaba (c) 2014

98 Alias alias listazz ='ls -l' alias listazz unalias listazz Johanyák Zs. Csaba (c) 2014

99 Információk tty melyik terminálon dolgozunk? Pl. /dev/tty1 id mi az azonosítónk és mely csoportokhoz tartozunk? groups csoporttagságok uname –a gépinformációk Johanyák Zs. Csaba (c) 2014

100 Szövegíró programok 1 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) nem része az alap telepítésnek jed menüvezérelt nem része az alap telepítésnek Johanyák Zs. Csaba (c) 2014

101 vi vi proba ESC i szöveg beírása ESC :wq cat proba Johanyák Zs. Csaba (c) 2014

102 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 Zs. Csaba (c) 2014

103 Szövegíró programok 2 mcedit proba pico (pine) emacs Johanyák Zs. Csaba (c) 2014

104 Konfigurációs állományok /etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profilevégrehajtás bejelentkezéskor környezeti változók pl. PATH.bashrcvé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 Zs. Csaba (c) 2014

105 DHCP Johanyák Zs. Csaba (c) 2014

106 DHCP üzenetek Johanyák Zs. Csaba (c) 2014 ÜgyfélKiszolgáló DHCP discover Szórt üzenet ÜgyfélKiszolgáló DHCP offer Szórt üzenet ÜgyfélKiszolgáló DHCP request Szórt üzenet ÜgyfélKiszolgáló DHCP ack Szórt üzenet /var/log/messages

107 Johanyák Zs. Csaba (c) 2014

108 Mit kap az ügyfél? IP cím Átjáró címe (forgalomirányító) DNS kiszolgálók címei DNS tartománynév, keresési tartományok Alhálózati maszk Bérleti időtartam WINS csomóponttípus WINS kiszolgálók címei Johanyák Zs. Csaba (c) 2014

109 Kiszolgáló telepítése $ sudo apt-get update $ sudo apt-get install isc-dhcp-server Fontosabb állományok szerver oldalon /etc/dhcp/dhcpd.conf /etc/default/isc-dhcp-server /var/lib/dhcp/dhcpd.leases Johanyák Zs. Csaba (c) 2014

110 /etc/dhcp/dhcpd.conf authoritative; ddns-update-style none; option domain-name "gamf.hu"; option domain-name-servers , ; option broadcast-address ; option routers ; option subnet-mask ; default-lease-time 600; # 10 perc max-lease-time 7200; # 2 óra Johanyák Zs. Csaba (c) 2014

111 /etc/dhcp/dhcpd.conf host belzebub { hardware ethernet 08:00:27:e4:f3:45; fixed-address ; option host-name belzebub; } subnet netmask { range ; } Johanyák Zs. Csaba (c) 2014

112 Hova szolgáltasson? Mely interfész(ek)en szolgáltasson? $ sudo nano /etc/default/isc-dhcp-server INTERFACES="eth1" Indítás $ sudo service isc-dhcp-server start Kliensen $ sudo dhclient Johanyák Zs. Csaba (c) 2014

113 Szerveren Johanyák Zs. Csaba (c) 2014

114 Kliensen Johanyák Zs. Csaba (c) 2014 /var/lib/dhcp/dhclient-xxxx-ethx.lease(Desktop) /var/lib/dhcp/dhclient.eth0.leases(Server)

115 Kliens konfiguráció /etc/dhcp/dhclient.conf Johanyák Zs. Csaba (c) 2014

116 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 Zs. Csaba (c) 2014

117 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 Zs. Csaba (c) 2014

118 Példa.bash_logout # ~/.bash_logout clear Johanyák Zs. Csaba (c) 2014

119 Linux hálózati adminisztráció Johanyák Zs. Csaba (c) 2014

120

121 Névfeloldás menete Linux gépeken Desktop (12.04) dnsmasq Server (hagyományos) /etc/nsswitch.conf /etc/hosts /etc/resolv.conf DNS kiszolgáló igénybe vétele Johanyák Zs. Csaba (c) 2014

122 Ubuntu Desktop NetworkManager Dnsmasq (dnsmasq-base csomag) /etc/NetworkManager/NetworkManager.conf Johanyák Zs. Csaba (c) 2014

123 /etc/hosts 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: /etc/hosts Johanyák Zs. Csaba (c) 2014

124 /etc/resolv.conf Generált állomány Tartalma származhat DHCP kiszolgálótól Kézzel megadva az /etc/network/interfaces-ben /etc/dhcp/dhclient.conf Johanyák Zs. Csaba (c) 2014

125 /etc/network/interfaces Johanyák Zs. Csaba (c) 2014

126 Domain Name Service (DNS) Osztott hierarchikus név adatbázis Legfontosabb feladata a név - IP cím feloldás Szerver alapú névfeloldás – szerver típusa Rekurzív névfeloldást végző szerver Egyszerű továbbító egy rekurzív névfeloldást végző szerverhez Vegyes Gyorstárazás Johanyák Zs. Csaba (c) 2014

127 Ábra forrása: Verisign Domain Name Industry Brief, June 2007 (PDF), utolsó oldal.Verisign Domain Name Industry Brief, June 2007 (PDF) Rekurzív névfeloldást végző szerver

128 BIND Berkeley Internet Name Domain leggyakrabban használt DNS implementáció (ISC) BIND 9 https://help.ubuntu.com/community/BIND9ServerHo wto Johanyák Zs. Csaba (c) 2014

129 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 Zs. Csaba (c) 2014

130 /etc/bind/named.conf.options - általános beállítások options { 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 Zs. Csaba (c) 2014

131 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 Zs. Csaba (c) 2014

132 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 Zs. Csaba (c) 2014

133 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 Johanyák Zs. Csaba (c) 2014

134 /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 Zs. Csaba (c) 2014

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

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

137 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 Címfeloldáshoz (inverz névfeloldáshoz) Johanyák Zs. Csaba (c) 2014

138 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 Johanyák Zs. Csaba (c) 2014

139 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 Zs. Csaba (c) 2014

140 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 vagy AAA rekord) Névszerver információ (NS rekord) Név (PTR rekord) stb. Adatok: a rekord típusától függő információ Johanyák Zs. Csaba (c) 2014

141 Legfontosabb rekordtípusok SOA - Start of Authority rekord, zóna kezdő rekord A - Address, cím rekord (AAA) 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 Zs. Csaba (c) 2014

142 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 Zs. Csaba (c) 2014

143 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 Zs. Csaba (c) 2014

144 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 Zs. Csaba (c) 2014

145 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 Zs. Csaba (c) 2014

146 NS - Name Server, névszerver rekord Egy zóna névszervereinek megadása A zóna egy delegálási pont pl. osztaly NS gep.osztaly.valami.hu. Az 'osztaly' zóna névszervere a gep.osztaly.valami.hu. Ajánlatos legalább két névszervert megadni NS belzebub.otthon.hu Johanyák Zs. Csaba (c) 2014

147 Glue (idegen) 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 Johanyák Zs. Csaba (c) 2014

148 CNAME - Canonical Name, kanonikus név rekord Becenév (álnév) egy hostnak www CNAME belzebub Pl. 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 Zs. Csaba (c) 2014

149 MX - Mail eXchanger, levelező szerver rekord otthon.hu. MX 10 mail.otthon.hu. MX 20 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 Zs. Csaba (c) 2014

150 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 Zs. Csaba (c) 2014

151 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 Zs. Csaba (c) 2014

152

153 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 Zs. Csaba (c) 2014

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

155 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 Zs. Csaba (c) 2014

156 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=KillS=Start 2-es szinten csak S Johanyák Zs. Csaba (c) 2014

157 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 Zs. Csaba (c) 2014

158 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 Zs. Csaba (c) 2014

159 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 Zs. Csaba (c) 2014

160 /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 Zs. Csaba (c) 2014

161 /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 Zs. Csaba (c) 2014

162 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 Zs. Csaba (c) 2014

163 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 Zs. Csaba (c) 2014

164 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 Zs. Csaba (c) 2014

165 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 Zs. Csaba (c) 2014

166 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) Johanyák Zs. Csaba (c) 2014

167 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 Zs. Csaba (c) 2014

168 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 Egyes szolgáltatásokat nem a fenti módon, hanem a service parancssal kell indítani. Pl. sudo service network-manager restart sudo service bind9 stop Johanyák Zs. Csaba (c) 2014

169 A Linux többrétegű fájlrendszere Johanyák Zs. Csaba (c) 2014 Folyamat 1 Folyamat 2 Folyamat n VIRTUAL FILE SYSTEM ext?msdosminixproc Buffer cache EszközmeghajtókÁllományrendszer User mode Kernel mode...

170 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 Zs. Csaba (c) 2014

171 A proc fájlrendszer 1 á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 Zs. Csaba (c) 2014

172 A proc fájlrendszer 2 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 Zs. Csaba (c) 2014

173 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 Zs. Csaba (c) 2014

174 Á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 Zs. Csaba (c) 2014

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

176 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 Zs. Csaba (c) 2014

177 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 Zs. Csaba (c) 2014

178 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 Zs. Csaba (c) 2014

179 i-csomópont szerkezet Johanyák Zs. Csaba (c) 2014

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

181 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 Zs. Csaba (c) 2014

182 mkdir delelott cd delelott ln –s../billkiosztas szimbolikus ls –la cat szimbolikus | more ls –la../billkiosztas ln../billkiosztas merev ls –la../billkiosztas ls –la Johanyák Zs. Csaba (c) 2014

183 rm../billkiosztas ls –la rm merev ls –la cat szimbolikus | more mc Johanyák Zs. Csaba (c) 2014

184 Linux hálózati adminisztráció Johanyák Zs. Csaba (c) 2014

185 Az előző óra tartalmából Névfeloldás menete Futási szintek i-csomópont Szimbolikus és merev linkek /etc/nsswitch.conf Johanyák Zs. Csaba (c) 2014

186 Hard link-soft link Johanyák Zs. Csaba (c) 2014 link=2 > ln /usr/joe/foo /usr/sue/bar foo2 bar2 /usr/joe /usr/sue 2. i-node hard link > ln -s /usr/joe/foo /usr/sue/bar foo2 bar16 /usr/joe /usr/sue 2. i-bög16. i-node /usr/joe/foo symbolic link

187 Á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 Zs. Csaba (c) 2014

188 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 LVM Johanyák Zs. Csaba (c) 2014

189 Logical Volume Manager Absztrakciós réteg a fizikai tárolóeszköz felett – lemez virtualizáció PV – Physical Volume - a tényleges partíciók VG – Volume Group – a PV-k csoportja LV – Logical Volume – virtuális kötet /dev/VolumeGroupName/* Lecsatolás (umount) nélkül átméretezhető Támogatja VG-k exportját és importját Támogatja a lineáris és csíkozott LV-ket Pillanatképek készítése Johanyák Zs. Csaba (c) 2014

190 PV – VG – LV Johanyák Zs. Csaba (c) 2014 PV2 PV1 VG PV1PV2 VGLV I/O rendszer

191 LVM példa Johanyák Zs. Csaba (c) 2014 Forrás:

192 További jellemzők  Max 99 VG  256 LV  1 VG-ben max. 256 PV Johanyák Zs. Csaba (c) 2014

193 Útvonal "." aktuális könyvtár ".." szülő könyvtár "/" gyökér könyvtár Johanyák Zs. Csaba (c) 2014

194 Standard fa /binrendszerprogramok /usr/binközérdekű felhasználói programok /etca rendszer működéséhez és karbantartásához szükséges állományok és programok /etc/passwdfelhasználók azonosításához szükséges adatok egy része /tmpideiglenes állományok elhelyezése /devspeciális állományok /homefelhasználói könyvtárak Johanyák Zs. Csaba (c) 2014

195 /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/sd*merevlemez neve, a „* ” helyén alfanumerikus karakterek, elsősorban számok állnak (sd*) /dev/fd*hajlékonylemezes egység neve /dev/memállományként elérhető memória neve /dev/nullkü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á

196 Á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 Zs. Csaba (c) 2014

197 mount Johanyák Zs. Csaba (c) 2014 /dev/hda1 /dev/hda2

198 Mount tábla /etc/mount A partíció száma A szuperblokk pufferére mutató pointer A mount jegyzék i-csomópontja (mount point) A gyökér jegyzék i-csomópontja /etc/fstab Johanyák Zs. Csaba (c) 2014

199 /etc/mtab A már csatolt köteteket tartalmazza Johanyák Zs. Csaba (c) 2014

200 /etc/fstab File Systems Table # /etc/fstab: static file system information. # proc /proc proc defaults 0 0 # /dev/sda1 UUID=4512d875-aa af ea94afce / ext3 relatime,errors=remount-ro 0 1 # /dev/sda5 UUID=e54f4a3e-40da-4b3a-bd38-3a79ba2e759c none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 Johanyák Zs. Csaba (c) 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 -> )

201 UUID Johanyák Zs. Csaba (c) 2014

202 /etc/fstab 5. Oszlop – opciók: Async – aszinkron írás-olvasás Exec (noexec) – binárisok futtatását engedélyezi Noatime – az i-csomópontok 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 Zs. Csaba (c) 2014

203 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-csomópontok száma A szabad i-csomópontok 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 Zs. Csaba (c) 2014

204 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 Zs. Csaba (c) 2014

205 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 + Johanyák Zs. Csaba (c) 2014

206 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 Zs. Csaba (c) 2014

207 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 Zs. Csaba (c) 2014

208 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 Zs. Csaba (c) 2014

209 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

210 Johanyák Zs. Csaba (c) 2014 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

211 Tar tar –cvf ujnev.tar allomanyok tar –xvf ujnev.tar tar –tvf ujnev.tar Johanyák Zs. Csaba (c) 2014

212 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 -dkitömörítés, törli a tömörítettet

213 Johanyák Zs. Csaba (c) 2014 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

214 tree Johanyák Zs. Csaba (c) 2014

215 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ány ban megadott utasításokat Johanyák Zs. Csaba (c) 2014

216 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 Zs. Csaba (c) 2014

217 Á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 Zs. Csaba (c) 2014

218 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 Zs. Csaba (c) 2014

219 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 egy karakter [a-g1-6] az a -tól g -ig vagy az 1 -től 6 -ig terjedő intervallumból egy karakter Johanyák Zs. Csaba (c) 2014

220 Semlegesítő karakterek 1 \ 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 Zs. Csaba (c) 2014

221 Semlegesítő karakterek 2 " " 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 Zs. Csaba (c) 2014

222 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 Zs. Csaba (c) 2014

223 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 Zs. Csaba (c) 2014

224 Megoldás ls /dev/t*[3-8] ls /dev/*[0-9]* | wc -l Johanyák Zs. Csaba (c) 2014

225 Állományrendszer és processzek Johanyák Zs. Csaba (c) 2014

226 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 Zs. Csaba (c) 2014

227 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 (hagyományosan Unix rendszerekben uid=0) Johanyák Zs. Csaba (c) 2014

228

229 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 Zs. Csaba (c) 2014

230 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 Zs. Csaba (c) 2014

231 Jogadás Futtatási időre setgid bit setuid bit Állandó chmod chown chgrp Johanyák Zs. Csaba (c) 2014

232 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 Zs. Csaba (c) 2014

233 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 Zs. Csaba (c) 2014

234 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 Zs. Csaba (c) 2014

235 Linux hálózati adminisztráció Johanyák Zs. Csaba (c) 2014

236 Az előző óra tartalmából Partíciók LVM Fel-/lecsatolás Parancsok Johanyák Zs. Csaba (c) 2014

237 Fogalmak programállomány a lemezen folyamatprogram példány jobvégrehajtásra váró utasítás PIDProcess IDentificator előtérben futó háttérben futó démon Johanyák Zs. Csaba (c) 2014

238 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

239 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 Zs. Csaba (c) 2014

240 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-csomópontjába í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-csomópont others rwx-e szabályoz (Bárki számára hozzáférhető fájlom nem biztos, hogy elérhető általam!) Johanyák Zs. Csaba (c) 2014

241 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 Zs. Csaba (c) 2014

242 A sudo parancs Parancsvégrehajtás rendszergazdai jogosultsági szinten 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 Parancs futtatása más felhasználó nevében sudo –u Johanyák Zs. Csaba (c) 2014

243 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 Johanyák Zs. Csaba (c) 2014

244 User_Alias példák # Az"admin" csoport tagjai User_Alias ADMINS = %admin # A hallgato és az ervin felhasználói fiókok User_Alias USERS= hallgato, ervin # Az ubul és a marci felhasznaloi fiokok User_Alias WEBMASTERS = ubul, marci # A ! –el kizárásokat adhatunk meg User_Alias KORLATOZOTT_FELHASZNALOK = USERS, !WEBMASTERS, !ADMINS Johanyák Zs. Csaba (c) 2014

245 Runas_Alias példák # A #UID egy felhasználói azonosító szám Runas_Alias ROOT = #0 (nulla) Runas_Alias ADMINS = %admin, root Johanyák Zs. Csaba (c) 2014

246 Host_Alias példák # Szerverek Host_Alias SERVERS = , , server1 # Egy hálózat Host_Alias NETWORK = / # Az összes gép a hálózatból, ami nem szerver Host_Alias WORKSTATIONS = NETWORK, !SERVERS Johanyák Zs. Csaba (c) 2014

247 Cmnd_Alias példák Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /sbin/halt, /sbin/reboot Cmnd_Alias AGET = /usr/bin/apt-get Johanyák Zs. Csaba (c) 2014

248 Hogyan? = 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 Johanyák Zs. Csaba (c) 2014

249 Hogyan? %admin hera=(root)NOPASSWD:/*/sbin/* ALL ALL=(ALL)NOPASSWD: ALL Johanyák Zs. Csaba (c) 2014

250 Defaults Defaults:ALL timestamp_timeout=0 sudo –l jelenleg érvényes effektív beállítások Johanyák Zs. Csaba (c) 2014

251 Források https://help.ubuntu.com/community/Sudoers Minta konfiguráció: Johanyák Zs. Csaba (c) 2014

252

253 Könyvtárak megosztása a hálózaton NFS Samba WebDAV Johanyák Zs. Csaba (c) 2014

254 NFSv3 Network File System Szerver-kliens modell Szerver exportál Kliens importál Egy gép mindkettő lehet Johanyák Zs. Csaba (c) 2014

255 NFS szerver telepítése sudo apt-get install nfs-kernel-server portmap Szükséges eszközök. RPC portmapper (rpc.portmap) ‏ (apt-get install portmap) RPC mount-daemon (rpc.mountd) ‏ RPC NFS daemon (rpc.nfsd) ‏ Johanyák Zs. Csaba (c) 2014

256 NFS szerver 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 Johanyák Zs. Csaba (c) 2014

257 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 Zs. Csaba (c) 2014

258 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 Zs. Csaba (c) 2014

259 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 Zs. Csaba (c) 2014

260 Samba v3 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 Zs. Csaba (c) 2014

261 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 Zs. Csaba (c) 2014

262 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 Zs. Csaba (c) 2014

263 Windows megosztás elérése Linux alól 1 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 -N smbclient –L tanterem -N -N jelszó nélküli lekérdezés Johanyák Zs. Csaba (c) 2014

264 Windows megosztás elérése Linux alól 2 Csatlakozás egy megosztáshoz: smbclient // /

265 Windows megosztás elérése Linux alól 3 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 Zs. Csaba (c) 2014

266 Windows megosztás elérése Linux alól 4 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 Zs. Csaba (c) 2014

267 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 (http://localhost:901) ‏ SMB (CIFS) protokollt valósít meg TCP/IP felett sudo /etc/init.d/samba restart Johanyák Zs. Csaba (c) 2014

268 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 Zs. Csaba (c) 2014

269 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 Zs. Csaba (c) 2014

270 WebDAV Web based Distributed Authoring and Versioning 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 Zs. Csaba (c) 2014

271 Konfigurálás 1 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 Zs. Csaba (c) 2014

272 Konfigurálás 2 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 /var/www/ Johanyák Zs. Csaba (c) 2014

273 Konfigurálás 3 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 Johanyák Zs. Csaba (c) 2014

274 Konfigurálás 4 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 Zs. Csaba (c) 2014

275 Konfigurálás 5 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 Zs. Csaba (c) 2014

276 Konfigurálás 6 WebDAV könyvtár megadása Dav on AuthName "WebDAV Login" AuthType Basic Johanyák Zs. Csaba (c) 2014

277

278 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 Zs. Csaba (c) 2014

279 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 Zs. Csaba (c) 2014

280 Konfigurálás 1 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 Zs. Csaba (c) 2014

281 CUPS konfigurálás Webes felületen Johanyák Zs. Csaba (c) 2014

282 Konfigurálás grafikus felületen Johanyák Zs. Csaba (c) 2014 sudo /etc/init.d/cups restart

283

284 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 Gufw – GUI Johanyák Zs. Csaba (c) 2014

285 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 Johanyák Zs. Csaba (c) 2014

286 ufw - tiltás sudo ufw deny proto tcp from to any port 22 sudo ufw deny 22 Johanyák Zs. Csaba (c) 2014

287 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 Zs. Csaba (c) 2014

288 Alkalmazásprofil 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 Zs. Csaba (c) 2014

289 Profilok Profil beállításainak megtekintése sudo ufw app info ALKALMAZÁS Johanyák Zs. Csaba (c) 2014

290 Profil használata Telepített profilok listája sudo ufw app list Az alkalmazáshoz kapcsolódó forgalom engedélyezése sudo ufw allow|deny ALKALMAZÁSNÉV sudo ufw allow Samba sudo ufw from /24 app Samba Eredmény (/lib/ufw/user.rules) Johanyák Zs. Csaba (c) 2014

291 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 Zs. Csaba (c) 2014

292 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 Zs. Csaba (c) 2014

293 /etc/default/ufw Johanyák Zs. Csaba (c) 2014

294 /etc/ufw/ufw.conf Johanyák Zs. Csaba (c) 2014

295 Firestarter sudo apt-get install 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 Johanyák Zs. Csaba (c) 2014

296 Firestarter varázsló Johanyák Zs. Csaba (c) 2014

297 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 Zs. Csaba (c) 2014

298 Bejövő forgalom szabályai Johanyák Zs. Csaba (c) 2014

299 Kimenő forgalom szabályai Fehér listás Fekete listás Johanyák Zs. Csaba (c) 2014

300 Diagnosztikai eszközök tiltása Johanyák Zs. Csaba (c) 2014

301 Linux hálózati adminisztráció Johanyák Zs. Csaba (c) 2014

302 Az előző előadás tartalmából NFSv3 Samba 3 A setuid koncepció /etc/sudoers = Tűzfal és NAT Johanyák Zs. Csaba (c) 2014

303 Alkalmazások - AppArmor Johanyák Zs. Csaba (c) 2014

304 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 Zs. Csaba (c) 2014

305 MAC implementáció Ubuntuban AppArmor (Application Armor) – alapértelmezett SELinux (Security Enhanced Linux) Johanyák Zs. Csaba (c) 2014

306 AppArmor Név alapú MAC-et megvalósító biztonsági modul 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 sudo apt-get install apparmor apparmor- utils apparmor-profiles Minden a szabályozás alá tartozó alkalmazáshoz egy profil állomány (biztonsági házirend) Johanyák Zs. Csaba (c) 2014

307 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ő Johanyák Zs. Csaba (c) 2014

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

309 Profil 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 Zs. Csaba (c) 2014

310 Kapcsolók 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 Zs. Csaba (c) 2014

311 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 Zs. Csaba (c) 2014

312 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 Zs. Csaba (c) 2014

313 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 Zs. Csaba (c) 2014

314 include – direktívával illesztik be a hivatkozásokat Johanyák Zs. Csaba (c) 2014

315

316 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 Biztonságos változatok az rsh, rcp, telnet, ftp kliensek helyett Johanyák Zs. Csaba (c) 2014

317 Forrás:

318 Autentikáció 1. Bejelentkezéskor automatikusan 2. 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 Zs. Csaba (c) 2014

319 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 Zs. Csaba (c) 2014

320

321 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 Zs. Csaba (c) 2014

322 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ó Johanyák Zs. Csaba (c) 2014

323 Kiszolgáló Kiszolgáló telepítése sudo apt-get install openssh-server -y Kiszolgáló indítása, leállítása, újraindítása, állapota sudo service ssh start|stop|restart|status A 22-es porton várja a kéréseket Nyilvános kulcsot a ~/.ssh/authorized_keys állományhoz kell hozzáadni Johanyák Zs. Csaba (c) 2014

324 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 Johanyák Zs. Csaba (c) 2014

325 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 Zs. Csaba (c) 2014

326 Tűzfal Tűzfal profil települ: /etc/ufw/applications.d/openssh-server sudo ufw allow OpenSSH Johanyák Zs. Csaba (c) 2014

327 OpenSSH átngedése a tűzfalon Johanyák Zs. Csaba (c) 2014

328 Ellenőrzés Fut-e? ps –A | grep sshd Milyen porton várja a kéréseket? ss –lnp | grep sshd Helyi bejelentkezés: ssh –v localhost Johanyák Zs. Csaba (c) 2014

329 Ellenőrzés Fogad-e kapcsolatot? sudo netstat --inet -lpn | grep sshd tcp : :* LISTEN /sshd Johanyák Zs. Csaba (c) 2014

330 Felhasználói szintű k onfigurálás ~/.ssh/config 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 Zs. Csaba (c) 2014

331 Ü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 Johanyák Zs. Csaba (c) 2014

332 Kulcsok generálása Johanyák Zs. Csaba (c) 2014

333 Ü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 Zs. Csaba (c) 2014

334

335 Központosított felhasználómenedzsment NIS LDAP Johanyák Zs. Csaba (c) 2014

336 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 Johanyák Zs. Csaba (c) 2014

337 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íthető ha a felhasználó bárhonnan jelentkezik be, ugyanaz a saját könyvtára Johanyák Zs. Csaba (c) 2014

338 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 Zs. Csaba (c) 2014

339 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 Zs. Csaba (c) 2014

340 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 Csoportok összeolvasztása: gshadow  group Minimális UID és GID (ez alatt nem oszt szét=titkos) Johanyák Zs. Csaba (c) 2014

341 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 Zs. Csaba (c) 2014

342 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 Zs. Csaba (c) 2014

343 Kliens beállítása szerver is lehet NIS kliens, ilyenkor egyébként pl.: xxx.xxx Johanyák Zs. Csaba (c) 2014

344 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 Zs. Csaba (c) 2014

345 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 Zs. Csaba (c) 2014

346 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 Zs. Csaba (c) 2014

347 Name Service Switch Pl.: passwd:files ldap hosts:files ldap dns netmasks:files Johanyák Zs. Csaba (c) 2014

348 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 Zs. Csaba (c) 2014

349 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 Zs. Csaba (c) 2014

350 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 Zs. Csaba (c) 2014

351 Internet tartomány név alapú fastruktúra DIT: directory information tree Hivatkozás a bejegyzésre:RFC4514,RFC4514 DN: distinguished name: uid=babs,ou=People,dc= example,dc=com RDN: Relative Distinguished Name uid=babs Johanyák Zs. Csaba (c) 2014 DC – Domain Component CN – Common Name OU – Organizational Unit

352 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 Zs. Csaba (c) 2014

353 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 Zs. Csaba (c) 2014

354 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 Zs. Csaba (c) 2014

355 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 Zs. Csaba (c) 2014

356 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 Zs. Csaba (c) 2014

357 slapd.conf # megjegyzés - ezek az egész adatbázisra érv. # első adatbázis database # második adatbázis database # további adatbázis definíciók Johanyák Zs. Csaba (c) 2014

358 LDAP szerver indítása önállóan (LDBM esetén ez ajánlott) $(ETCDIR)/slapd [ ]* inetd-vel indítva Johanyák Zs. Csaba (c) 2014

359 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 Johanyák Zs. Csaba (c) 2014

360 Linux hálózati adminisztráció Johanyák Zs. Csaba (c) 2014

361 Az előző előadás tartalmából Alkalmazások védelme AppArmor-ral Kerberos alapú szolgáltatáshozzáférés Távoli elérés SSH-val Központosított felhasználómenedzsment (NIS és LDAP) Johanyák Zs. Csaba (c) 2014

362 Szkriptek készítése Szkript – shell utasításokat tartalmazó program #!/bin/bash … (BASH utasítások) chmod ugo+x szkript.sh Indítás:./szkript_név.sh Indítás: /bin/bash szkript_név.sh Johanyák Zs. Csaba (c) 2014

363 Online bash szkript értelmező hp Johanyák Zs. Csaba (c) 2014

364 Változók 1 Utasítás eredménye változóba u=`id -u` a=`ls -la | grep -c "proba.txt"` b=`ls -la | grep -c "txt"` Változóban tárolt adat átadása parancsnak bemenő paraméterként echo $Vált | parancs Változó tartalma konzolra echo $u Kiírás a konzolra úgy, hogy a végén ne legyen újsor jel. Pl. adatbekérésnél lehet előnyös echo -n "Kérem a számot:" read a Johanyák Zs. Csaba (c) 2014

365 Változók 2 Numerikus változó deklarálása declare -i szam Konstans deklarálása declare –r v=3 Tömb deklarálása ARRAY[INDEXNR]=value (indirekt) declare -a ARRAYNAME (explicit) ARRAY=(value1 value2... valueN) (értékadással) Johanyák Zs. Csaba (c) 2014

366 Feltételes elágazás Johanyák Zs. Csaba (c) 2014

367 Feltételes elágazás if [ $a -gt 0 ] then echo "A proba.txt megtalálható az aktuális könyvtárban" elif [ $b -gt 0 ] then echo "A proba.txt nem található meg az aktuális könyvtárban, de vannak más txt nevűek" else echo "A proba.txt nem található meg az aktuális könyvtárban" fi Johanyák Zs. Csaba (c) 2014

368 Relációs opertátorok -eq - Equal to -lt - Less than -gt - Greater than -ge - Greater than or Equal to -le - Less than or Equal to Negálás: ! Johanyák Zs. Csaba (c) 2014

369 File related tests -f file - True if file exists and is a regular file. -r file - True if file exists and is readable. -w file - True if file exists and is writable. -x file - True if file exists and is executable. -d file - True if file exists and is a directory. -s file - True if file exists and has a size greater than zero. Johanyák Zs. Csaba (c) 2014

370 String tests -n str - True if string str is not a null string. -z str - True if string str is a null string. str1 == str2 - True if both strings are equal. str - True if string str is assigned a value and is not null. str1 != str2 - True if both strings are unequal. -s file - True if file exists and has a size greater than zero. Ha a feltételvizsgálatnál egy változó tartalmára sztringként kívánunk hivatkozni, akkor " "-idézőjelek közé kell tenni a hivatkozást: "$a" Johanyák Zs. Csaba (c) 2014

371 Feltételek összekapcsolása -a - Performs the AND function -o - Performs the OR function Johanyák Zs. Csaba (c) 2014

372 Többszörös elágazás Szétválasztja a szóközöknél és a negyedik elemet veszi, majd szétválasztja a vesszőnél és az első elemet veszi a=`date |cut -d" " -f4 |cut -d"," -f1` CASE szerkezet case $a in vasárnap) c=7;; hétfő) c=1;; kedd) c=2;; *) c=0;; esac echo $c echo "Ma a hét $c. napja van" Johanyák Zs. Csaba (c) 2014

373 Paraméterek Kiíratjuk az átvett paramétereket echo $1 $2 $3 A szkript neve echo $0 A paraméterek száma echo $# All of the positional parameters, seen as a single word echo $* Johanyák Zs. Csaba (c) 2014

374 Kifejezések $[ kifejezés ] $(( kifejezés #)) echo $a+$b = $(($a + $b)) Változó behelyettesítés Johanyák Zs. Csaba (c) 2014

375 Paraméterek Johanyák Zs. Csaba (c) 2014

376 Paraméterek Johanyák Zs. Csaba (c) 2014

377 Ciklus - WHILE WHILE ciklus Várakozunk, amíg okoska ki nem lép while [ `w | grep -c okoska` -gt 0 ] do sleep 5 done echo "Okoska kilépett!" Johanyák Zs. Csaba (c) 2014

378 Ciklus - UNTIL UNTIL ciklus Várakozunk, amíg valaki el nem indítja a Midnight Commander-t (pontosabban egy olyan programot, aminek a neve mc-vel kezdődik) until [ `ps -e | grep -c " mc"` -gt 0 ] do sleep 5 done echo "Valaki elindította a Midnight Commander-t!" Johanyák Zs. Csaba (c) 2014

379 Ciklus - FOR # FOR ciklus # Numerikus ciklusváltozóval for i in do echo "x értéke $i"; done # A keresési útvonalakból egy tömböt csinál, aminek minden eleme egy elérési út # A :-okat újsor jelekre cseréli Tomb=$(echo $PATH | tr ":" "\n") # Sorra veszi a tömb elemeit és kiírja a képernyőre for var in $Tomb do echo $var done Johanyák Zs. Csaba (c) 2014

380 Fájlnevek és tulajdonosok Johanyák Zs. Csaba (c) 2014

381 For lista nélkül Johanyák Zs. Csaba (c) 2014

382 Az aktuális könyvtár minden állománynevét kisbetűsre változtatja for f in * do k=`echo $f | tr A-Z a-z` # A nevet kisbetűsre if [ "$f" != "$k" ] # Ha a név nem kisbetűs then mv "./$f" "./$k" # Átnevez fi done Johanyák Zs. Csaba (c) 2014

383 Függvények használata Függvénynév() { utasítások } Függvényhívás Johanyák Zs. Csaba (c) 2014

384 Egy ip intervallum végig pingelése, és a működő gépek kijelzése mukodik_e() { echo -n $1 ping -c 1 $1 > /dev/null if [ $? -eq 0 ] then echo " működik." else echo " nem válaszol." fi } clear for i in {1..255} do mukodik_e $i done Johanyák Zs. Csaba (c) 2014

385 A Bash trap parancsa bashtrap() { echo "CTRL+C megnyomva!..." } trap bashtrap INT clear # Egy ciklus, hogy egyen idő kipróbálni for i in `seq 1 10` do sleep 5; done Johanyák Zs. Csaba (c) 2014

386 Adatbekérés a billentyűzetről echo "Add meg a neved : " read nev echo "Szia $nev, üdvözöllek!" # Készítsünk biztonsági másolatot a Dokumentumok könyvtárról # A névben legyen benne az időpont S=Mentes_$(date +%Y.%m.%d.%X).tar.gz tar -czf $S /home/hallgato/Dokumentumok Johanyák Zs. Csaba (c) 2014

387 Aritmetika - műveletek echo "Az első szám: " read a echo " A második szám: " & read b echo "Egyszerű műveletek:" # Az eredmény a "c" változóba kerül let c=$a+$b echo $a+$b=$c let c=$a-$b echo $a-$b=$c let c=$a*$b echo $a*$b=$c let c=$a/$b echo $a/$b=$c let c=$a%$b echo $a%$b=$c let c=$a**$b echo $a^$b=$c Johanyák Zs. Csaba (c) 2014

388 Értékadó és módosító operátorok (( a = 23 )) # Setting a value, C-style, #+ with spaces on both sides of the "=". echo "a (initial value) = $a" # 23 (( a++ )) # Post-increment 'a', C-style. echo "a (after a++) = $a" # 24 (( a-- )) # Post-decrement 'a', C-style. echo "a (after a--) = $a" # 23 (( ++a )) # Pre-increment 'a', C-style. echo "a (after ++a) = $a" # 24 (( --a )) # Pre-decrement 'a', C-style. echo "a (after --a) = $a" # 23 Johanyák Zs. Csaba (c) 2014

389 (( t = a<45?7:11 )) # C-style trinary operator. echo "If a < 45, then t = 7, else t = 11." # a = 23 echo "t = $t " # t = 7 Johanyák Zs. Csaba (c) 2014

390 Beépített változók $BASH - path to the Bash binary itself $EUID - "effective" user ID number $FUNCNAME - name of the current function $GROUPS - groups current user belongs to echo ${GROUPS[1]} $SECONDS - The number of seconds the script has been running $UID - User ID number $RANDOM : (előjeles 16-bites egész). Johanyák Zs. Csaba (c) 2014

391 Számrendszer váltás szam=$((2#10101)) echo $szam s=$((8#55)) echo $szam szam=$((16#E1A)) echo $szam Johanyák Zs. Csaba (c) 2014

392 Tömb Csak egydimenziós Létrehozás: area[11]=23 area[13]=37 area2=( egy kettő három négy öt ) base64_charset=( {A..Z} {a..z} {0..9} + / = ) Hivatkozás ({kapcsos zárójelek szükségesek}) echo -n "area[11] = " echo ${area[11]} Művelet area[5]=`expr ${area[11]} + ${area[13]}` Johanyák Zs. Csaba (c) 2014

393 Tömb # A keresési útvonalakból egy tömböt csinál, aminek # minden eleme egy elérési út # A :-okat újsor jelekre cseréli Tomb=$(echo $PATH | tr ":" "\n") # Sorra veszi a tömb elemeit, és kiírja a képernyőre for var in $Tomb do echo $var done Johanyák Zs. Csaba (c) 2014

394 Sztring Karaktertömb elemeinek száma: ${#Sztring} Hivatkozás karaktertömb egy részletére ${Sztring:Kezdo:Hossz} Egy poziciótól mind ${Sztring:Kezdo} Behelyettesítés (első előfordulás) ${Sztring/Mit/Mire} Behelyettesítés (összes előfordulás) ${Sztring//Mit/Mire} Johanyák Zs. Csaba (c) 2014

395 Sztring Törlés (legrövidebb illeszkedő részt) ${Sztring#Minta} Törlés (leghosszabb illeszkedő részt) ${Sztring##Minta} s=xdcCF295CF |---| legrövidebb | | leghosszabb echo ${s#c*F} echo ${s##c*F} Johanyák Zs. Csaba (c) 2014

396 Jelszógenerátor #!/bin/bash # jelszo.sh echo " " echo "- Véletlen jelszó generálása -" echo " " # Alapötlet: Antek Sawicki, # A jelszóban használt karakterek Karakterek=" ABCDEFGHIJKLMNOPQRSTUVWX YZabcdefghijklmnopqrstuvwxyz" # A jelszó hossza Hossz="8" # A jelszó karaktereit egyesével állítjuk elő Johanyák Zs. Csaba (c) 2014

397 Jelszógenerátor for i in `seq 1 $Hossz` do # A Karakterek tömb elemeinek száma ElemSzam=${#Karakterek} # Véletlenszám 1..ElemSzam-1 Veletlen=$(($RANDOM%$ElemSzam)) # A jelszó soron következő karaktere UjKar=${Karakterek:$Veletlen:1} # Hozzáadás az eddigi jelszóhoz Jelszo="$Jelszo$UjKar" # Az egészet egyetlen utasításban is megoldhatjuk # Jelszo="$Jelszo${Karakterek:$(($RANDOM%${#Karakterek})):1}" done echo "$Jelszo" Johanyák Zs. Csaba (c) 2014

398 Változók idézőjelek között Az idézőjel megakadályozza a speciális karakterek újraértelmezését és az elválasztást a whitespace karaktereknél List="one two three" for a in $List do echo "$a" done # one # two # three for a in "$List" do echo "$a" done # one two three Johanyák Zs. Csaba (c) 2014

399 Csoporttagságok #!/bin/bash # csoportok.sh CsoportSzam=${#GROUPS} echo "Csoportagságok száma: $CsoportSzam" for g in `seq 1 $CsoportSzam` do ((sgid=${GROUPS[$g]})) # Kiírja az egyes csoportazonosítókhoz tartozó csoportneveket awk -F':' -v gid="$sgid" '{ if ( $3 == gid ) {print $1} }' /etc/group done Johanyák Zs. Csaba (c) 2014

400 expr Concatenates and evaluates the arguments according to the operation given (arguments must be separated by spaces). Operations may be arithmetic, comparison, string, or logical. expr expr 5 \* 3 # Ez a szorzás y=`expr $y + 1` b=`expr $x = $y` # Test equality. b=`expr $a \> 10` b=`expr $a \<= 3` Johanyák Zs. Csaba (c) 2014

401 expr # length: length of string b=`expr length $a` b=`expr index $a 23` # Első előfordulás helye b=`expr substr $a 2 6` # Részsztring kivétele Johanyák Zs. Csaba (c) 2014

402 Menü select-tel PS3='Please enter your choice: ' options=("Option 1" "Option 2" "Option3" "Quit") select opt in do case $opt in "Option 1") echo "you chose choice 1" ;; "Option 2") echo "you chose choice 2" ;; "Option 3") echo "you chose choice 3" ;; "Quit") break ;; *) echo invalid option;; esac done Johanyák Zs. Csaba (c) 2014

403 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 Zs. Csaba (c) 2014

404 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 Zs. Csaba (c) 2014

405 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 Zs. Csaba (c) 2014

406 Linux hálózati adminisztráció Johanyák Zs. Csaba (c) 2014

407 Az előző előadás tartalmából Szkriptek készítése és futtatása Változók Feltételes elágazások Ciklusok Függvények Johanyák Zs. Csaba (c) 2014

408 M0n0wall NAT + tűzfal PAT Proxy ARP Johanyák Zs. Csaba (c) 2014

409 NAT típusok Inbound NAT Server NAT 1:1 NAT Outbound NAT Demo Johanyák Zs. Csaba (c) 2014

410 Linux hálózati adminisztráció Johanyák Zs. Csaba (c) 2014

411 OpenVPN Állandó OpenVPN kapcsolat megvalósítása két alhálózat között Demo Johanyák Zs. Csaba (c) 2014

412 Linux hálózati adminisztráció Johanyák Zs. Csaba (c) 2014

413

414 Fontos protokollok SMTP - Simple Mail Transfer Protocol POP3 - Post Office Protocol IMAP - Internet Message Access Protocol HTTP Johanyák Zs. Csaba (c) 2014

415 SMTP - hagyományosan Johanyák Zs. Csaba (c) 2014 felhasználó terminálnál MUA Várakozó sor MTA Relay MTA MDA MUA Várakozó sor felhasználó terminálnál Várakozó sor Küldő gép A szervezet Internet Fogadó gép B szervezet

416 Aktuális megoldások Johanyák Zs. Csaba (c) 2014

417 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 Zs. Csaba (c) 2014

418 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 Johanyák Zs. Csaba (c) 2014 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 generated by sender’s user agent

419 Szerverek lekérdezése Johanyák Zs. Csaba (c) 2014

420 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) Johanyák Zs. Csaba (c) 2014

421 Solution: SMTP extensions MIME – Multipurpose Internet Mail Extensions Transforms non-ASCII data to NVT (Network Virtual Terminal) ASCII data Text Application Image Audio Video Johanyák Zs. Csaba (c) 2014 RFC 1425, 1426, 1521

422 SMTP AUTH 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 \0 \0 Authentication string is Base64 encoded Johanyák Zs. Csaba (c) 2014 RFC 1869, 2554, 2595 MTA Client MTA Server TCP Connection Establishment 220 Service Ready EHLO stimpy.cis.udel.edu 250 Hello stimpy.cis.udel.edu AUTH PLAIN AGV6cmEAYg== 235 Authentication Succeeded MAIL FROM: 250 OK RCPT TO: 250 OK Negotiate Encryption (STARTTLS)

423 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 Johanyák Zs. Csaba (c) 2014 Solutions signatures (PGP) Sender Policy Framework (SPF)

424 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 Johanyák Zs. Csaba (c) 2014

425 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 Johanyák Zs. Csaba (c) 2014

426 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 Johanyák Zs. Csaba (c) 2014

427 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 Johanyák Zs. Csaba (c) 2014

428 Postfix MTA – levelek küldése és fogadása sudo apt-get install postfix Johanyák Zs. Csaba (c) 2014

429 Konfiguráció folytatás sudo dpkg-reconfigure postfix Johanyák Zs. Csaba (c) 2014

430 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 Zs. Csaba (c) 2014

431 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 Johanyák Zs. Csaba (c) 2014 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

432 Johanyák Zs. Csaba (c) 2014

433 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 Johanyák Zs. Csaba (c) 2014

434 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 Johanyák Zs. Csaba (c) 2014

435 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 []:. Johanyák Zs. Csaba (c) 2014

436 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 Zs. Csaba (c) 2014

437 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 Zs. Csaba (c) 2014

438 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 Zs. Csaba (c) 2014

439 # 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 # Kényszerítjük-e a felhasználókat, hogy # 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 Zs. Csaba (c) 2014

440 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 Johanyák Zs. Csaba (c) 2014

441 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 Johanyák Zs. Csaba (c) 2014


Letölteni ppt "MIN7K0IN MIN4B0RFN. Követelmények nappali tagozaton Előadás ZH november 18. (pótlás dec. 2) Megszerezhető: 40 pont Minimum követelmény: 20 pont Gyakorlati."

Hasonló előadás


Google Hirdetések