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

Linux hálózati adminisztráció

Hasonló előadás


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

1 Linux hálózati adminisztráció
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ó Dr. Johanyák Zsolt Csaba
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 IP alapok (Ismétlés) Johanyák Zs. Csaba (c) 2014

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

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

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

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

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
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 APIPA – segítségével egy Windows-os DHCP ügyfél automatikus TCP/IP konfigurációra képes ha nem talál DHCP kiszolgálót. Zárt alhálózaton, ha nincs routolás. Kis hálózaton működik. 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”. APIPA – segítségével egy Windows-os DHCP ügyfél automatikus TCP/IP konfigurációra képes ha nem talál DHCP kiszolgálót. Zárt alhálózaton, ha nincs routolás. Kis hálózaton működik. 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 APIPA – segítségével egy Windows-os DHCP ügyfél automatikus TCP/IP konfigurációra képes ha nem talál DHCP kiszolgálót. Zárt alhálózaton, ha nincs routolás. Kis hálózaton működik. 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ózati, é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: A hálózati maszk segítségével állapítható meg, hogy az IP cím mely része azonosítja a hálózatot és mely része az interfészt. Alhálózatoknál a hoszt ID rész néhány bitjét használják az alhálózat beazonosítására. A hálózati maszkban ezek a bitek is 1-es értékűek. Helyi hálózaton van-e a célállomás? Bitenkénti ÉS művelet. Miért szükséges az alhálózatok kialakítása? Johanyák Zs. Csaba (c) 2014

18 Jelöl Címek Alháló maszk d. Alháló maszk bin. /8 16777216 255.0.0.0
/9 128x65536 /10 64x65536 /11 32x65536 /12 16x65536 /13 8x65536 /14 4x65536 /15 2x65536 /16 1x65536 /17 128x256 /18 64x256 /19 32x256 /20 16x256 /21 8x256 Johanyák Zs. Csaba (c) 2014

19 Jelöl Címek Alháló maszk d. Alháló maszk bin. /22 4x256 255.255.252.0
/23 2x256 /24 1x256 /25 128x1 /26 64x1 /27 32x1 /28 16x1 /29 8x1 /30 4x1 /31 2x1 /32 1x1 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 Broadcast nincs – helyét a multicast veszi át Szintaktikailag az anycast cím nem különböztethető meg az unicast címtől A hierarchikus címkiosztás megkönnyíti az útválasztás megoldását. 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) Broadcast nincs – helyét a multicast veszi át Szintaktikailag az anycast cím nem különböztethető meg az unicast címtől A hierarchikus címkiosztás megkönnyíti az útválasztás megoldását. 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 3FFE:085B:1F1F:0000:0000:0000:00A9:1234
8 csoport 16-bites hexa számokból, elválasztó jel “:” Kezdő nullák elhagyhatók 3FFE:85B:1F1F::A9:1234 :: = egy vagy több egymást követő csoportban csak nullák vannak Johanyák Zs. Csaba (c) 2014

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 hatókör 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 Global Unicast Addresses IPv6 global addresses are equivalent to public IPv4 addresses. They are globally routable and reachable on the IPv6 Internet. Global unicast addresses are designed to be aggregated or summarized for an efficient routing infrastructure. Unlike the current IPv4-based Internet, which is a mixture of both flat and hierarchical routing, the IPv6-based Internet has been designed from its foundation to support efficient, hierarchical addressing and routing. The scope of a global address is the entire IPv6 Internet. RFC 4291 defines global addresses as all addresses that are not the unspecified, loopback, link-local unicast, or multicast addresses. However, Figure shows the structure of global unicast addresses defined in RFC 3587 that are currently being used on the IPv6 Internet. The structure of global unicast addresses defined in RFC 3587 The fields in the global unicast address are described in the following list: Fixed portion set to 001 the three high-order bits are set to 001. Global Routing Prefix Indicates the global routing prefix for a specific organization’s site. The combination of the three fixed bits and the 45-bit Global Routing Prefix is used to create a 48-bit site prefix, which is assigned to an individual site of an organization. A site is an autonomously operating IP-based network that is connected to the IPv6 Internet. Network architects and administrators within the site determine the addressing plan and routing policy for the organization network. Once assigned, routers on the IPv6 Internet forward IPv6 traffic matching the 48-bit prefix to the routers of the organization’s site. Subnet ID The Subnet ID is used within an organization’s site to identify subnets within its site. The size of this field is 16 bits. The organization’s site can use these 16 bits within its site to create 65,536 subnets or multiple levels of addressing hierarchy and an efficient routing infrastructure. With 16 bits of subnetting flexibility, a global unicast prefix assigned to an organization site is equivalent to a public IPv4 Class A address prefix (assuming that the last octet is used for identifying nodes on subnets). The routing structure of the organization’s network is not visible to the ISP. Interface ID Indicates the interface on a specific subnet within the site. The size of this field is 64 bits. The interface ID in IPv6 is equivalent to the node ID or host ID in IPv4. Forrás: 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:: Site-Local Addresses FEC0:: through FFFF:: represent a particular site or company. These addresses can be used within a company without having to waste any public IP addresses—not that this is a concern, given the large number of addresses available in IPv6. However, by using private addresses, you can easily control who is allowed to leave your network and get returning traffic back by setting up address translation policies for IPv6. Site-local addresses, identified by setting the first 10 bits to , are equivalent to the IPv4 private address space ( /8, /12, and /16). For example, private intranets that do not have a direct, routed connection to the IPv6 Internet can use site local addresses without conflicting with global addresses. Site-local addresses are not reachable from other sites, and routers must not forward site-local traffic outside the site. Site-local addresses can be used in addition to global addresses. The scope of a site-local address is the site. Unlike link-local addresses, site-local addresses are not automatically configured and must be assigned either through stateless or stateful address autoconfiguration. The first 10 bits are always fixed for site-local addresses, beginning with FEC0::/10. After the 10 fixed bits is a 54-bit Subnet ID field that provides 54 bits with which you can create subnets within your organization. You can have a flat subnet structure, or you can divide the high order bits of the Subnet ID field to create a hierarchical and summarize able routing infrastructure. After the Subnet ID field is a 64-bit Interface ID field that identifies a specific interface on a subnet. Site-local addresses have been formally deprecated in RFC 3879 for future IPv6 implementations. However, existing implementations of IPv6 can continue to use site-local addresses. Forrás: 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 Unique Local Addresses Site-local addresses provide a private addressing alternative to global addresses for intranet traffic. However, because the site-local address prefix can be reused to address multiple sites within an organization, a site-local address prefix can be duplicated. The ambiguity of site local addresses in an organization adds complexity and difficulty for applications, routers, and network managers. To replace site-local addresses with a new type of address that is private to an organization yet unique across all the sites of the organization, RFC 4193 defines unique local IPv6 unicast addresses. The first 7 bits have the fixed binary value of All local addresses have the address prefix FC00::/7. The Local (L) flag is set 1 to indicate that the prefix is locally assigned. The L flag value set to 0 is not defined in RFC Therefore, unique local addresses within an organization with the L flag set to 1 have the address prefix of FD00::/8. The Global ID identifies a specific site within an organization and is set to a randomly derived 40-bit value. By deriving a random value for the Global ID, an organization can have statistically unique 48-bit prefixes assigned to their sites. Additionally, two organizations that use unique local addresses that merge have a low probability of duplicating a 48-bit unique local address prefix, minimizing site renumbering. Unlike the Global Routing Prefix in global addresses, the Global IDs in unique local address prefixes are not designed to be summarized. Unique local addresses have a global scope, but their reach ability is defined by routing topology and filtering policies at Internet boundaries. Organizations will not advertise their unique local address prefixes outside of their organizations or create DNS entries with unique local addresses in the Internet DNS. Organizations can easily create filtering policies at their Internet boundaries to prevent all unique local-addressed traffic from being forwarded. Because they have a global scope, unique local addresses do not need a zone ID. The global address and unique local address share the same structure beyond the first 48 bits of the address. In both addresses, the 16-bit Subnet ID field identifies a subnet within an organization. Because of this, you can create a subnetted routing infrastructure that is used for both local and global addresses. For example, a specific subnet of your organization can be assigned both the global prefix 2001:DB8:4D1C:221A::/64 and the local prefix FD0E:2D:BA9:221A::/64, where the subnet is identified for both types of prefixes by the Subnet ID value of 221A. Although the subnet identifier is the same for both prefixes, routes for both prefixes must still be propagated throughout the routing infrastructure so that addresses based on both prefixes are reachable. Forrás: 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 Link-Local Addresses FE80::/64 Link-local addresses are a new concept in IPv6. These kinds of addresses have a smaller scope as to how far they can travel: just the local link (the data link layer link). Routers will process packets destined to a link-local address, but they will not forward them to other links. Their most common use is for a device to acquire unicast site-local or global unicast addressing information, discovering the default gateway, and discovering other layer 2 neighbors on the segment. IPv6 link-local addresses, identified by the initial 10 bits being set to and the next 54 bits set to 0, are used by nodes when communicating with neighboring nodes on the same link. For example, on a single-link IPv6 network with no router, link-local addresses are used to communicate between hosts on the link. IPv6 link-local addresses are similar to IPv4 link-local addresses defined in RFC 3927 that use the /16 prefix. The use of IPv4 link-local addresses is known as Automatic Private IP Addressing (APIPA) in Windows Vista, Windows Server 2008, Windows Server 2003, and Windows XP. The scope of a link local address is the local link. A link-local address is required for some Neighbor Discovery processes and is always automatically configured, even in the absence of all other unicast addresses. Link-local addresses always begin with FE80. With the 64-bit interface identifier, the prefix for link-local addresses is always FE80::/64. An IPv6 router never forwards link-local traffic beyond the link. Forrás: 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 Scope The Scope field indicates the scope of the IPv6 internetwork for which the multicast traffic is intended. The size of this field is 4 bits. In addition to information provided by multicast routing protocols, routers use the multicast scope to determine whether multicast traffic can be forwarded. Johanyák Zs. Csaba (c) 2014

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

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 IPv6 Anycast Addresses Anycast addresses are a new, unique type of address that is new to IP in IPv6; the IPv6 implementation is based on the material in RFC 1546, Host Anycasting Service. Anycast addresses can be considered a conceptual cross between unicast and multicast addressing. Where unicast says “send to this one address” and multicast says “send to every member of this group”, anycast says “send to any one member of this group”. Naturally, in choosing which member to send to, we would for efficiency reasons normally send to the closest one—closest in routing terms. So we can normally also consider anycast to mean “send to the closest member of this group”. The idea behind anycast is to enable functionality that was previously difficult to implement in TCP/IP. Anycast was specifically intended to provide flexibility in situations where we need a service that is provided by a number of different servers or routers but don't really care which one provides it. In routing, anycast allows datagrams to be sent to whichever router in a group of equivalent routers is closest, to allow load sharing amongst routers and dynamic flexibility if certain routers go out of service. Datagrams sent to the anycast address will automatically be delivered to the device that is easiest to reach. Perhaps surprisingly, there is no special anycast addressing scheme: anycast addresses are the same as unicast addresses. An anycast address is created “automatically” when a unicast address is assigned to more than one interface. Like multicast, anycast creates more work for routers; it is more complicated than unicast addressing. In particular, the further apart the devices that share the anycast address are, the more complexity is created. Anycasting across the global Internet would be potentially difficult to implement, and IPv6 anycasting was designed for devices that are proximate to each other, generally in the same network. Also, due to the relative inexperience of the Internet community in using anycast, for the present time anycast addresses are used only by routers and not individual hosts Forrás: Johanyák Zs. Csaba (c) 2014

35 TCP/IP hivatkozási modell
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 Johanyák Zs. Csaba (c) 2014

36 TCP/IP Protokollok 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, Johanyák Zs. Csaba (c) 2014

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. Multicast: gépcsoportoknak szóló Hosztok: itt a csoportban résztvenni kívánó gépek ICMP-üzenet: Leírás Visszhangkérés: Eldönti, hogy egy IP-csomópont (egy állomás vagy egy útválasztó) elérhető-e a hálózaton. Visszhangválasz: Válaszol az ICMP-visszhangkérésre. A cél nem érhető el: Tájékoztatja az állomást, hogy a datagram nem kézbesíthető. Forráselnyomás: Túlterheltség esetén tájékoztatja a küldő állomást, hogy csökkentse a datagramok küldésének sebességét. Átirányítás: A küldő állomást egy előnyösebb útról tájékoztatja. Időtúllépés: Jelzi, hogy egy IP-datagram élettartama (TTL) lejárt. IGMP Az IGMP (Internet Group Management Protocol) egy internet szabvány, amely lehetővé teszi egy internetre csatlakozott számítógépnek, hogy a szomszédos routerekkel közölje, hogy egy multicast csoport tagja. A multicasting lehetővé teszi, hogy egy felhasználó ugyanazt a tartalmat egy teljes csoport számára hozzáférhetővé tegye. Ez az eljárás például a címjegyzékek összehangolásához, a hírlevelek kézbesítéséhez, és a médiatartalmakstreameléséhez nagyon hasznos 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. Multicast: gépcsoportoknak szóló Hosztok: itt a csoportban résztvenni kívánó gépek ICMP-üzenet: Leírás Visszhangkérés: Eldönti, hogy egy IP-csomópont (egy állomás vagy egy útválasztó) elérhető-e a hálózaton. Visszhangválasz: Válaszol az ICMP-visszhangkérésre. A cél nem érhető el: Tájékoztatja az állomást, hogy a datagram nem kézbesíthető. Forráselnyomás: Túlterheltség esetén tájékoztatja a küldő állomást, hogy csökkentse a datagramok küldésének sebességét. Átirányítás: A küldő állomást egy előnyösebb útról tájékoztatja. Időtúllépés: Jelzi, hogy egy IP-datagram élettartama (TTL) lejárt. IGMP Az IGMP (Internet Group Management Protocol) egy internet szabvány, amely lehetővé teszi egy internetre csatlakozott számítógépnek, hogy a szomszédos routerekkel közölje, hogy egy multicast csoport tagja. A multicasting lehetővé teszi, hogy egy felhasználó ugyanazt a tartalmat egy teljes csoport számára hozzáférhetővé tegye. Ez az eljárás például a címjegyzékek összehangolásához, a hírlevelek kézbesítéséhez, és a médiatartalmakstreameléséhez nagyon hasznos 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. Multicast: gépcsoportoknak szóló Hosztok: itt a csoportban résztvenni kívánó gépek ICMP-üzenet: Leírás Visszhangkérés: Eldönti, hogy egy IP-csomópont (egy állomás vagy egy útválasztó) elérhető-e a hálózaton. Visszhangválasz: Válaszol az ICMP-visszhangkérésre. A cél nem érhető el: Tájékoztatja az állomást, hogy a datagram nem kézbesíthető. Forráselnyomás: Túlterheltség esetén tájékoztatja a küldő állomást, hogy csökkentse a datagramok küldésének sebességét. Átirányítás: A küldő állomást egy előnyösebb útról tájékoztatja. Időtúllépés: Jelzi, hogy egy IP-datagram élettartama (TTL) lejárt. IGMP Az IGMP (Internet Group Management Protocol) egy internet szabvány, amely lehetővé teszi egy internetre csatlakozott számítógépnek, hogy a szomszédos routerekkel közölje, hogy egy multicast csoport tagja. A multicasting lehetővé teszi, hogy egy felhasználó ugyanazt a tartalmat egy teljes csoport számára hozzáférhetővé tegye. Ez az eljárás például a címjegyzékek összehangolásához, a hírlevelek kézbesítéséhez, és a médiatartalmakstreameléséhez nagyon hasznos 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. SNMP Az SNMP segítségével a TCP/IP család minden rétegét lehet vezérelni, mint például alkalmazás rétegbeli adatbázisokat, szervert, Java EE referenciamodelleket, de akár routerek beállításait is. Az SNMP a szerver kliens felépítést követi. A menedzselhető eszközön fut egy snmp daemon - a szerver -, amely többnyire a 161 és 162-es portokon figyel a kérésekre. A kéréseket a menedzselő állomás - a kliens - küldi, ez leggyakrabban egy számítógép, amely előtt az adott rendszer adminisztrátora ül. Az SNMP modell 4 összetevője: 1) Felügyelt csomópontok 2) Felügyeleti állomások 3) Felügyeleti folyamat (információ) 4) SNMP protokoll (Felügyeleti protokoll) SMTP Az SMTP (Simple Mail Transfer Protocol) egy TCP/IP protokoll, amelyet a levelek küldésénél és fogadásánál használnak. De mivel korlátozott funkciókat képes csak ellátni, ezért a legtöbb esetben a POP3-mal vagy az IMAP-pal kiegészítve használják, amelyek lehetővé teszik a felhasználó számára, hogy letöltse és elmentse üzeneteit. Vagyis egy program általában SMTP-t használ a levelek kiküldéséhez, a fogadáshoz viszont már POP3-at vagy IMAP-ot. Legújabb változata az ESMTP, amely lehetővé teszi multimédiás tartalmak  en keresztüli küldését. 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 <input type=hidden name=session_id value=”1956″>) vagy az URL-ben kódolt paraméterek (például: /index.php?userid=3) használata illetve a szerveroldali állapotmegőrzés. SNMP Az SNMP segítségével a TCP/IP család minden rétegét lehet vezérelni, mint például alkalmazás rétegbeli adatbázisokat, szervert, Java EE referenciamodelleket, de akár routerek beállításait is. Az SNMP a szerver kliens felépítést követi. A menedzselhető eszközön fut egy snmp daemon - a szerver -, amely többnyire a 161 és 162-es portokon figyel a kérésekre. A kéréseket a menedzselő állomás - a kliens - küldi, ez leggyakrabban egy számítógép, amely előtt az adott rendszer adminisztrátora ül. Az SNMP modell 4 összetevője: 1) Felügyelt csomópontok 2) Felügyeleti állomások 3) Felügyeleti folyamat (információ) 4) SNMP protokoll (Felügyeleti protokoll) SMTP Az SMTP (Simple Mail Transfer Protocol) egy TCP/IP protokoll, amelyet a levelek küldésénél és fogadásánál használnak. De mivel korlátozott funkciókat képes csak ellátni, ezért a legtöbb esetben a POP3-mal vagy az IMAP-pal kiegészítve használják, amelyek lehetővé teszik a felhasználó számára, hogy letöltse és elmentse üzeneteit. Vagyis egy program általában SMTP-t használ a levelek kiküldéséhez, a fogadáshoz viszont már POP3-at vagy IMAP-ot. Legújabb változata az ESMTP, amely lehetővé teszi multimédiás tartalmak  en keresztüli küldését. 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. SNMP Az SNMP segítségével a TCP/IP család minden rétegét lehet vezérelni, mint például alkalmazás rétegbeli adatbázisokat, szervert, Java EE referenciamodelleket, de akár routerek beállításait is. Az SNMP a szerver kliens felépítést követi. A menedzselhető eszközön fut egy snmp daemon - a szerver -, amely többnyire a 161 és 162-es portokon figyel a kérésekre. A kéréseket a menedzselő állomás - a kliens - küldi, ez leggyakrabban egy számítógép, amely előtt az adott rendszer adminisztrátora ül. Az SNMP modell 4 összetevője: 1) Felügyelt csomópontok 2) Felügyeleti állomások 3) Felügyeleti folyamat (információ) 4) SNMP protokoll (Felügyeleti protokoll) SMTP Az SMTP (Simple Mail Transfer Protocol) egy TCP/IP protokoll, amelyet a levelek küldésénél és fogadásánál használnak. De mivel korlátozott funkciókat képes csak ellátni, ezért a legtöbb esetben a POP3-mal vagy az IMAP-pal kiegészítve használják, amelyek lehetővé teszik a felhasználó számára, hogy letöltse és elmentse üzeneteit. Vagyis egy program általában SMTP-t használ a levelek kiküldéséhez, a fogadáshoz viszont már POP3-at vagy IMAP-ot. Legújabb változata az ESMTP, amely lehetővé teszi multimédiás tartalmak  en keresztüli küldését. 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. SNMP Az SNMP segítségével a TCP/IP család minden rétegét lehet vezérelni, mint például alkalmazás rétegbeli adatbázisokat, szervert, Java EE referenciamodelleket, de akár routerek beállításait is. Az SNMP a szerver kliens felépítést követi. A menedzselhető eszközön fut egy snmp daemon - a szerver -, amely többnyire a 161 és 162-es portokon figyel a kérésekre. A kéréseket a menedzselő állomás - a kliens - küldi, ez leggyakrabban egy számítógép, amely előtt az adott rendszer adminisztrátora ül. Az SNMP modell 4 összetevője: 1) Felügyelt csomópontok 2) Felügyeleti állomások 3) Felügyeleti folyamat (információ) 4) SNMP protokoll (Felügyeleti protokoll) SMTP Az SMTP (Simple Mail Transfer Protocol) egy TCP/IP protokoll, amelyet a levelek küldésénél és fogadásánál használnak. De mivel korlátozott funkciókat képes csak ellátni, ezért a legtöbb esetben a POP3-mal vagy az IMAP-pal kiegészítve használják, amelyek lehetővé teszik a felhasználó számára, hogy letöltse és elmentse üzeneteit. Vagyis egy program általában SMTP-t használ a levelek kiküldéséhez, a fogadáshoz viszont már POP3-at vagy IMAP-ot. Legújabb változata az ESMTP, amely lehetővé teszi multimédiás tartalmak  en keresztüli küldését. 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. SNMP Az SNMP segítségével a TCP/IP család minden rétegét lehet vezérelni, mint például alkalmazás rétegbeli adatbázisokat, szervert, Java EE referenciamodelleket, de akár routerek beállításait is. Az SNMP a szerver kliens felépítést követi. A menedzselhető eszközön fut egy snmp daemon - a szerver -, amely többnyire a 161 és 162-es portokon figyel a kérésekre. A kéréseket a menedzselő állomás - a kliens - küldi, ez leggyakrabban egy számítógép, amely előtt az adott rendszer adminisztrátora ül. Az SNMP modell 4 összetevője: 1) Felügyelt csomópontok 2) Felügyeleti állomások 3) Felügyeleti folyamat (információ) 4) SNMP protokoll (Felügyeleti protokoll) SMTP Az SMTP (Simple Mail Transfer Protocol) egy TCP/IP protokoll, amelyet a levelek küldésénél és fogadásánál használnak. De mivel korlátozott funkciókat képes csak ellátni, ezért a legtöbb esetben a POP3-mal vagy az IMAP-pal kiegészítve használják, amelyek lehetővé teszik a felhasználó számára, hogy letöltse és elmentse üzeneteit. Vagyis egy program általában SMTP-t használ a levelek kiküldéséhez, a fogadáshoz viszont már POP3-at vagy IMAP-ot. Legújabb változata az ESMTP, amely lehetővé teszi multimédiás tartalmak  en keresztüli küldését. 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. SNMP Az SNMP segítségével a TCP/IP család minden rétegét lehet vezérelni, mint például alkalmazás rétegbeli adatbázisokat, szervert, Java EE referenciamodelleket, de akár routerek beállításait is. Az SNMP a szerver kliens felépítést követi. A menedzselhető eszközön fut egy snmp daemon - a szerver -, amely többnyire a 161 és 162-es portokon figyel a kérésekre. A kéréseket a menedzselő állomás - a kliens - küldi, ez leggyakrabban egy számítógép, amely előtt az adott rendszer adminisztrátora ül. Az SNMP modell 4 összetevője: 1) Felügyelt csomópontok 2) Felügyeleti állomások 3) Felügyeleti folyamat (információ) 4) SNMP protokoll (Felügyeleti protokoll) SMTP Az SMTP (Simple Mail Transfer Protocol) egy TCP/IP protokoll, amelyet a levelek küldésénél és fogadásánál használnak. De mivel korlátozott funkciókat képes csak ellátni, ezért a legtöbb esetben a POP3-mal vagy az IMAP-pal kiegészítve használják, amelyek lehetővé teszik a felhasználó számára, hogy letöltse és elmentse üzeneteit. Vagyis egy program általában SMTP-t használ a levelek kiküldéséhez, a fogadáshoz viszont már POP3-at vagy IMAP-ot. Legújabb változata az ESMTP, amely lehetővé teszi multimédiás tartalmak  en keresztüli küldését. Johanyák Zs. Csaba (c) 2014

46 Történeti áttekintés Egyéni feldolgozásra Johanyák Zs. Csaba (c) 2014

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

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

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

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

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

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

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 2. előadás 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 Szoftver csomagok kezelése
Johanyák Zs. Csaba (c) 2014

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 Az APT a háttérben a dpkg-t használja. 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 Unattended-Upgrade::Allowed-Origins – milyen forrásból engedélyezzük Unattended-Upgrade::Package-Blacklist – milyen csomagokat tiltunk 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 Felhasználói felület Johanyák Zs. Csaba (c) 2014

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

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
Metacity GNOME Compiz GNOME, KDE KWin KDE Xfwm Xfce wmii Unity Ratpoison twm- az X11-el szállított alap ak. evilwm Enlightenment Johanyák 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ás X.Org (http://www.x.org/wiki/) 2004-től az XFree86 egy korábbi, szabad licenszű változatából kezdték fejleszteni Legtöbb Linux disztribúció X.Org-ot használ Johanyák Zs. Csaba (c) 2014

84 Linux desktopok http://en.wikipedia.org/wiki/Desktop_environment
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 Karakteres felület Johanyák Zs. Csaba (c) 2014

87 Bejelentkezés Ubuntu 14. 04 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! Miért kell leállítani és nem egyszerűen áramtalanítani? Lemezgyorsítótár a memóriában és i-node rendszert leíró tábla. Johanyák Zs. Csaba (c) 2014

89 Súgó man parancsnév info parancsnév /usr/share/doc
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 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ó programok1 ed egyszerre a szöveg egy sorát képes feldolgozni
nano vi üzemmódok: parancs (ESC)/beviteli(a,i,o)/ex(:) mentés és kilépés :wq joe (súgó: Ctrl-K-H) 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 Ctrl C kilépés mentés nélkül
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ó programok2 mcedit proba pico (pine) emacs
Johanyák Zs. Csaba (c) 2014

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

105 DHCP Ez a protokoll azt oldja meg, hogy a TCP/IP hálózatra csatlakozó hálózati végpontok (például számítógépek) automatikusan megkapják a hálózat használatához szükséges beállításokat. A DHCP szerver-kliens alapú protokoll, nagy vonalakban a kliensek által küldött DHCP kérésekből, és a szerver által adott DHCP válaszokból áll. Johanyák Zs. Csaba (c) 2014

106 DHCP üzenetek Ügyfél Kiszolgáló DHCP discover Szórt üzenet
Ügyfél Kiszolgáló DHCP offer Szórt üzenet Ügyfél Kiszolgáló DHCP request Szórt üzenet Dynamic Host Configuration Protocol – központosított TCP/IP konfiguráció kiosztás előre meghatározott bérleti idővel (érvényességi idő). Ha több alhálózatra is ki akarjuk terjeszteni a szolgáltatást, akkor a hálózatokat összekapcsoló elemeken DHCP Relay Agent (továbbító ügynök) programot kell telepíteni. A DHCP üzeneteket nyomon követhetjük a /var/log/messages naplóállományban. Ügyfél Kiszolgáló DHCP ack Szórt üzenet Johanyák Zs. Csaba (c) 2014 /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 A kiszolgáló több hálókártyán keresztül különböző alhálózatokat (akár eltérő IP címtartományokkal) láthat el konfigurációval, így hatóköröket (scope) különböztethetünk meg. Beállítás után aktiválni kell a hatókört. Ha tartományban van a kiszolgáló gép, akkor engedélyeztetni is kell. Ezt Vállalati rendszergazdák tartományi csoport tagja teheti meg Windows szerveren. Internet megosztásnál még a Windows XP is képes DHCP szerverként működni. 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 A telepítést követően a telepítő megkísérli elindítani a kiszolgálót, de az a megfelelő konfigurálás hiányában nem fog működni. 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 Kiszolgálónk felelős a szolgáltatással megcélzott alhálózatért (authoritative). Nem támogatott a dinamikus DNS frissítés (ddns-update-style). A DNS tartomány: gamf.hu (option domain-name). Két DNS kiszolgálónk címe: , (option domain-name-servers). Az üzenetszórási cím a kiszolgált alhálózatban: (option broadcast-address). Az alapértelmezett átjáró: (option routers). Az alhálózati maszk: (option subnet-mask). Az alapértelmezett bérleti idő: 10 perc (default-lease-time). Maximális idő, amíg használható a konfiguráció: 2 óra (max-lease-time). Ha engedélyezzük a dinamikus DNS frissítést, akkor a DHCP szerver bejegyezheti az ezt engedélyező DNS szerveren a klienst. Elvileg lehetőség van arra is, hogy a kliens tegye meg ezt, de biztonsági okokból ennek az opciónak a tiltása ajánlott. A DDNS konfiguráció részletes beállítása itt olvasható: https://wiki.debian.org/DDNS és itt 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 ; A paramétereket megadhatjuk alhálózati szinten is. Rögzített IPv4 cím kiosztása a belzebub gép számára (host). Dinamikus IPv4 címkiosztás a tartományból a többi ügyfél (jelen esetben a Windows 7) számára (subnet). PXE Boot forrást is megadhat a DHCP kiszolgáló, a megoldás leírása itt olvasható. 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 DHCP szolgáltatás nyújtása az eth1 interfészen. Johanyák Zs. Csaba (c) 2014

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

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

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 3. előadás Linux hálózati adminisztráció Johanyák Zs. Csaba (c) 2014

120 Névfeloldás Johanyák Zs. Csaba (c) 2014

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 Destop OS-ben a hálózati beállításokat a NetworkManager szoftver kezeli. Ez a Dnsmasq egy egyszerűsített változatát használja a névfeloldáshoz. Ezért ha parancssorban egy nslookup lekérdezést hajtunk végre, akkor a lokális gép ( #53) válaszol non-autoritatív szerverként. A Dnsmasq egy pehelysúlyú DNS és DHCP kiszolgáló szoftver, amit a dnsmasq csomaggal lehet telepíteni. 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 Korábbi Linuxokban ez egy szerkeszthető állomány volt, ahova kézzel be lehetett írni a névkiszolgálókat. Ha a gépünk DHCP-vel kapja a konfigurációt, akkor először be kell állítani, hogy ne kérje a névkiszolgálókat és a keresési tartományt, majd beállítjuk /etc/network/interfaces-ben. Ha a dinamikusan kapott adatokhoz csak hozzáfűzni szeretnénk újabbat, akkor az append opcióval tehetjük. 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 Rekurzív névfeloldást végző szerver
Ábra forrása: Verisign Domain Name Industry Brief, June 2007 (PDF), utolsó oldal. Johanyák Zs. Csaba (c) 2014

128 BIND Berkeley Internet Name Domain
leggyakrabban használt DNS implementáció (ISC) BIND 9 https://help.ubuntu.com/community/BIND9ServerHowto 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 A CO NS lekérdezi a számára megadott (forwarders) névszervereket, és tárolja az eredményt a későbbi lekérdezésekhez. Nem felelős/autoratív semmilyen zóna vonatkozásában. Johanyák 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" { file "/etc/bind/ "; Johanyák Zs. Csaba (c) 2014

137 Zónatípusok Névfeloldáshoz Címfeloldáshoz (inverz 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 Az otthon.hu zóna alatt nem látszik, hogy a szerverek közül melyik a master és melyik a slave. Az NS rekordoknak elsősorban a felsőbb szinten, a szülő zónában van szerepe, indokolt azonban a zónában is felsorolni paramétere egy gép domain neve. Johanyák 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 mail.otthon.hu. MX mas.otthon.hu. a alakú címre érkező leveleket a mail.otthon.hu vagy a mas.otthon.hu. gépekre kell küldeni 10, 20 a rekord preferenciát jelenti, csak akkor van jelentősége, ha több MX rekord tartozik ugyanahhoz a névhez: kisebb szám nagyobb preferenciát jelent Csak akkor fogják a levelező szerverek a mas.otthon.hu-ra küldeni a otthon.hu domainba szóló leveleket, ha a preferáltabb mail.otthon.hu nem elérhető. Egyenlő preferenciánál véletlenszerű, hogy melyikre érkezik be egy-egy levél. Johanyák 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 Futási szintek Johanyák Zs. Csaba (c) 2014

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
0 Halt/Shutdown: minden folyamat leáll, a fájlrendszereket leválasztják, a felhasználókat kijelentkeztetik, a gép biztonságosan kikapcsolható 1 Single user mode: rendszergazdaként egyfelhasználós mód, minden /etc/fstab állományrendszer felcsatolásra kerül S Sulogin: olyan, mint az 1 de nem állítja le a folyamatokat lefelé váltáskor 2-5 Multi user mode: minden /etc/fstab állományrendszer felcsatolásra kerül, grafikus felület 6 Reboot: Ugyanaz, mint 0 csak utána újraindul a rendszer az alapértelmezett futási szinten Johanyák 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=Kill S=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 sysinit : a boot folyamat elején hajtódik végre
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) Démon= háttérben futó program 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 Nem minden szkript ismer minden parancsot
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
Folyamat 1 Folyamat 2 Folyamat n ... User mode Kernel mode VIRTUAL FILE SYSTEM ext? msdos minix ... proc Buffer cache Eszközmeghajtók Állományrendszer Johanyák Zs. Csaba (c) 2014

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

172 A proc fájlrendszer2 nem tartozik hozzá eszköz (nodev típus)
készíthetünk róla (és aljegyzékeiről) az ls paranccsal listát fájljait kiírathatjuk Johanyák 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
file1 Könyvtár i-bög mode & védelem linkek száma tulajdonos uid gid fájl méret Adat blokk Utolsó hozzáférés Utolsó módosítás Készítési idő Johanyák Zs. Csaba (c) 2014

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 ln –s ../billkiosztas szimbolikus ls –la cat szimbolikus | more
mkdir delelott cd delelott ln –s ../billkiosztas szimbolikus ls –la cat szimbolikus | more ls –la ../billkiosztas ln ../billkiosztas merev Johanyák Zs. Csaba (c) 2014

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

184 4. előadás 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 > ln -s /usr/joe/foo /usr/sue/bar
> ln /usr/joe/foo /usr/sue/bar 2. i-node /usr/joe 2. i-bög 16. i-node /usr/joe foo 2 foo 2 link=2 /usr/sue /usr/joe/foo bar 16 /usr/sue bar 2 hard link symbolic link Johanyák Zs. Csaba (c) 2014

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 I/O rendszer PV2 PV1 LV VG VG PV1 PV2
Johanyák Zs. Csaba (c) 2014

191 LVM példa Forrás: http://www.linuxdevcenter.com/lpt/a/6553
Ezen a webhelyen egy gyakorlati példa is található a konfiguráláshoz: Forrás: Johanyák Zs. Csaba (c) 2014

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 /bin rendszerprogramok /usr/bin közérdekű felhasználói programok /etc a rendszer működéséhez és karbantartásához szükséges állományok és programok /etc/passwd felhasználók azonosításához szükséges adatok egy része /tmp ideiglenes állományok elhelyezése /dev speciális állományok /home felhasználói könyvtárak Johanyák Zs. Csaba (c) 2014

195 /dev/fd* hajlékonylemezes egység neve
/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/null különleges rendeltetésű állomány, ha olvasunk belőle, akkor azonnal az állomány végét érzékeljük, ha pedig írunk bele, akkor korlátlanul elnyel mindent anélkül, hogy bárhol is tárolná Johanyák Zs. Csaba (c) 2014

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 /dev/hda1 /dev/hda2 Johanyák Zs. Csaba (c) 2014

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. # # <file system> <mount point> <type> <options> <dump> <pass> 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 5. oszlop „1” – kilépéskor a szuperblokk automatikusan mentődik a lemezre 6. oszlop – a rendszer indulásakor milyen sorendben ellenőrizze a fájlrendszereket (1 -> ) Johanyák Zs. Csaba (c) 2014

201 UUID UUID: Universally Unique Identifier
https://help.ubuntu.com/community/UsingUUID 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
mkdir [elérési_út/]könyvtár egy új könyvtár létrehozása mkdir –p ./elso/masodik létrehozza az elso könyvtárat is cd [elérési_út/]könyvtár könyvtárváltás ln -s állománynév keresztkapcsolatnév keresztkapcsolat létrehozása -s szimbolikus keresztkapcsolat cat állomány1 [...állományN] állományok összefűzése: cat állomány1 állomány2 > állomány3 állomány kiíratása: cat állomány új állomány létrehozása: cat > állomány <CTRL>+<D> Johanyák 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 Johanyák Zs. Csaba (c) 2014

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

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

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

213 -l könyvtárra irányuló szimbolikus linket követ
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 tree – alapból nincs telepítve Johanyák Zs. Csaba (c) 2014

214 tree Kék – könyvtár Türkiz – szimbolikus hivatkozás
Zöld - végrehajtható 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ányban 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 [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ő karakterek1
\ A mögötte álló karaktert védi cat > ab\*c ' ' Shell behelyettesítéstől védi a közrefogott szöveget find / -name *.c 2>hibák | grep -l 'int len' megkeresi azokat a c kiterjesztésű állományokat, amelyek tartalmazzák az idézőjelek között megadott szöveget Johanyák Zs. Csaba (c) 2014

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

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 5. előadás 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 folyamat program példány
job végrehajtásra váró utasítás PID Process IDentificator előtérben futó háttérben futó démon Johanyák 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 Johanyák Zs. Csaba (c) 2014

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 <felhasználó> <parancs> 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 A visudo egy másolatot készít az /etc/sudoers állományról és azon dolgozunk. A változattól az adm csoport a rendszergazda (nem admin!). Az elsőként létrehozott felhasználó automatikusan bekerül a sudo és az adm csoportba. 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 Felhasználók és csoportok beazonosítására/megnevezésére szolgál A % a csoportra utal 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 Felhasználó megnevezés UID alapján 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? <Ki><Milyen gépről bejelentkezve?>=<Milyen felhasználóként?><Kapcsoló><Mit?> HALLGATO ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS HALLGATO ALL=(root) NOPASSWD:NOEXEC: /usr/bin/vim %admin ALL=(ALL)NOPASSWD:/usr/bin/apt-get %admin hera=(ALL)NOPASSWD:/usr/bin/apt-get %admin / =(ALL)NOPASSWD:/usr/bin/apt-get A HALLGATO változóban definiált felhasználók bármely gépről bejelentkezve bármilyen felhasználóként jelszó nélkül leállíthatják a rendszert. A HALLGATO változóban definiált felhasználók bármely gépről bejelentkezve root felhasználóként elindíthatják jelszó nélkül a vim-et, de a vim nem tud további shellt indítani. Az admin csoport tagjai bármilyen felhasználóként bármely hosztról jelszó nélkül elindíthatják az apt-get-et Ugyanaz csak a hera gépről. Csak a hálózat gépeiről. Johanyák Zs. Csaba (c) 2014

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

250 Defaults Defaults:ALL timestamp_timeout=0
sudo –l jelenleg érvényes effektív beállítások Defaults:ALL timestamp_timeout=0 Which means that ALL users sudo permissions timeout immediately, meaning that they must enter their password every time they use sudo. A sudo su az eredeti PATH környezeti változót az ún. secure_path-al helyettesíti, ez kikapcsolható a sudo su –p vel 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 Könyvtárak megosztása a hálózaton
Johanyák Zs. Csaba (c) 2014

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 Some services, mainly SUN's NIS and NFS services, don't use a static port like most services, but instead register themselves via RPC. To connect to an NFS server you first ask RPC which port to find it on. It may even be the case that the service isn't available until you request it via RPC. The RPC portmapper (portmap(8)) is a server that converts RPC program numbers into TCP/IP (or UDP/IP) protocol port numbers. It must be running in order to make RPC calls (which is what the NIS/NIS+ client software does) to RPC servers (like a NIS or NIS+ server) on that machine. When an RPC server is started, it will tell portmap what port number it is listening to, and what RPC program numbers it is prepared to serve. When a client wishes to make an RPC call to a given program number, it will first contact portmap on the server machine to determine the port number where RPC packets should be sent. The port mapper service always uses TCP or UDP port 111; a fixed port is required for it, as a client would not be able to get the port number for the port mapper service from the port mapper itself. The port mapper must be started before any other RPC servers are started. Johanyák 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ól1
Samba kliens program karakteres felület ftp-re emlékeztető működés Egy adott gépen elérhető megosztások listája: smbclient –L <a windowsos gép netbios neve> -N smbclient –L tanterem -N -N jelszó nélküli lekérdezés Johanyák Zs. Csaba (c) 2014

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

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

266 Windows megosztás elérése Linux alól4
Automatikus felcsatolás a gép indulásakor az /etc/fstab állományba egy új sor: megosztás csatolásipont smbfs username=felhasználónév,password=jelszó,umask= //tanterem/9-labor$ /mnt/9-labor … Johanyák 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ás1 Apache-ban engedélyezni kell a mod-dev modult a megfelelő szimbolikus hivatkozások létrehozásával cd /etc/apache2/mods-enabled sudo ln -s ../mods-available/dav* . Létrehozunk egy adatbázis állományt a fájlzárolások számára mkdir /usr/share/apache2/var touch /usr/share/apache2/var/DAVLock Johanyák Zs. Csaba (c) 2014

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

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

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

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

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

277 Nyomtatás és nyomtatómegosztás

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ás1 Webes felületen http://localhots:631
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
sudo /etc/init.d/cups restart Johanyák Zs. Csaba (c) 2014

283 Tűzfal

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 A szolgáltatásnév kell szerepeljen az /etc/services-ben Johanyák Zs. Csaba (c) 2014

286 ufw - tiltás sudo ufw deny proto tcp from 192.168.0.5 to any port 22
Egyik interfészhez se lehet kapcsolódni tcp-vel a 22-es porton a gépről. 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 NAT tábla konfigurálása
/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 Grafikus felület a tűzfal konfigurálásához Johanyák Zs. Csaba (c) 2014

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

297 Firestarter Szabályok Engedélyezés|Tiltás 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 6. előadás 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 <Ki><Milyen gépről bejelentkezve?>=<Milyen felhasználóként?><Kapcsoló><Mit futtathat?> Tűzfal és NAT Johanyák Zs. Csaba (c) 2014

303 Védelem (folytatás) 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ő Kikényszerítő üzemmódban minden megszorítást végrehajt, azaz hozzáférést megtagad. Figyelmeztető üzemmódban csak figyelmeztető üzeneteket küld, de nem akadályozza meg a hozzáférést, ez pl. egy új alakalmazás profiljának az elkészítése során lehet hasznos. Johanyák 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 Kerberos Johanyák Zs. Csaba (c) 2014

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: http://en.wikipedia.org/wiki/Kerberos_%28protocol%29
Johanyák Zs. Csaba (c) 2014 Forrás:

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

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) https://help.ubuntu.com/community/SSH/OpenSSH/Configuring 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ó Az ügyfél nyilvános kulcsa tárolva kell legyen a kiszolgálón. A kiszolgáló evvel titkosít egy véletlenszámot, az ügyfél a saját titkos kulcsával dekódolja. A kulcsok lehetővé teszik a jelszó nélküli kommunikálást az ügyfélgép és a kiszolgáló között. Johanyák 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 Ha távolról be akarok jelentkezni, akkor egy fiókkal kell rendelkezzek az adott gépen. Az adott fiók könyvtárában ~/.ssh/authorized_keys állományhoz kell hozzáadni az én saját nyilvános kulcsomat. Ezt általában a kliens gépen hozom létre, és vagy felmásolom vagy ben elküldöm a kiszolgálóra. Régi: sudo /etc/init.d/ssh start|stop|restart|status 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 Banner: bejelentkezés előtt megjelenő üzenet Ha nincsenek meg a kulcsok, akkor a jelszó alapúval próbálkozik, ha az nincs megtiltva. Normál konzol bejelentkezéskor az /etc/issue állomány tartalma jelenik meg. Ha egységes üzenetet szeretnénk, akkor Banner /etc/issue.net -et adunk itt meg. 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 Ha yes-t válaszolok, akkor a ~/.ssh/known_hosts állományba bejegyzi a localhost-t, és a későbbiekben már nem fog rákérdezni. Ezután bekéri a jelszót és kapcsolódik. Kilépés: exit Johanyák Zs. Csaba (c) 2014

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

330 Felhasználói szintű konfigurá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 Az openssh-client része az alap desktop telepítésnek. RSA és DSA közül csak az egyiket lehet választani. A kulcsok alapból id_rsa|dsa névvel keletkeznek, de más név is megadható. A kiterjesztés nélküli a titkos kulcs. https://help.ubuntu.com/community/SSH/OpenSSH/Keys 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 Központi felhasználómenedzsment
Johanyák Zs. Csaba (c) 2014

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 Yello Pages – a British Telecom védjegye 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 127.0.0.1
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, DN: distinguished name: uid=babs,ou=People,dc=example,dc=com RDN: Relative Distinguished Name uid=babs DC – Domain Component CN – Common Name OU – Organizational Unit Johanyák Zs. Csaba (c) 2014

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. <globális konfigurációs lehetőségek> # első adatbázis database <backend 1 type> <backend 1 beáll.> # második adatbázis database <backend 2 type> <backend 2 beáll.> # további adatbázis definíciók Johanyák Zs. Csaba (c) 2014

358 LDAP szerver indítása önállóan (LDBM esetén ez ajánlott) $(ETCDIR)/slapd [<opciók>]* 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 7. előadás 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 A + előtt nem állhat szóköz! Johanyák Zs. Csaba (c) 2014

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

364 Változók1 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 A kiértékelendő utasítást ` (AltGr+7) típusú idézőjelek közé kell tenni. Az id –u az effektív felhasználói azonosítót adja meg. Tehát ha sudo su-val rendszergazdai módba váltottuk, akkor 0-t ad. Keressük azokat az állományokat, amelyeknek a nevében megvan a "txt" betűhármas Johanyák Zs. Csaba (c) 2014

365 Változók2 Numerikus változó deklarálása Konstans 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 ] 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 # A zárójelek elé/után kell a szóköz, különben hibaüzenet 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: ! Két numerikus érték összehasonlítására 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" 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" A fordított idézőjelek közé tett részt kiértékeli, és az eredmény kerül a változóba. 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 $* $0 – nulla a dollárjel után Johanyák Zs. Csaba (c) 2014

374 Kifejezések $[ kifejezés ] $(( kifejezés #)) echo $a+$b = $(($a + $b))
Változó behelyettesítés Mindkét kifejezés készítési mód használható. 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 echo $var 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 Paraméterátadás! # egyszer megpingeli kimenet a kukába # Ha a ping visszatérési értéke 0 (OK) akkor kiírja, hogy működik 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 # bash trap function is executed when CTRL-C is pressed: # bash prints message => Executing bash trap subrutine ! 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))
szam=$((16#E1A)) Itt a # nem megjegyzést jelöl. Az első szám megadja, hogy a kettőskereszt utáni érték hányas számrendszerben van megadva. 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 -" # Alapötlet: Antek Sawicki # A jelszóban használt karakterek Karakterek=" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" # 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" # 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 Kiírja a konzolra, hogy az aktuális felhasználó mely csoportoknak tagja. Hasonló: id –G -n 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 3 + 5 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 8. Előadás 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
A NAT lehetővé teszi, hogy a belső hálózaton magánhálózati címzéssel azonosított gépek elérjék az Internetet. A kimenő csomagoknál a feladó IP címet nyílvános/külső hálózati címre cseréli. PAT Port Address Ttranslation Proxy ARP akkor szükséges, ha egy interfészhez több IP címet rendelünk. Johanyák Zs. Csaba (c) 2014

409 NAT típusok Inbound NAT Server NAT 1:1 NAT Outbound NAT Demo
Ld. A táblára felrajzolt ábrákat és az első háromhoz bemutatott demonstrációs konfigurációt. Inbound NAT Ha csak egy nyílvános IP címünk van. TCP és UDP portok (port tartományok) megnyitása a belső hálózaton levő gépek eléréséhez. Pl. a belső hálózaton üzemeltetünk egy szervert, amit SSH-val elérhetővé szeretnénk tenni a külső gépek számára. A belső hálózatról nem érhető el a megnyitott WAN port. DEMO Bejelentkezés: ssh –p 5369 –l hallgato Server NAT Lehetetővé teszi, hogy a WAN interfészhez további IP címeket definiáljunk. Ezt követően Inbound NAT-tal kell megoldani azon belső hálózati gépek elérését, amelyeket elérhetővé kívánunk tenni a külső hálózat számára. Proxy ARP szükséges. 1:1 NAT Egy nyilvános IP címet egy belsőre képez le. Teljes belső alhálózat is „kiközvetíthető” a segítségével. Ilyenkor gyakorlatilag egyszerű routerként működik a M0n0wall, nincs védelem. Alhálózat esetén a külső és belső címtartomány nagysága meg kell egyezzen. A WAN interfész címe nem eshet ebbe a tartományba. Proxy ARP szükséges. Outbound NAT A hagyományos alap NAT esetén a WAN interfész kivételével minden interfészhez automatikusan készül NAT szabály, ami minden forgalmat kienged. Ha ez nem felel meg, akkor az „Advanced outbound NAT”-ot kell bekapcsolni, ez törli az automatikus alap szabályokat, és mindent kézzel kell létrehozni. Johanyák Zs. Csaba (c) 2014

410 9. előadás 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 9. előadás Linux hálózati adminisztráció Johanyák Zs. Csaba (c) 2014

413 Levelezés

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

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

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 Received: by client.ac.kr. (4.1/SMI-4.1) id AA004303; Mon, 20, Aug 98 12:30:34 MST Message-Id: From: (Sender) Date: Mon, 20, Aug :30: Reply-To: X-Phone: X-Mailer: Mail User’s shell( /23/98) To: Subject: Just testing mail. hello, this is a testing mail. bye.. generated by sender’s MTA sender’s user agent Johanyák Zs. Csaba (c) 2014

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

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

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 MTA: A Mail Transfer Agent (MTA) is the program which receives and sends out the from your server, and is therefore the key part. The default MTA in Ubuntu is Postfix, but exim4 is also fully supported and in the main repository. Amavis-new is a wrapper that can call any number of content filtering programs for spam detection, antivirus, etc. In this howto, integration with Spamassassin and Clamav will be presented. This is a classical installation of Postfix + Amavis-new + Spamassassin + Clamav. Johanyák 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 Forrás: Maróti Tamás : Biztonságos FTP-szolgáltatás üzemeltetése vsftpd használatávalhttp://linuxvilag.hu/content/files/cikk/50/cikk_50_48_49.pdf Johanyák Zs. Csaba (c) 2014

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 mysql -u root –p # bejelentkezünk a MySQL szerverünkre root-ként, immár jelszó használatával mysql> CREATE DATABASE vsftpd; # elkészítjük a vsftpd adatbázist mysql> USE vsftpd; # majd ki is jelöljük, mivel ezzel fogunk most dolgozni mysql> CREATE TABLE felhasznalok ( nev char(16) binary, jelszo char(16) binary ); # létrehozzuk a táblát és a mezőket mysql> INSERT INTO felhasznalok ( nev, jelszo ) values ( ‘kisspista’, password( ‘a jelszo’ )); # felvesszük az első felhasználónkat az adatbázisba mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `vsftpd`.* TO IDENTIFIED BY ‘a jelszavunk’; # egy vsftpd_mysql nevû felhasználónak megadjuk a megfelelő jogokat az adatbázisra (és létre is hozzuk egyúttal) mysql> quit Ezzel fel is készítettük rendszerünket arra, hogy a vsftpd gond nélkül információkhoz jusson az adatbázisból a továbbiakban.quit Johanyák 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 A PAM (Pluggable Authentication Modules) egy olyan függ- vénygyûjtemény, amelyben az a legnagyszerûbb, hogy egy- séges felületet biztosít a különbözõ programoknak az azo- nosítási procedúra elvégzésére. A folyamatot végzõ szoftver csak a PAM-mal áll kapcsolatban, a PAM pedig onnan veszi az információkat, ahonnan csak akarjuk (jelen esetben pél- dául egy MySQL adatbázisból). Linuxunk eme remek szol- gáltatását használjuk például akkor is, amikor SSH-val beje- lentkezünk szerverünkre. Ilyenkor az SSH démon elküldi a PAM-nak az általunk megadott felhasználónevet és jel- szót, ami (többek közt) megvizsgálja a /etc/shadow fájl alap- ján, hogy helyes adatokat adtunk-e meg. Amennyiben igen visszajelez az SSH kiszolgálónak, hogy minden rendben, bejelentkezhetünk. Ma már a szolgáltatások legtöbbje a PAM-ot használja hitelesítésre. Ha belépünk a /etc/pam.d könyvtárba (bizonyos disztribúci- ók a /etc/pam.conf fájlt használják), akkor látni fogjuk, hogy minden egyes szolgáltatáshoz más-más beállítófájl tartozik. A vsftpd például a vsftpd nevû fájlt hozza létre alapból (ré- gebbi változatok esetén elõfordulhat, hogy mást). Tegyük ezt is biztos helyre úgy, ahogyan a cikk elején az alapértel- mezett vsftpd.conf fájlt. Egy teljesen újat fogunk írni. Adjuk ki a következõ parancsokat: Ezzel megadtuk a PAM-nak, hogy a pam_mysql modult használja az azonosításhoz. Természetesen a paraméterezés nagyon lényeges, így ügyeljünk arra, hogy helyesen ad- juk meg például azt a jelszót, amit az adatbázis elkészíté- sekor létrehoztunk annak a MySQL felhasználónak (vsftpd_mysql), aki majd hozzáférhet az adatbázishoz. Johanyák 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 []:. Ahhoz, hogy FTP szerverünkön biztosítsuk az SSL szolgál- tatást, szükségünk lesz egy .pem formátumú RSA kulcsra. Ezt a következõképpen tudjuk legenerálni: debian:~# openssl req -x509 -nodes -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem Miután válaszoltunk az ez után feltett kérdésekre, létre is jön a vsftpd.pem fájl ott, ahol kiadtuk a parancsot. Másol- juk át a /usr/share mappába, és állítsuk be a megfelelõ jogo- sultságokat rajta. debian:~# cp vsftpd.pem /usr/share debian:~# chmod 400 /usr/share/vsftpd.pem Johanyák Zs. Csaba (c) 2014