Követelmények levelező tagozaton Előadók · PDF fileCIDR, VLSM...
Transcript of Követelmények levelező tagozaton Előadók · PDF fileCIDR, VLSM...
MIN7K0IN
MIN4B0RFN
Johanyák Zs. Csaba (c) 2013
Követelmények nappali tagozaton Előadás ZH november 4. (pótlás dec. 2)
Megszerezhető: 38 pont Minimum követelmény: 19 pont
Gyakorlati ZH november 25-29 (pótlás dec. 2-6) Megszerezhető: 55 pont Minimum követelmény: 27 pont
További pontszerzési lehetőségekMegszerezhető: 50 pont Minimum követelmény: 4 pont 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ő) 15 perces kiselőadás tartása az október 28-i előadás alkalmával.
Megszerezhető pontszám: 5 pont (angol nyelvű előadás esetén 10 pont )Választható témakörök a Coospace-ben kerülnek meghirdetésre szeptember 23-ig
Egy témakör esszé jellegű kidolgozása kb. 5-8 oldal terjedelemben (nem másolás!) Választható témakörök a Coospace-ben kerülnek meghirdetésre szeptember 23-igMegszerezhető pontszám: 5 pont/esszé
Johanyák Zs. Csaba (c) 2013
Követelmények levelező tagozaton Elméleti ZH utolsó előtti konzultáción (pótlás utolsó konzultáción)
Megszerezhető: 38 pont Minimum követelmény: 19 pont
Gyakorlati ZH utolsó előtti konzultáción (pótlás utolsó konzultáción)Megszerezhető: 55 pont Minimum követelmény: 27 pont
További pontszerzési lehetőségekMegszerezhető: 50 pont Minimum követelmény: 4 pont 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. 10-12 oldal terjedelemben
(nem másolás!) Választható témakörök a Coospace-ben kerülnek meghirdetésre szeptember 23-igMegszerezhető pontszám: 10 pont/esszé
Johanyák Zs. Csaba (c) 2013
Előadók Göcs László
E-mail: [email protected]
Személyes konzultáció: 4. épület (Informatika Tanszék), 1. emelet 116-os iroda
Dr. Johanyák Zsolt Csaba
E-mail: [email protected]
Személyes konzultáció: 4. épület (Informatika Tanszék), 1. emelet 108-os iroda
Johanyák Zs. Csaba (c) 2013
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 12.04.2-höz
Ajánlott Mendel Cooper: Advanced Bash-Scripting Guide
http://www.tldp.org/LDP/abs/html/ Hivatalos és közösségi dokumentáció
http://ubuntu.hu/sugo http://edu.ubuntu.hu
Blahota István: Ubuntu Linux kezdőknek (2011) 11.04-hezhttp://zeus.nyf.hu/~blahota/ubuntu/Linux_11_10_06.pdf
Johanyák Zs. Csaba (c) 2013
(Ismétlés)
Johanyák Zs. Csaba (c) 2013
IP címek IPV4
Johanyák Zs. Csaba (c) 2013
0 . 0 . 0 . 04 db decimális számponttal elválasztva
1db decimális szám 8 biten ábrázolva bináris számrendszerben
Pl: 181 = 128 + 32 + 16 + 4 + 1
IP címek osztályozása
A osztály
0…. . … . … . …
Johanyák Zs. Csaba (c) 2013
0 . 0 . 0 . 00 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0Kezdő IP:
127 . 255 . 255 . 2550 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1Utolsó IP:
IP címek osztályozása
B osztály
1 0…. . … . … . …
Johanyák Zs. Csaba (c) 2013
128 . 0 . 0 . 01 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0Kezdő IP:
191 . 255 . 255 . 2551 0 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1Utolsó IP:
IP címek osztályozása
C osztály
1 1 0…. . … . … . …
Johanyák Zs. Csaba (c) 2013
192 . 0 . 0 . 01 1 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0Kezdő IP:
223 . 255 . 255 . 2551 1 0 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1Utolsó IP:
D és E osztályok „D” osztály - 224.0.0.0 - 239.255.255.255
1110 …Multicasting céljaira fenntartva.A tartomány több blokkra van osztva ld. RFC 5771
„E” osztály - 240.0.0.0 - 247.255.255.25511110 … Fenntartott címek
Johanyák Zs. Csaba (c) 2013
Hatókör szerintNyilvános
Magánhálózati
Automatikus konfigurációnál használt
Johanyák Zs. Csaba (c) 2013
Magánhálózati címtartományok
A 10.0.0.0 – 127.0.0.0
B 172.16.0.0 – 172.31.0.0
C 192.168.1.0 – 192.168.255.0
Johanyák Zs. Csaba (c) 2013
http://en.wikipedia.org/wiki/Private_network
APIPA (Automatic Private Internet Protocol Addressing )
A Microsoft otthoni és kisebb irodai hálózatokhozvezette be a még csak draft formájában létezőAPIPA-t, olyan helyekre, ahol bizonyosan nincskiszolgáló, mert nem érné meg, és nincs szaktudássem a hálózat konfigurálására.
Linux alatt AVAHI (majomfajta) néven érhető el ez azautokonfigurációs szolgáltatás
Johanyák Zs. Csaba (c) 2013
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.
AVAHI
Ha induláskor az operációs rendszer nem talál DHCPkiszolgá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 ICMPcsomagot 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ásikatkell keresni. Tízszer próbál így címhez jutni, és tekintve,hogy 65535 a lehetséges címek száma, kicsi az esélye,hogy nem találja meg az „igazit”.
Johanyák Zs. Csaba (c) 2013
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.
AVAHI
Az automatikusan meghatározott címhez azután nemragaszkodik, és minden ötödik percben kibocsát egyDHCP-Discover csomagot, hátha meggondoltákmagukat az üzemeltetők és működőképes állapotbahoztak 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, hogymilyen szituációban van.
169.254.0.0-169.254.255.255 /16
Johanyák Zs. Csaba (c) 2013
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.
Hálózati maszk
Az a szám, amely meghatározza, hogy az IP-cím mely részehálózati, és mely része állomáscím.
Az alhálózati maszk (subnet mask) segítségévela rendszergazdák a helyi hálózatban egymástólelkülönülő alhálózatokat tudnak létrehozni.
IP-cím: 196.225.15.5 Alhálózati maszk: 255.255.255.0 Kettes számrendszerben: IP-cím: 11000100 11100001 00001111 00000101 Alh.maszk: 11111111 11111111 11111111 00000000 A két szám bitenkénti ÉS (AND) műveletet elvégezve megkapjuk a hálózat címét:
11000100 11100001 00001111 00000000
Johanyák Zs. Csaba (c) 2013
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?
Jelöl Címek Alháló maszk d. Alháló maszk bin.
/8 16777216 255.0.0.0 11111111.00000000.00000000.00000000
/9 128x65536 255.128.0.0 11111111.10000000.00000000.00000000
/10 64x65536 255.192.0.0 11111111.11000000.00000000.00000000
/11 32x65536 255.224.0.0 11111111.11100000.00000000.00000000
/12 16x65536 255.240.0.0 11111111.11110000.00000000.00000000
/13 8x65536 255.248.0.0 11111111.11111000.00000000.00000000
/14 4x65536 255.252.0.0 11111111.11111100.00000000.00000000
/15 2x65536 255.254.0.0 11111111.11111110.00000000.00000000
/16 1x65536 255.255.0.0 11111111.11111111.00000000.00000000
/17 128x256 255.255.128.0 11111111.11111111.10000000.00000000
/18 64x256 255.255.192.0 11111111.11111111.11000000.00000000
/19 32x256 255.255.224.0 11111111.11111111.11100000.00000000
/20 16x256 255.255.240.0 11111111.11111111.11110000.00000000
/21 8x256 255.255.248.0 11111111.11111111.11111000.00000000
Johanyák Zs. Csaba (c) 2013
Jelöl Címek Alháló maszk d. Alháló maszk bin.
/22 4x256 255.255.252.0 11111111.11111111.11111100.00000000
/23 2x256 255.255.254.0 11111111.11111111.11111110.00000000
/24 1x256 255.255.255.0 11111111.11111111.11111111.00000000
/25 128x1 255.255.255.128 11111111.11111111.11111111.10000000
/26 64x1 255.255.255.192 11111111.11111111.11111111.11000000
/27 32x1 255.255.255.224 11111111.11111111.11111111.11100000
/28 16x1 255.255.255.240 11111111.11111111.11111111.11110000
/29 8x1 255.255.255.248 11111111.11111111.11111111.11111000
/30 4x1 255.255.255.252 11111111.11111111.11111111.11111100
/31 2x1 255.255.255.254 11111111.11111111.11111111.11111110
/32 1x1 255.255.255.255 11111111.11111111.11111111.11111111Johanyák Zs. Csaba (c) 2013
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) 2013
IPv6
Tulajdonságok
128 bit, 1994 A címzés hierarchikus – miért jó? Támogatja a munkaállomások automatikus
hálózati konfigurálását CIDR-t használ Egy interfésznek több címe is lehet
Johanyák Zs. Csaba (c) 2013
Broadcast nincs – helyét a multicast veszi átSzintaktikailag
az anycast cím nem különböztethető meg az unicast címtőlhttp://technet.microsoft.com/hu-
hu/library/cc755011%28WS.10%29.aspxA hierarchikus címkiosztás megkönnyíti az útválasztás megoldását.
IPv6 – cím típusok
Egycélú (Egyedi küldés) (unicast) : egy adott interfészt azonosít
Választható célú (Csomópont-választásos küldés) (anycast) : interfészek egy csoportját azonosítja, de a csomagot elég a csoport egyetlen tetszőleges tagjához eljuttatni (ha a csoportból valaki megkapja, a többiek már nem kapják meg)
Többcélú (Csoportos küldés) (multicast) : az interfészek egy csoportját azonosítja, a csomagot minden a csoportba tartozó interfész meg kell kapja (Broadcast helyett)
Johanyák Zs. Csaba (c) 2013
Broadcast nincs – helyét a multicast veszi átSzintaktikailag
az anycast cím nem különböztethető meg az unicast címtőlhttp://technet.microsoft.com/hu-
hu/library/cc755011%28WS.10%29.aspxA hierarchikus címkiosztás megkönnyíti az útválasztás megoldását.
IPv6 cím felépítése8 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) 2013
128 bites IPv6 cím
Johanyák Zs. Csaba (c) 2013
3FFE:085B:1F1F:0000:0000:0000:00A9:1234
8 csoport 16-bites hexa számokból, elválasztó jel “:”
3FFE:85B:1F1F::A9:1234
:: = egy vagy több egymást követő csoportban csak nullák vannak
Kezdő nullák elhagyhatók
IPv6 címek0: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) 2013
Unicast címek felosztása érvényességi kör szerint
Világméretű (mint az IPv4 publikus)
Global unicast
Lokális (mint az IPv4 privát)
Telephely (site) szintű: Site-local (elavult!)
Helyi: Unique-local
Szegmens szintű: Link-local
Johanyák Zs. Csaba (c) 2013
hatókör
Global unicast cím
A globális azon (45 bit) lehet ISP vagy site azonosító
A 16 bit alhálózat vagy site azonosító
A 64 bit lehet MAC cím alapján
Johanyák Zs. Csaba (c) 2013
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:
http://computernetworkingnotes.com/ccna_certifications/ipv6_address_types_and_formats.htm
Site-Local unicast címek
Cégen belüli (privát) címzés - intranet
A címek generálása nem automatikus
Nem routolják
Lehetővé teszi szervezeti hálózat címzését
Elavult! RFC 3879 (2004) érvénytelenné tette, csak régebben volt használatos
FEC0:: through FFFF::
Johanyák Zs. Csaba (c) 2013
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 1111 1110 11, are equivalent to the IPv4 private address space (10.0.0.0/8, 172.16.0.0/12, and
192.168.0.0/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:
http://computernetworkingnotes.com/ccna_certifications/ipv6_address_types_and_formats.htm
Unique local címek
Cégen belüli (privát) címzés - intranet
De a cím egyedi a világon – cégen belüli házirenddel tiltható a forgalom
Johanyák Zs. Csaba (c) 2013
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 1111110. 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 3879. 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:
http://computernetworkingnotes.com/ccna_certifications/ipv6_address_types_and_formats.htm
Link-Local unicast címek (interface)
FE80::/64
Csak egy linken (szegmensen) belül értelmezett
Router nem továbbítja
Konfigurálása mindig automatikus
Átjáró felderítés, más 2. rétegbeli szomszédok (azonos szegmensen levő eszközök) felderítése
Johanyák Zs. Csaba (c) 2013
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 1111 1110 10 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 169.254.0.0/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:
http://computernetworkingnotes.com/ccna_certifications/ipv6_address_types_and_formats.htm
Multicast címek
Csoportos címzés, helyettesíti az üzenetszórást
A csoport minden tagja megkapja
Johanyák Zs. Csaba (c) 2013
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.
Hatókörök értelmezése
Johanyák Zs. Csaba (c) 2013Forrás: http://www.tcpipguide.com/free/t_IPv6MulticastandAnycastAddressing-2.htm
Á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) 2013
Anycast címek
Azonos felépítésű a unicast-tal
Cél, hogy a legközelebbi interfész kapja meg a csomagot
Automatikusan keletkezik, amikor egy unicast címet egynél több interfészhez rendelünk
Johanyák Zs. Csaba (c) 2013
IPv6 Anycast AddressesAnycast 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 hostsForrás: http://www.tcpipguide.com/free/t_IPv6MulticastandAnycastAddressing-5.htm
TCP/IP hivatkozási modell
Johanyák Zs. Csaba (c) 2013
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
TCP/IP Protokollok
Johanyák Zs. Csaba (c) 2013
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,
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 ARPmintegy megkérdezi :
Kinek az IP-címe a 192.168.1.15 ?
2. A hálózaton mindegyik számítógép megvizsgálja, hogynem az ő IP-címe a 192.168.1.15. Az a számítógép fogválaszolni, amelyiknek ez az IP-címe :
Az enyém, és az ethernet-címem a következő: af.23.98.00.2e.a3
3. Az ARP tárolja ezt az információt azért, hogy ne kérdezzele ismételten minden csomag esetén. Egy meghatározottidőtartam (kb. 20 perc) eltelte után automatikusan eldobjaazért, hogy fel legyen készülve egy esetleges hardware-változásra.
Johanyák Zs. Csaba (c) 2013
Multicast: gépcsoportoknak szólóHosztok: itt a
csoportban résztvenni kívánó gépekICMP-ü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.http://technet.microsoft.com/hu-hu/library/cc758065%28WS.10%29.aspxIGMPAz 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
hasznoshttp://technet.microsoft.com/hu-hu/library/cc787925%28WS.10%29.aspx
ICMP (Internet Control Message Protocol)
Elérhetetlen gépek felismerése
Hibaüzenetek vagy a TCP/IP-t megvalósító szoftvernekszánt üzenetek információgyűjtés a hálózatról.
Pl: ha egy gateway felismeri, hogy egy adottszámítógép elérhetetlen, akkor az ICMP-n keresztülkiküld egy Destination unreachable üzenetet a csomagkü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. Acsomagküldő gép (ill. az IP-rétege) a következőcsomagot már a jobb útvonalon tudja elküldeni.
Johanyák Zs. Csaba (c) 2013
Multicast: gépcsoportoknak szólóHosztok: itt a
csoportban résztvenni kívánó gépekICMP-ü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.http://technet.microsoft.com/hu-hu/library/cc758065%28WS.10%29.aspxIGMPAz 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
hasznoshttp://technet.microsoft.com/hu-hu/library/cc787925%28WS.10%29.aspx
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 teljescsoport számára hozzáférhetővé tegye.
Johanyák Zs. Csaba (c) 2013
Multicast: gépcsoportoknak szólóHosztok: itt a
csoportban résztvenni kívánó gépekICMP-ü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.http://technet.microsoft.com/hu-hu/library/cc758065%28WS.10%29.aspxIGMPAz 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
hasznoshttp://technet.microsoft.com/hu-hu/library/cc787925%28WS.10%29.aspx
FTP – File Transfer ProtocolA TCP/IP hálózatokon történő állományátvitelreszolgáló szabvány.
Gyakran van szükség arra, hogy valamilyen állománythálózaton keresztül töltsünk le saját gépünkre, vagyegy á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ú, vagyisszükség van egy kiszolgáló- (szerver) és együgyfélprogramra (kliens). Elterjedt protokoll, a legtöbbmodern operációs rendszerhez létezik FTP-szerver éskliens program, sok web böngésző is képes FTP-kliensként működni.
Johanyák Zs. Csaba (c) 2013
SNMPAz 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, emailszervert, 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)http://hu.wikipedia.org/wiki/SNMPhttp://www.szgti.bmf.hu/~zbalogh/tav/telepites/snmp_roviden.p
dfSMTP
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 e-mailen
keresztüli küldését.
HTTP - HyperText TransferProtocol
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 kellnyilvántartania felhasználói információkat az egyes kérésekkiszolgálása között.
A HTTP terjedt el széles körben más, felhasználói bejelentkezésttámogató protokollok helyett, ami arra kényszerítette a webfejlesztőket, hogy kerülőutakon járva tárolják a felhasználókmunkamenet-á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 <inputtype=hidden name=session_id value=”1956″>) vagy az URL-benkódolt paraméterek (például: /index.php?userid=3) használatailletve a szerveroldali állapotmegőrzés.
Johanyák Zs. Csaba (c) 2013
SNMPAz 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, emailszervert, 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)http://hu.wikipedia.org/wiki/SNMPhttp://www.szgti.bmf.hu/~zbalogh/tav/telepites/snmp_roviden.p
dfSMTP
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 e-mailen
keresztüli küldését.
POP3 A Post Office Protocol version 3
Segítségével az e-mail kliensek egy meglévő TCP/IPkapcsolaton keresztül letölthetik az elektronikus leveleket akiszolgálóról.
Napjainkban ez a legelterjedtebb protokoll az elektronikuslevelek lekéréséhez. A protokollra eredetileg azidőszakosan létrejövő TCP/IP kapcsolatok (pl. dial-up) miattvolt szükség, ugyanis lehetővé teszi a kapcsolódáskorlátozott ideje alatt a levelek kezelését a felhasználógépén, úgy, hogy a levelek összességében akár aszerveren is maradhatnak.
A leveleket azután helyben lehet olvasni, szerkeszteni,tárolni stb. A POP3 protokoll kizárólag a levelek letöltésérealkalmas; küldésükre az SMTP protokoll szolgál.
Johanyák Zs. Csaba (c) 2013
SNMPAz 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, emailszervert, 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)http://hu.wikipedia.org/wiki/SNMPhttp://www.szgti.bmf.hu/~zbalogh/tav/telepites/snmp_roviden.p
dfSMTP
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 e-mailen
keresztüli küldését.
SMTP Simple Mail Transfer Protocol
Ez egy kommunikációs protokoll az e-mailek Internetentörténő továbbítására. Az SMTP egy viszonylag egyszerű,szöveg alapú protokoll, ahol egy üzenetnek egy vagy többcí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 melyikSMTP szerver tartozik, a Domain név MX (Mail eXchange)rekordját használja.
Az SMTP protokoll az indításkor sima szöveg alapú (ASCIIkarakterek) volt, nem kellett hozzá bináris file kezelés. Demára már kifejlesztették a MIME kódolást, ahol bináris fájlokformájában “utaznak” a levelek. Ma már minden SMTPkiszolgáló támogatja a 8-bites, azaz a 8BITMIME kiterjesztésűleveleket, ami bináris formában tárolja / küldi azüzeneteket. Johanyák Zs. Csaba (c) 2013
SNMPAz 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, emailszervert, 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)http://hu.wikipedia.org/wiki/SNMPhttp://www.szgti.bmf.hu/~zbalogh/tav/telepites/snmp_roviden.p
dfSMTP
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 e-mailen
keresztüli küldését.
SNMP Simple Network Management Protocol
Egy szerver-kliens kapcsolatra épülő protokoll. Aszerver program, amit hálózati menedzsernek(network manager) is szoktak nevezni - virtuáliskapcsolatot 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, adatainaklekérdezése. A menedzselhető eszközön (pl.nyomtatók, forgalomirányító, szerver, stb.) fut egydémon. A menedzselő eszközön fut a kliens program.
Johanyák Zs. Csaba (c) 2013
SNMPAz 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, emailszervert, 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)http://hu.wikipedia.org/wiki/SNMPhttp://www.szgti.bmf.hu/~zbalogh/tav/telepites/snmp_roviden.p
dfSMTP
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 e-mailen
keresztüli küldését.
SSH Secure Shell
Egy szabványcsalád, és egyben egy protokoll is, amitegy helyi és egy távoli számítógép közötti biztonságoscsatorna kiépítésére fejlesztettek ki.Nyilvános kulcsú titkosítást használ a távoli számítógéphitelesítésére, és opcionálisan a távoli számítógép ishitelesítheti a felhasználót.Az SSH-t leggyakrabban arra használják, hogy egytávoli gépre belépjenek vele és parancsokat adjanakki, de támogatja a tunnelinget, azaz tetszőleges TCPportok és X11 kapcsolatok továbbítását.Fájlok biztonságos átvitelére is használható akapcsolódó SFTP (Secure FTP) és SCP (Secure Copy)protokollok segítségével.Az SSH szerverek alapértelmezésben a 22-es TCPporton hallgatóznak.
Johanyák Zs. Csaba (c) 2013
SNMPAz 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, emailszervert, 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)http://hu.wikipedia.org/wiki/SNMPhttp://www.szgti.bmf.hu/~zbalogh/tav/telepites/snmp_roviden.p
dfSMTP
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 e-mailen
keresztüli küldését.
Egyéni feldolgozásra
Johanyák Zs. Csaba (c) 2013
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) 2013
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) 2013
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
1977-1982: az AT&T összefogja a saját verzióit és a version 7 után System III néven jelenik meg
1983: kb. 100.000 működő UNIX rendszer 1983: System V. Később Release-ek
Pl:System V Release 4, (SVR4)
Johanyák Zs. Csaba (c) 2013
A UNIX kialakulása4 Microsoft PC-re fejleszett UNIX változata.
Az első PC-s UNIX: Xenix
Intel 80286-ra
Kb. 30 db floppy (360 Kb-os)
Johanyák Zs. Csaba (c) 2013
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) 2013
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/OPENOS szabvány neve: Core OS API (Common API)Spec 1170, UNIX 95
United Linux 2002 (SuSE, Turbo Linux, SCO, Connectiva www.unitedlinux.com)
Johanyák Zs. Csaba (c) 2013
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) 2013
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: 3.0.4
önmagában használhatatlan
Johanyák Zs. Csaba (c) 2013
Linux változatok Disztribúció
egy linux kernelen alapuló teljes rendszer
pl. Ubuntu, Redhat, SuSE ,Slackware, Debian, UHU, Fedora
Johanyák Zs. Csaba (c) 2013
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, www.ubuntu.com)
Johanyák Zs. Csaba (c) 2013
Johanyák Zs. Csaba (c) 2013
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) 2013
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) 2013
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) 2013
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) 2013
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ávalsudo utasítássudo su
Johanyák Zs. Csaba (c) 2013
Johanyák Zs. Csaba (c) 2013
Felhasználói felület Eredetileg karakteres, szerver változatnál most is
X.Org grafikus rendszer (X Windows)http://en.wikipedia.org/wiki/X_Window_Systemhttp://wiki.x.org/wiki/
Grafikus felület pl. KDE, GNOME
Johanyák Zs. Csaba (c) 2013
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) 2013
X Windows System (X11) Újabb szoftver réteg az operációs
rendszer magja felett
Eredetileg hálózati használatra tervezték
A felhasználó gépén fut, és szolgáltatást nyújt más gépen vagy azonos gépen futtatott ún. kliens alkalmazások számára miközben kezeli a felhasználói IO eszközöket
Johanyák Zs. Csaba (c) 2013
Forrás: http://en.wikipedia.org/wiki/X_Window_System
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) 2013
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) 2013
Ablakkezelők és asztali környezetek Ablakkezelők 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) 2013
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
http://xwinman.org
Johanyák Zs. Csaba (c) 2013
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) 2013
Linux desktopok KDE (jelenleg: 4.11)
K Desktop Environment
Matthias Ettrich Tübing-i egyetemi hallgató
http://www.kde.org
GNOME (jelenleg: 3.8) GNU Network Object Model Environment – 1997 augusztus
http://www.gnome.org
Johanyák Zs. Csaba (c) 2013
Linux desktopok XFCE (jelenleg 4.8)
Kis erőforrásigény
Olivier Fourdan
http://www.xfce.org/
Johanyák Zs. Csaba (c) 2013
Johanyák Zs. Csaba (c) 2013
Bejelentkezés Ubuntu 10. 04 XXX tty1
XXX login: hallgatoPassword:Last login: …
hallgato@XXX:~$_
Johanyák Zs. Csaba (c) 2013
Kilépés, leállítás és újraindítás a számítógép lekapcsolása nélkül
logout - a "login shell"-ből exit - a "login shell" után indított shellekből léptet ki,
hatására a login shellbe jutunk vissza a számítógép újraindításával
reboot (root jogosultság szükséges) Ctrl+Alt+Del
a számítógép lekapcsolásával shutdown –y –i5 –g0 (root jogosultság szükséges) halt (root jogosultság szükséges)
a számítógépet működő operációs rendszer mellett kikapcsolni tilos!
Johanyák Zs. Csaba (c) 2013
Súgó man parancsnév
man –f parancsnév rövid összegzés
man –k kulcsszó felsorolja azokat a parancsokat, amelyeknek a leírásában szerepel a kulcsszó
info parancsnév
/usr/share/doc
Johanyák Zs. Csaba (c) 2013
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) 2013
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) 2013
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) 2013
Shell- és környezeti változók Létrehozás/érték beállításváltozó_név=értékmkk=/etc/dhcp3cd $mkk
Hivatkozás$változó_név vagy ${változó_név}
Shell v. Környezeti v.export változó_név
Listaenv, printenv
Lekérdezésecho $változó_név
Johanyák Zs. Csaba (c) 2013
Fontosabb környezeti változók PATH
HOME
LOGNAME
HOSTNAME
TERM
Johanyák Zs. Csaba (c) 2013
Mi a PATH? echo $PATH
/../..:/../..:...
mc
/../../../mc
./programnév
alternatív: akt könyvtár felvétele a keresési útvonalba
mcedit .bash_profile
PATH=.:$PATH
mentés(F2), kilépés(F10), kijelentkezés(logout), bejelentkezés
echo $PATH
Johanyák Zs. Csaba (c) 2013
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) 2013
Példák valtozo=valami
echo $valtozo
valami
PATH=/alma/jonatan:$PATH
export PATH
Johanyák Zs. Csaba (c) 2013
Alias
alias listazz ='ls -l'
alias
listazz
unalias listazz
Johanyák Zs. Csaba (c) 2013
Információktty 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) 2013
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érelthttp://www.jedsoft.org/jed/ nem része az alap telepítésnek
Johanyák Zs. Csaba (c) 2013
vi vi proba
ESC i
szöveg beírása
ESC :wq
cat proba
Johanyák Zs. Csaba (c) 2013
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) 2013
Szövegíró programok2
mcedit proba
pico (pine)
emacs
Johanyák Zs. Csaba (c) 2013
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) 2013
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) 2013
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) 2013
Példa .bash_logout # ~/.bash_logout
clear
Johanyák Zs. Csaba (c) 2013
A Linux többrétegű fájlrendszere
Johanyák Zs. Csaba (c) 2013
Folyamat1
Folyamat2
Folyamatn
VIRTUAL FILE SYSTEM
ext? msdos minix proc
Buffer cache
Eszközmeghajtók Állományrendszer
User mode
Kernel mode
...
...
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) 2013
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) 2013
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) 2013
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) 2013
Á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) 2013
Közönséges állományok
byte-ok közvetlenül címezhető sorozata
szöveges
bináris
Johanyák Zs. Csaba (c) 2013
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) 2013
Linux hálózati adminisztráció
Johanyák Zs. Csaba (c) 2013
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) 2013
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) 2013
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) 2013
i-csomópont szerkezet
Johanyák Zs. Csaba (c) 2013
0 1 2 3 4 5 6 70Type/perm.User (uid) File size8Access time Time of creation
16Time of modification Time of deletion24Group (gid)Link counterNumber of blocks32File attributes Reserved40
12 direct blocks pointer
88One-stage indirect blockTwo-stage indirect block96Three-stage indirect blockFile version
104File ACL Directory ACL112Fragment address120
Az i-csomópontszerkezete
Johanyák Zs. Csaba (c) 2013
Könyvtárfile1
i-bög
mode & védelemlinkek száma
tulajdonos uidgid
fájl méret
Utolsó hozzáférésUtolsó módosításKészítési idő
Adat blokk
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) 2013
mkdir delelott
cd delelott
ln –s ../billkiosztas szimbolikus
ls –la
cat szimbolikus | more
ls –la ../billkiosztas
ln ../billkiosztas merev
ls –la ../billkiosztas
ls –la
Johanyák Zs. Csaba (c) 2013
rm ../billkiosztas
ls –la
rm merev
ls –la
cat szimbolikus | more
mc
Johanyák Zs. Csaba (c) 2013
Hard link-soft link
Johanyák Zs. Csaba (c) 2013
link=2
> ln /usr/joe/foo /usr/sue/bar
foo 2
bar 2
/usr/joe
/usr/sue
2. i-node
hard link
> ln -s /usr/joe/foo /usr/sue/bar
foo 2
bar 16
/usr/joe
/usr/sue
2. i-bög 16. i-node
/usr
/joe/
foo
symbolic link
Feladat hozzunk létre egy merev és egy szimbolikus linket az
mc programhoz a hallgato könyvtárban
ellenőrizzük le a meglétét
indítsuk el a link segítségével a Midnight Commander programot
Johanyák Zs. Csaba (c) 2013
Á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) 2013
Linux partíciók swap
operációs rendszer (/)
felhasználói programok (/usr/bin, usr/local/bin)
felhasználói könyvtárak (/home)
cfdisk
Johanyák Zs. Csaba (c) 2013
Útvonal "." aktuális könyvtár
".." szülő könyvtár
"/" gyökér könyvtár
Johanyák Zs. Csaba (c) 2013
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) 2013
Johanyák Zs. Csaba (c) 2013
/dev/tty* a terminálok nevei, a „* ” helyén bármely karakter állhat a gép kiépítettségétől függően
/dev/hd* merevlemez neve, a „* ” helyén alfanumerikus karakterek, elsősorban számok állnak (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á
Könyvtár- és állománykezeléspwd az aktuális munkakönyvtár elérési úttal ellátott
nevének kiírásals [-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) 2013
mkdir [elérési_út/]könyvtár egy új könyvtár létrehozásamkdir –p ./elso/masodik létrehozza az elsokönyvtárat is
cd [elérési_út/]könyvtár könyvtárváltásln -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) 2013
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ó visszawc 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 azaktuális könyvtárba másolunk)
-f nincs figyelmeztető üzenet
Johanyák Zs. Csaba (c) 2013
Feladat hozzunk létre a saját könyvtárunkban alkönyvtárakat az
alábbi nevekkel:ora/bin, ora/tmp, ora/doboz, ora/munka, ora/munka/tarol
listázzuk ki saját könyvtárunk és az alkönyvtárak tartalomjegyzékét a lista állományba
számoljuk meg az állomány sorait másoljuk át a lista állományt a tarol könyvtárba hozzunk létre egy 2 soros szöveges állományt szoveg
néven a doboz könyvtárban fűzzük össze a lista és a szoveg állományokat osszeg
néven úgy, hogy az eredmény a tmp könyvtárba kerüljön
Johanyák Zs. Csaba (c) 2013
Feladat készítsünk egy szöveges állományt forras néven a saját
könyvtárunkban
másoljuk be a temp és a munka könyvtárakba forr_tempés forr_munka néven
tegyük a forr_temp–et írásvédetté
készítsünk a tarol és a doboz könyvtárban merev hivatkozást a forras állományra
mindegyik hivatkozás készítés után kérjünk részletes könyvtár tartalomjegyzéket az eredeti forras állományról
Johanyák Zs. Csaba (c) 2013
Feladat töröljük a tarol és a doboz könyvtárban levő merev
hivatkozást a forras állományra
kérjünk részletes könyvtár tartalomjegyzéket a binkönyvtárról
nézzük meg, hogy milyen rejtett állományok vannak a saját könyvtárunkban
Johanyák Zs. Csaba (c) 2013
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) 2013
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) 2013
Johanyák Zs. Csaba (c) 2013
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) 2013
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
Tar tar –cvf ujnev.tar allomanyok
tar –xvf ujnev.tar
tar –tvf ujnev.tar
Johanyák Zs. Csaba (c) 2013
Johanyák Zs. Csaba (c) 2013
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
Feladat csomagoljuk be tar segítségével a munka könyvtár
tartalmát m.tar néven
listáztassuk ki az m.tar állomány tartalmát
tömörítsük be a gzip program segítségével az m.tarállományt
Johanyák Zs. Csaba (c) 2013
Feladat hozzunk létre a saját könyvtárunkból nyílóan egy torold alkönyvtárat, és oda csomagoljuk ki a korábban becsomagolt és betömörített állományokat
Johanyák Zs. Csaba (c) 2013
Johanyák Zs. Csaba (c) 2013
tree kapcsolók könyvtárnévkö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
tree
Johanyák Zs. Csaba (c) 2013
Kék – könyvtárTürkiz –
szimbolikus hivatkozásZöld - végrehajtható
Háttér – előtér időzítésprogramnév& program futtatás a háttérben
fg háttérben futó folyamat előhozása
at -f állomány óra:perca megadott időpontban végrehajtja az állományban megadott utasításokat
Johanyák Zs. Csaba (c) 2013
Időzítésatq 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) 2013
Á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) 2013
Parancs csatolásAz 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) 2013
Helyettesítő karakterek* 0 vagy több tetszőleges karakter
? egy darab tetszőleges karakter
[afu] a vagy f vagy u
[135] 1 vagy 3 vagy 5
[a-g] a-tól g-ig terjedő intervallumból
egy karakter
[1-6] 1-től 6-ig terjedő intervallumból
egy karakter
[a-g1-6] az a-tól g-ig vagy az 1-től 6-ig terjedő intervallumból egy karakter
Johanyák Zs. Csaba (c) 2013
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 azidézőjelek között megadott szöveget
Johanyák Zs. Csaba (c) 2013
Semlegesítő karakterek2" " Shell behelyettesítéstől védi a közrefogott
szöveget, de a környezeti változókat behelyettesítils "${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éreecho Ebben a könyvtárban `ls | wc -l` darab bejegyzéstalálható
Johanyák Zs. Csaba (c) 2013
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) 2013
Kapcsolatteremtéstalk felhasználó [terminál] a hívott fél
hasonló parancsmegadással kell válaszoljon, kilépés ^C
write név a hívott fél hasonló parancsmegadással kell válaszoljon, kilépés ^D
mesg [y|n] üzenetfogadás engedélyezése/tiltása/állapot lekérdezése
Johanyák Zs. Csaba (c) 2013
Á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) 2013
mount
A root file systemsu
i-list
data blocks
/dev/du0
/
usr tmp dev etc
/
etcbin lib
su
i-list
data blocks
/dev/hd1 file system
mount elõtt csak a blokkok érhetõk el!
A mount-olás:
# mount /dev/hd1 /usr# cd /usr/lib# cd ../../..
Johanyák Zs. Csaba (c) 2013
/dev/hda1
/dev/hda2
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) 2013
/etc/mtab A már csatolt köteteket tartalmazza
Johanyák Zs. Csaba (c) 2013
/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/sda1UUID=4512d875-aa73-4897-af89-1250ea94afce / ext3
relatime,errors=remount-ro 0 1# /dev/sda5UUID=e54f4a3e-40da-4b3a-bd38-3a79ba2e759c none swap sw
0 0/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
Johanyák Zs. Csaba (c) 2013
• 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 -> )
UUID
Johanyák Zs. Csaba (c) 2013
UUID: Universally Unique Identifierhttps://help.ubuntu.com/community/UsingUUID
/etc/fstab5. 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) 2013
A szuperblokk tartalma ... a fájlrendszer mérete
a szabad blokkok száma
a szabad blokkok listája + index a listán
az i-lista mérete
a szabad i-bögök száma
a szabad i-bögök listája + index a listához
lock mező a két listához
jelző, hogy történt-e módosítás a szuperblokkban
Johanyák Zs. Csaba (c) 2013
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 /devkönyvtárban, amelyben a 0..9 számjegyek egyike szerepel
Johanyák Zs. Csaba (c) 2013
Megoldás
ls /dev/t*[3-8]
ls /dev/*[0-9]* | wc -l
Johanyák Zs. Csaba (c) 2013
Állományrendszer és processzek
Johanyák Zs. Csaba (c) 2013
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) 2013
Az állományrendszer védelmeuid - user identifiergid - group identifier/etc/passwd uid és alap gid/etc/group felhasználó-csoport összerendelésekFelhasználói körök: tulajdonos csoporttárs többieksu - superuser(hagyományosan Unixrendszerekben uid=0)
Johanyák Zs. Csaba (c) 2013
Johanyák Zs. Csaba (c) 2013
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 lsutasítás segítségével egy konkrét könyvtár vagy állománymeglétéről és tulajdonságairól
Johanyák Zs. Csaba (c) 2013
Védelmi kódsortrwxrwxrwx
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) 2013
JogadásFuttatási időre
setgid bit
setuid bit
Állandó
chmod
chown
chgrp
Johanyák Zs. Csaba (c) 2013
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) 2013
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árvagy 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) 2013
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) 2013
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) 2013
Johanyák Zs. Csaba (c) 2013
ps kapcsolók információk folyamatokról-Ou felhasználó szerinti sorrend-Op PID szerinti sorrendf fa szerkezetbena más felhasználók isc csak programnevek paraméter és
tulajdonosnév nélkültxx 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árakozikdate dátum és idő kiírásautasítás& utasítás a háttérben fut
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) 2013
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-bög others rwx-eszabályoz (Bárki számára hozzáférhető fájlom nem biztos, hogy
elérhető általam!)
Johanyák Zs. Csaba (c) 2013
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ő processztulajdonosa)
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) 2013
A sudo parancs
sudo privilégiumot_igénylő_parancs
sudo su
Shell indítása más felhasználó- és csoportazonosítóval:
su felhasználónév
su
Johanyák Zs. Csaba (c) 2013
Parancs futtatása más felhasználó nevében sudo <parancs>
(sudo –u root <parancs>)
sudo –u <felhasználó> <parancs>
Johanyák Zs. Csaba (c) 2013
Sudoers /etc/sudoers
Ki milyen parancsokat futtathat kinek a nevében?
Mihez kell jelszó?
(Szerkesztő pr. kiválasztása: sudo select-editor)
Szerkesztés: sudo visudo
Miért visudo?
A sudo indításkor kiolvassa
Szabályozások sorban érvényesülnek, a későbbi felülírhatja a korábbit
Alias (változók)
User_Alias, Runas_Alias, Host_Alias és Cmnd_Alias
Johanyák Zs. Csaba (c) 2013
A
visudo egy másolatot készít az /etc/sudoers állományról és azon dolgozunk.A 12.04.2 változatban az adm
csoport a rendszergazda (nem admin!). Az elsőként létrehozott felhasználó automatikusan bekerül a sudo és az
adm csoportba.
User_Alias példák # Az"admin" csoport tagjai
User_Alias ADMINS = %admin
# A hallgato és az ervin felhasználói fiókok
User_Alias USERS= hallgato, ervin
# Az ubul és a marci felhasznaloi fiokok
User_Alias WEBMASTERS = ubul, marci
# A ! –el kizárásokat adhatunk meg
User_Alias KORLATOZOTT_FELHASZNALOK= USERS, !WEBMASTERS, !ADMINS
Johanyák Zs. Csaba (c) 2013
Felhasználók és csoportok
beazonosítására/megnevezésére szolgálA % a csoportra utal
Runas_Alias példák
# A #UID egy felhasználói azonosító szám
Runas_Alias ROOT = #0 (nulla)
Runas_Alias ADMINS = %admin, root
Johanyák Zs. Csaba (c) 2013
Felhasználó megnevezés UID alapján
Host_Alias példák # Szerverek
Host_Alias SERVERS = 192.168.0.1, 192.168.0.2, server1
# Egy hálózat
Host_Alias NETWORK = 192.168.0.0/255.255.255.0
# Az összes gép a hálózatból, ami nem szerver
Host_Alias WORKSTATIONS = NETWORK, !SERVERS
Johanyák Zs. Csaba (c) 2013
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) 2013
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
192.168.1.0/255.255.255.0=(ALL)NOPASSWD:/usr/bin/apt-get
Johanyák Zs. Csaba (c) 2013
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-etUgyanaz csak a hera gépről.Csak a hálózat gépeiről.
Hogyan? %admin hera=(root)NOPASSWD:/*/sbin/*
ALL ALL=(ALL)NOPASSWD: ALL
Johanyák Zs. Csaba (c) 2013
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.
Defaults sudo –l jelenleg érvényes effektív beállítások
Defaults:ALL timestamp_timeout=0
Johanyák Zs. Csaba (c) 2013
Defaults:ALL timestamp_timeout=0Which 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
Források https://help.ubuntu.com/community/Sudoers
http://ubuntuforums.org/showthread.php?t=1132821
Minta konfiguráció: http://www.sudo.ws/sudo/sample.sudoers
Johanyák Zs. Csaba (c) 2013
Linux hálózati adminisztráció
Johanyák Zs. Csaba (c) 2013
Johanyák Zs. Csaba (c) 2013
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) 2013
Futási szintek Ubuntuban0 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ósmó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) 2013
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) 2013
Futási szintekUbuntuban 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ű szkriptekettartalmaznak, 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) 2013
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) 2013
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) 2013
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) 2013
/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) 2013
/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) 2013
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) 2013
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) 2013
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) 2013
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/initctlFIFO állományon keresztül zajlik (egy irányban)
Johanyák Zs. Csaba (c) 2013
Démonok manuális kezelése A szkriptek az /etc/init.d/ könyvtárban vannak
Feladatuk a démonok indítása, leállítása, újraindítása, stb.
Használat: „/etc/init.d/script parancs”
Parancs: start : szolgáltatás indítása
stop : szolgáltatás leállítása
restart : szolgáltatás újraindítása (stop, majd start)
Johanyák Zs. Csaba (c) 2013
Démon= háttérben futó program
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) 2013
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) 2013
Johanyák Zs. Csaba (c) 2013
Szoftver csomagok kezelése Több mint 24 000 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) 2013
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 Commanderdpkg -l | grep ‘Midnight Commander’
Johanyák Zs. Csaba (c) 2013
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ásasudo apt-get autoremove
Johanyák Zs. Csaba (c) 2013
Az APT a háttérben a dpkg-t használja.
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áltozatrasudo apt-get upgrade
Disztribúció frissítéssudo apt-get dist-upgrade
Naplózás: /var/log/dpkg.log
Johanyák Zs. Csaba (c) 2013
Aptitude Menüvezérelt karakteres interfész (front-end) az
Advanced Packaging Tool-hoz
sudo aptitude
Johanyák Zs. Csaba (c) 2013
Automatikus frissítés sudo apt-get install unattended-upgrade Konfigurálás:
/etc/apt/apt.conf.d/50unattended-upgradesUnattended-Upgrade::Allowed-Origins {
"Ubuntu lucid-security";"Ubuntu lucid-updates";
};Unattended-Upgrade::Package-Blacklist {
"vim";};
Naplózás: /var/log/unattended-upgrades
Johanyák Zs. Csaba (c) 2013
Unattended-Upgrade::Allowed-Origins – milyen forrásból
engedélyezzükUnattended-Upgrade::Package-Blacklist – milyen csomagokat tiltunk
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 Canonincaltá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 licenszfeltételek, nincs frissítés és támogatás.
Johanyák Zs. Csaba (c) 2013
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) 2013
Johanyák Zs. Csaba (c) 2013
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) 2013
Ubuntu Desktop NetworkManager
Dnsmasq (dnsmasq-base csomag)
/etc/NetworkManager/NetworkManager.conf
Johanyák Zs. Csaba (c) 2013
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 (127.0.0.1#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.
/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) 2013
/etc/resolv.conf Generált állomány
Tartalma származhat
DHCP kiszolgálótól
Kézzel megadva az /etc/network/interfaces-ben
/etc/dhcp/dhclient.conf
Johanyák Zs. Csaba (c) 2013
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.
/etc/network/interfaces
Johanyák Zs. Csaba (c) 2013
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) 2013
Johanyák Zs. Csaba (c) 2013
Ábra forrása: VerisignDomain Name Industry Brief, June 2007 (PDF), utolsó oldal.
Rekurzív névfeloldást végző szerver
BIND
Berkeley Internet Name Domain
leggyakrabban használt DNS implementáció (ISC)
BIND 9
http://tldp.org/HOWTO/DNS-HOWTO-4.html
https://help.ubuntu.com/community/BIND9ServerHowto
Johanyák Zs. Csaba (c) 2013
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) 2013
/etc/bind/named.conf.options - általános beállításokoptions {
directory "/var/cache/bind";forwarders {10.11.12.1; 10.12.12.1};forward first;listen on port 53 {10.1.1.2;}; query-source address * port 53;allow-querry {127.0.0.1; 10.1.1.0};cleaning-interval 120;notify yes; recursion yes;
}
Johanyák Zs. Csaba (c) 2013
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 portonfogadja 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) 2013
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) 2013
Caching-only NS Alapból egy caching-only típusú DNS-ként működik
Elegendő a forwarders részben megadni az ISP névszervereit
Majd újraindítani a szervert
/etc/init.d/bind9 restart
Johanyák Zs. Csaba (c) 2013
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.
/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) 2013
/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) 2013
/etc/named.conf.local - zóna beállítások
zone "gyakorlat.hu" {
type master;
file "/etc/bind/gyakorlat.hu";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/1.168.192";
};
Johanyák Zs. Csaba (c) 2013
Zónatípusok Névfeloldáshoz
kiegészítő: "." ha a nevet pont végződés nélkül adjuk meg akkor ez a zóna mindig hozzá adódik – a gyökérszintű névszerverekről tartalmaz infót a DNS inicializálásához
névtartomány localhost
valódi zóna
Címfeloldáshoz (inverz névfeloldáshoz)
Johanyák Zs. Csaba (c) 2013
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) 2013
Rekordok felépítéseA 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) 2013
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) 2013
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) 2013
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. (
2002052501 ;Serial nr.
1D ;Refresh
2H ;Retry
1W ;Expire
2D) ;TTL
Johanyák Zs. Csaba (c) 2013
SOA otthon.hu. a zóna neve
belzebub.otthon.hu. az elsődleges szerver
mester.otthon.hu. e-mail cím ([email protected] é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) 2013
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) 2013
A - Address, cím rekord
egy domain névhez IP címet rendelünk
belzebub A 10.1.1.1
jelentése: belzebub.otthon.hu IP címe: 10.1.1.1
Johanyák Zs. Csaba (c) 2013
NS - Name Server, névszerver rekord Egy zóna névszervereinek megadása
A zóna egy delegálási pont
pl. osztaly NS gep.osztaly.valami.hu.
Az 'osztaly' zóna névszervere a gep.osztaly.valami.hu.
Ajánlatos legalább két névszervert megadni
NS belzebub.otthon.hu
Johanyák Zs. Csaba (c) 2013
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 felsorolniparamétere egy gép domain neve.
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 190.1.2.3
Az idegen A rekordot nevezik glue (ragadvány) rekordnak
Johanyák Zs. Csaba (c) 2013
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 www.otthon.hu egy másik neve a belzebub.otthon.hu-nak
Johanyák Zs. Csaba (c) 2013
MX - Mail eXchanger, levelező szerver rekordotthon.hu. MX 10 mail.otthon.hu.
MX 20 mas.otthon.hu.
a [email protected] alakú címre érkező leveleket a mail.otthon.hu vagy a mas.otthon.hu.gépekre kell küldeni
10, 20 a rekord preferenciát jelenti, csak akkor van jelentősége, ha több MX rekord tartozik ugyanahhoz a névhez: kisebb szám nagyobb preferenciát jelent
Johanyák Zs. Csaba (c) 2013
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.
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) 2013
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) 2013
Linux hálózati adminisztráció
Johanyák Zs. Csaba (c) 2013
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.
DHCP üzenetek
Johanyák Zs. Csaba (c) 2013
Ügyfél KiszolgálóDHCP discoverSzórt üzenet
255.255.255.255
Ügyfél KiszolgálóDHCP offerSzórt üzenet
255.255.255.255
Ügyfél KiszolgálóDHCP requestSzórt üzenet
255.255.255.255
Ügyfél KiszolgálóDHCP ackSzórt üzenet
255.255.255.255
/var/log/messages 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.
Mit kap az ügyfél? IP cím
Átjáró címe (forgalomirányító)
DNS kiszolgálók címei
DNS tartománynév, keresési tartományok
Alhálózati maszk
Bérleti időtartam
WINS csomóponttípus
WINS kiszolgálók címei
Johanyák Zs. Csaba (c) 2013
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.
Kiszolgáló telepítése $ sudo apt-get update
$ sudo apt-get install isc-dhcp-server
Fontosabb állományok szerver oldalon
/etc/dhcp/dhcpd.conf
/etc/default/isc-dhcp-server
/var/lib/dhcp/dhcpd.leases
Johanyák Zs. Csaba (c) 2013
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.
/etc/dhcp/dhcpd.confauthoritative;
ddns-update-style none;
option domain-name "gamf.hu";
option domain-name-servers 10.1.51.23, 10.1.51.25;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
default-lease-time 600; # 10 perc
max-lease-time 7200; # 2 óra
Johanyák Zs. Csaba (c) 2013
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: 10.1.51.23, 10.1.51.25
(option domain-name-servers).Az üzenetszórási cím a kiszolgált alhálózatban: 192.168.1.255
(option broadcast-address).Az alapértelmezett átjáró: 192.168.1.254 (option routers).Az alhálózati maszk:
255.255.255.0 (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 http://www.daemon-
systems.org/man/dhcpd.conf.5.html
/etc/dhcp/dhcpd.confhost belzebub
{ hardware ethernet 08:00:27:e4:f3:45;
fixed-address 192.168.1.5;
option host-name belzebub;
}
subnet 192.168.1.0 netmask 255.255.255.0{
range 192.168.1.10 192.168.1.250;
}
Johanyák Zs. Csaba (c) 2013
A paramétereket
megadhatjuk alhálózati szinten is. Rögzített 192.168.1.2 IPv4 cím kiosztása a belzebub gép számára
(host).Dinamikus IPv4 címkiosztás a 192.168.1.10-250 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
itthttp://raerek.blogspot.hu/2012/03/pxe-boot-szerver-ubuntu-1204-en-elso.htmlolvasható.
Hova szolgáltasson?Mely interfész(ek)en szolgáltasson?
$ sudo nano /etc/default/isc-dhcp-server
INTERFACES="eth1"
Indítás
$ sudo service isc-dhcp-server start
Kliensen
$ sudo dhclient
Johanyák Zs. Csaba (c) 2013
DHCP szolgáltatás nyújtása az eth1 interfészen.
Szerveren
Johanyák Zs. Csaba (c) 2013
Kliensen
Johanyák Zs. Csaba (c) 2013
/var/lib/dhcp/dhclient-xxxx-ethx.lease (Desktop)/var/lib/dhcp/dhclient.eth0.leases (Server)
Kliens konfiguráció /etc/dhcp/dhclient.conf
Johanyák Zs. Csaba (c) 2013
Johanyák Zs. Csaba (c) 2013
Könyvtárak megosztása a hálózaton
NFS
Samba
WebDAV
Johanyák Zs. Csaba (c) 2013
NFSv3
Network File System
Szerver-kliens modell
Szerver exportál
Kliens importál
Egy gép mindkettő lehet
Johanyák Zs. Csaba (c) 2013
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 installportmap)
RPC mount-daemon (rpc.mountd)
RPC NFS daemon (rpc.nfsd)
Johanyák Zs. Csaba (c) 2013
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ágokkalcsatolhatják fel
/home 192.168.1.1/255.255.255.0(rw)
/segedlet belzebub(rw) pandora(ro)
/ubuntu *(ro,sync,no_root_squash))
Az állomány megváltoztatása után: sudo /etc/init.d/nfs-kernel-server start
Johanyák Zs. Csaba (c) 2013
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.
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) 2013
NFS kliens
Célszerű telepíteni az nfs-common és a portmapcsomagokat
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 nfsrw,hard,intr 0 0
Johanyák Zs. Csaba (c) 2013
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) 2013
Samba v3
Server Message Block
A Windows és az OS/2 használja az erőforrásokmegosztá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) 2013
Megosztás és szolgáltatás
Megosztás: olyan erőforrás, amit egy számítógépaz SMB-n keresztül a munkacsoport többiszá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) 2013
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 Windowsosmegosztások elérése Linuxos (Unixos) gépről
Samba szerver: feladata Linuxos (Unixos) könyvtárak és nyomtatók megosztásaWindowsos gépek számára
Johanyák Zs. Csaba (c) 2013
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> -Nsmbclient –L tanterem -N
-N jelszó nélküli lekérdezés
Johanyák Zs. Csaba (c) 2013
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) 2013
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) 2013
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=000 0 0
//tanterem/9-labor$ /mnt/9-labor …
Johanyák Zs. Csaba (c) 2013
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 http://www.samba.org/
Johanyák Zs. Csaba (c) 2013
Samba szerver konfigurálása
minden felhasználót be kell jegyezni csak a Linuxban (/etc/passwd) már bejegyzett felhasználókat lehet felvennisecurity=userunix password sync=yes
[labor]comment=Laborwriteable=yespath=/mnt/9-laborpublic=yesread list= jcsaba, @adminokwrite list=jcsaba, @adminok
Konfigurációs állomány tesztelése: testparm
Johanyák Zs. Csaba (c) 2013
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) 2013
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) 2013
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) 2013
Konfigurálás2 Az apache2 www-data felhasználóként fut. Ellenőrzés:
ps –ef | grep apache2
Beállítjuk, hogy a var könyvtár és annak tartalma a www-data felhasználói fók tulajdonába kerüljön
chown -R www-data:www-data /usr/share/apache2/var
Johanyák Zs. Csaba (c) 2013
Konfigurálás3 Jelszóállomány létrehozása és hallgato felhasználó
felvételesudo 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áshtpasswd -mb /etc/apache2/.htpasswd proba proba
Johanyák Zs. Csaba (c) 2013
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.
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) 2013
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) 2013
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) 2013
Johanyák Zs. Csaba (c) 2013
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) 2013
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) 2013
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 felh@gépnév Milyen portokon fogadjon kéréseket? Listen 127.0.0.1:631 #loopback Listen /var/run/cups/cups.sock #socket Listen IPcím:631 #hálózaton
Johanyák Zs. Csaba (c) 2013
CUPS konfigurálás Webes felületen
Johanyák Zs. Csaba (c) 2013
Konfigurálás grafikus felületen
Johanyák Zs. Csaba (c) 2013
sudo /etc/init.d/cups restart
Linux hálózati adminisztráció
Johanyák Zs. Csaba (c) 2013
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) 2013
Uncomplicated Firewall Engedélyezés: sudo ufw enable|disable
Állapot: sudo ufw status [verbose]
Konfig. Állományok: /etc/default/ufw, /etc/ufw/ufw.conf
Szabályok: /lib/ufw/user.rules
Engedélyezés példák
sudo ufw allow szolgáltatásnév|port/protokoll
sudo ufw allow ftp
sudo ufw allow 137/tcp
Johanyák Zs. Csaba (c) 2013
A szolgáltatásnév kell szerepeljen az /etc/services-ben
ufw - tiltás sudo ufw deny proto tcp from 192.168.0.5 to any port 22
sudo ufw deny 22
Johanyák Zs. Csaba (c) 2013
sudo ufw deny proto tcp from 192.168.0.5 to any port
22Egyik interfészhez se lehet kapcsolódni tcp-vel a 22-es porton a 192.168.0.5 gépről.
Utasítások Szabály törlése
sudo ufw delete allow 137/tcp
Milyen iptables utasítások keletkeznek egy ufwutasítás eredményeképpen?
sudo ufw –dry-run allow http
Johanyák Zs. Csaba (c) 2013
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) 2013
Profilok Profil beállításainak megtekintése
sudo ufw app info ALKALMAZÁS
Johanyák Zs. Csaba (c) 2013
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 192.168.1.0/24 app Samba
Eredmény (/lib/ufw/user.rules)
Johanyák Zs. Csaba (c) 2013
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) 2013
IP álcázásNAT Csomagtovábbítás engedélyezése
/etc/default/ufw DEFAULT_FORWARD_POLICY="ACCEPT" /etc/ufw/sysctl.conf net/ipv4/ip_forward=1
NAT tábla konfigurálása /etc/ufw/before.rules az állomány elejére a fejléc után # nat Table rules *nat :POSTROUTING ACCEPT [0:0] # Forward traffic from eth1 through eth0. -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE COMMIT
Változások érvényesítése sudo ufw disable && sudo ufw enable
Johanyák Zs. Csaba (c) 2013
/etc/default/ufw
Johanyák Zs. Csaba (c) 2013
/etc/ufw/ufw.conf
Johanyák Zs. Csaba (c) 2013
Firestarter sudo apt-get install firestarter
sudo /usr/sbin/firestarter
Varázsló
Eszköz kiválasztása listából (ethx)
Internet kapcsolat megosztás engedélyezése (NAT)
Tűzfal indítása
Johanyák Zs. Csaba (c) 2013
Grafikus felület a tűzfal konfigurálásához
Firestarter varázsló
Johanyák Zs. Csaba (c) 2013
Firestarter Szabályok
Bejövő forgalomra
Kimenő forgalomra (alapból engedélyező|alapból tiltó)
Engedélyezés|Tiltás
Gépről
Szolgáltatás
Átirányítás
Johanyák Zs. Csaba (c) 2013
Bejövő forgalom szabályai
Johanyák Zs. Csaba (c) 2013
Kimenő forgalom szabályai Fehér listás
Fekete listás
Johanyák Zs. Csaba (c) 2013
Diagnosztikai eszközök tiltása
Johanyák Zs. Csaba (c) 2013
Alkalmazások - AppArmor
Johanyák Zs. Csaba (c) 2013
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) 2013
MAC implementáció Ubuntuban
AppArmor (Application Armor) – alapértelmezett
SELinux (Security Enhanced Linux)
Johanyák Zs. Csaba (c) 2013
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) 2013
AppArmor Indítás: /etc/init.d/apparmor start|stop|restart
Kiszolgáló (pl. Apache, Samba, SQUID, Postfix) telepítésekor települ a hozzá tartozó profil
További profilok az apparmor-profiles csomagban
Üzemmódok Enforce – kikényszerítő
Complain - figyelmeztető
Johanyák Zs. Csaba (c) 2013
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.
apparmor-utils apparmor_status – kiírja az üzemmódot és a betöltött
profilok listáját
Johanyák Zs. Csaba (c) 2013
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) 2013
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) 2013
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) 2013
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) 2013
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) 2013
include –direktívával illesztik be a hivatkozásokat
Johanyák Zs. Csaba (c) 2013
Johanyák Zs. Csaba (c) 2013
Szolgáltatások védelme Kerberossegí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) 2013
Johanyák Zs. Csaba (c) 2013Forrás: http://en.wikipedia.org/wiki/Kerberos_%28protocol%29
Autentikáció1. Bejelentkezéskor automatikusan
2. A felhasználó kezdeményezi kinit-tel
Ez utóbbi menete
A Kerberos felhasználónevet elküldi az Authentication Server (AS)-hez
Az AS visszaküld egy tikett kiutaló tikettet (TicketGranting 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) 2013
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) 2013
Johanyák Zs. Csaba (c) 2013
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 Kerberoskiszolgáló segítségével (Kerberos tikett)
Johanyák Zs. Csaba (c) 2013
http://sugo.ubuntu.hu/10.04/html/serverguide/hu/openssh-
server.htmlhttps://help.ubuntu.com/community/SSH/OpenSSH/Configuring
Hitelesítés A kulcshozzáférést külön jelszóval is korlátozhatja
Először a hoszt hitelesítése, majd a felhasználó hitelesítése
A további információáramlás már a kiszolgáló és az ügyfél által közösen választott (vagy előre meghatározott) algoritmussal
Nyilvános kulccsal titkosít a kiszolgáló
Johanyák Zs. Csaba (c) 2013
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.
Kiszolgáló Kiszolgáló telepítése
sudo apt-get install openssh-server -y
Kiszolgáló indítása, leállítása, újraindítása, állapota
sudo service ssh start|stop|restart|status
A 22-es porton várja a kéréseket
Nyilvános kulcsot a ~/.ssh/authorized_keysállományhoz kell hozzáadni
Johanyák Zs. Csaba (c) 2013
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 e-mailben
elküldöm a kiszolgálóra. Régi: sudo /etc/init.d/ssh start|stop|restart|status
Kiszolgáló konfigurálás/etc/ssh/sshd_config Port 22 (ez az alapért., de célszerű mást beállítani 1024…
49152, pl. 2222)
Üdvözlőszöveg, figyelmeztetés, stb. Banner /etc/issue.net
Az autentikáció történhet jelszó vagy SSH kulcs alapon* Jelszó alapú letiltása:
PasswordAuthentication no
Nyilvános kulcs alapú: PubkeyAuthentication yes RSAAuthentication yes
Johanyák Zs. Csaba (c) 2013
Banner: bejelentkezés előtt megjelenő üzenetHa
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.
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) 2013
Tűzfal Tűzfal profil települ:
/etc/ufw/applications.d/openssh-server
Sudo ufw allow
Johanyák Zs. Csaba (c) 2013
OpenSSH átngedése a tűzfalon
Johanyák Zs. Csaba (c) 2013
Ellenőrzés Fut-e? ps –A | grep sshd
Milyen porton várja a kéréseket? ss –lnp | grep sshd
Helyi bejelentkezés: ssh –v localhost
Johanyák Zs. Csaba (c) 2013
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
Ellenőrzés Fogad-e kapcsolatot?
sudo netstat --inet -lpn | grep sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN <PID>/sshd
Johanyák Zs. Csaba (c) 2013
Felhasználói szintű konfigurálás ~/.ssh/config
A konfigurációs állomány szegmensekre van osztva, minden szegmens egy hosztra/az összes hosztravonatkozó beállításokat tartalmazza
Szegmens
HOST 193.56.30.11
User Xaver
Compression no
Cipher blowfish
Johanyák Zs. Csaba (c) 2013
Ügyfélgép Ügyfélszoftver telepítése
sudo apt-get install openssh-client
Kulcsok létrehozása RSA vagy DSA titkosítással
ssh-keygen -t rsa|dsa
Kulcsok: ~/.ssh/id_rsa.pub és ~/.ssh/id_rsa
Titkos kulcsok betöltése a memóriába
ssh-add -l
Johanyák Zs. Csaba (c) 2013
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
Kulcsok generálása
Johanyák Zs. Csaba (c) 2013
Ügyfélprogramok ssh – parancssori és grafikus (-X kapcsoló) távoli
kapcsolatoknál ssh felhasznnálónév@gépnév
scp – fájlok másolása gépek között. Pl. helyi gépről távoli gépre scp forráfájl felh@gépnév:/könyvtár/célfá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 felhasználó@gépnév
Johanyák Zs. Csaba (c) 2013
Johanyák Zs. Csaba (c) 2013
Központosított felhasználómenedzsment
NIS
LDAP
Johanyák Zs. Csaba (c) 2013
NIS Network Information System
Korábbi neve Sun Yellow Pages (YP)
Konfigurációs állományok adatbázisa (pl. jelszavak)
Egy mester (elsődleges) szerver és több szolga (másodlagos) szerver
Konfigurációs állományok módosítása csak a mester szerveren
Minden Unix rendszer támogatja
Johanyák Zs. Csaba (c) 2013
Yello Pages – a British Telecom védjegye
NIS
Pl. /etc/password jelszó térkép
Letöltve a másodlagos szerverekre
A NIS kliensek nem a lokális password állományt használják, hanem lekérdezik a szervert
NFS-el kiegészítve, ha a felhasználó bárhonnan jelentkezik be, ugyanaz a saját könyvtára
Johanyák Zs. Csaba (c) 2013
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) 2013
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) 2013
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: shadowpasswd (nem)
Csoportok összeolvasztása: gshadowgroup (nem)
Minimális UID és GID (ez alatt nem oszt szét=titkos)
Johanyák Zs. Csaba (c) 2013
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: 255.0.0.0
Hálózat: 127.0.0.0
Mindenki: Hálózati maszk: 0.0.0.0
Hálózat: 0.0.0.0
Johanyák Zs. Csaba (c) 2013
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) 2013
Kliens beállítása szerver is lehet NIS kliens, ilyenkor 127.0.0.1
egyébként pl.: 192.168.1.201
Johanyák Zs. Csaba (c) 2013
Kézi beállításhoz kiegészítésRPC 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) 2013
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) 2013
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) 2013
Name Service Switch Pl.:
passwd: files ldap
hosts: files ldap dns
netmasks: files
Johanyák Zs. Csaba (c) 2013
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) 2013
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) 2013
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) 2013
Internet tartomány név alapú fastruktúra DIT: directory
information tree Hivatkozás a
bejegyzésre:RFC4514, DN: distinguished
name: uid=babs,ou=People,dc=example,dc=com
RDN: Relative Distinguished Name uid=babs
Johanyák Zs. Csaba (c) 2013
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: [email protected]
objectclass: personJohanyák Zs. Csaba (c) 2013
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) 2013
Bejegyzések
egy bejegyzés (attribútum) többobjektumosztályhoz is tartozhat
• cn: Halász Gábor (commonName)
• givenname: Gábor
• surname: Halász
• mail: [email protected]
a person objektumosztályban cn és sn attribútumok szükségesek
telephoneNumber, seeAlso és userpasswordjellemzők engedélyezettek, de nem szükségesek
Johanyák Zs. Csaba (c) 2013
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) 2013
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) 2013
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) 2013
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) 2013
Accessing LDAP Add, modify, and delete entries with ldapadd, ldapmodify, and ldapdelete
Search the LDAP database with ldapsearch
Bind as some DN or anonymouslyldapsearch -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) 2013
DNFS distributed network file system
Olyan, mint egy RAID rendszer, amit több hosztsegí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) 2013
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) 2013
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) 2013
Linux hálózati adminisztráció
Johanyák Zs. Csaba (c) 2013
Téma Az előadás elmaradt – pótlás dec. 4.
Johanyák Zs. Csaba (c) 2013
Linux hálózati adminisztráció
Johanyák Zs. Csaba (c) 2013
Téma Hallgatói kiselőadások
LDAP folytatás
Johanyák Zs. Csaba (c) 2013
Linux hálózati adminisztráció
Johanyák Zs. Csaba (c) 2013
Téma Elődás ZH
Johanyák Zs. Csaba (c) 2013
Linux hálózati adminisztráció
Johanyák Zs. Csaba (c) 2013
Szkriptek készítése Szkript – shell utasításokat tartalmazó program
#!/bin/bash
… (BASH utasítások)
chmod ugo+x szkript.sh
Indítás: ./szkript_név.sh
Indítás: /bin/bash szkript_név.sh
Johanyák Zs. Csaba (c) 2013
A +
előtt nem állhat szóköz!
Online bash szkript értelmező
http://www.compileonline.com/execute_bash_online.php
Johanyák Zs. Csaba (c) 2013
Változók Utasítás eredménye változóba
u=`id -u` a=`ls -la | grep -c "proba.txt"` b=`ls -la | grep -c "txt"`
Változóban tárolt adat átadása parancsnak bemenő paraméterként echo $Vált | parancs
Változó tartalma konzolra echo $u
# Kiírás a konzolra úgy, hogy a végén ne legyen újsor jel # pl. adatbekérésnél lehet előnyös
echo -n "Kérem a számot:" read a
Johanyák Zs. Csaba (c) 2013
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
Numerikus változó deklarálása
declare -i szam
Konstans deklarálása
declare –r v=3
Tömb deklarálása
declare
Johanyák Zs. Csaba (c) 2013
Feltételes elágazás
Johanyák Zs. Csaba (c) 2013
Feltételes elágazásif [ $a -gt 0 ]
then
echo "A proba.txt megtalálható az aktuális könyvtárban"
elif [ $b -gt 0 ]
then
echo "A proba.txt nem található meg az aktuális könyvtárban, de vannak más txt nevűek"
else
echo "A proba.txt nem található meg az aktuális könyvtárban"
fi
Johanyák Zs. Csaba (c) 2013
# A
zárójelek elé/után kell a szóköz, különben hibaüzenet
Relációs opertátorok-eq - Equal to
-lt - Less than
-gt - Greater than
-ge - Greater than or Equal to
-le - Less than or Equal to
Negálás: !
Johanyák Zs. Csaba (c) 2013
Két
numerikus érték összehasonlítására
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) 2013
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.
Johanyák Zs. Csaba (c) 2013
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"
Feltételek összekapcsolása-a - Performs the AND function
-o - Performs the OR function
Johanyák Zs. Csaba (c) 2013
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 veszia=`date |cut -d" " -f4 |cut -d"," -f1`
# CASE szerkezetcase $a invasárnap) c=7;;hétfő) c=1;;kedd) c=2;;*) c=0;;esacecho $cecho "Ma a hét $c. napja van"
Johanyák Zs. Csaba (c) 2013
A
fordított idézőjelek közé tett részt kiértékeli, és az eredmény kerül a változóba.
Paraméterek # Kiíratjuk az átvett paramétereket
echo $1 $2 $3
# a szkript neve
echo $0
# A paraméterek száma
echo $#
All of the positional parameters, seen as a single word
echo $*
Johanyák Zs. Csaba (c) 2013
$0 – nulla a dollárjel után
Kifejezések # $[ kifejezés ]
# $(( kifejezés #))
echo $a+$b = $(($a + $b))
Változó behelyettesítés
Johanyák Zs. Csaba (c) 2013
Mindkét kifejezés készítési mód használható.
Paraméterek
Johanyák Zs. Csaba (c) 2013
Paraméterek
Johanyák Zs. Csaba (c) 2013
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) 2013
Ciklus - UNTIL# UNTIL ciklus
# Várakozunk, amíg valaki el nem indítja a MidnightCommander-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) 2013
Ciklus - FOR# FOR ciklus# Numerikus ciklusváltozóvalfor i in 1 2 3 4 5 6 7 doecho "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éliTomb=$(echo $PATH | tr ":" "\n")# Sorra veszi a tömb elemeit és kiírja a képernyőrefor var in $Tombdoecho $var
done
Johanyák Zs. Csaba (c) 2013
Fájlnevek és tulajdonosok
Johanyák Zs. Csaba (c) 2013
For lista nélkül
Johanyák Zs. Csaba (c) 2013
Az aktuális könyvtár minden állománynevét kisbetűsre változtatjafor 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) 2013
Függvények használataFüggvénynév()
{
utasítások
}
Függvényhívás
Johanyák Zs. Csaba (c) 2013
Egy ip intervallum végig pingelése, és a működő gépek kijelzésemukodik_e(){echo -n $1ping -c 1 $1 > /dev/nullif [ $? -eq 0 ] thenecho " működik."
elseecho " nem válaszol."
fi}
clearfor i in 10.0.2.{1..255} domukodik_e $i
done
Johanyák Zs. Csaba (c) 2013
Paraméterátadás!# egyszer megpingeli kimenet a kukába # Ha a ping visszatérési értéke 0 (OK) akkor kiírja,
hoyg működis
A Bash trap parancsa bashtrap(){
echo "CTRL+C megnyomva!..."}
trap bashtrap INTclear# Egy ciklus, hogy egyen idő kipróbálnifor i in `seq 1 10` dosleep 5;
done
Johanyák Zs. Csaba (c) 2013
# bash trap function is executed when
CTRL-C is pressed:# bash prints message => Executing bash trap subrutine !
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) 2013
Aritmetika - műveletek echo "Az első szám: "read aecho " A második szám: " & read becho "Egyszerű műveletek:"# Az eredmény a "c" változóba kerül let c=$a+$becho $a+$b=$clet c=$a-$becho $a-$b=$clet c=$a*$becho $a*$b=$clet c=$a/$becho $a/$b=$clet c=$a%$becho $a%$b=$clet c=$a**$becho $a^$b=$c
Johanyák Zs. Csaba (c) 2013
É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) 2013
(( 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) 2013
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 : 0 - 32767 (előjeles 16-bites egész).
Johanyák Zs. Csaba (c) 2013
Számrendszer váltás szam=$((2#10101))
echo $szam
s=$((8#55))
echo $szam
szam=$((16#E1A))
echo $szam
Johanyák Zs. Csaba (c) 2013
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.
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) 2013
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) 2013
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) 2013
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) 2013
Jelszógenerátor#!/bin/bash# jelszo.shecho "--------------------------------------"echo "- Véletlen jelszó generálása -"echo "--------------------------------------"# Alapötlet: Antek Sawicki <[email protected]>,# A jelszóban használt karakterekKarakterek="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"# A jelszó hosszaHossz="8"# A jelszó karaktereit egyesével állítjuk elő
Johanyák Zs. Csaba (c) 2013
Jelszógenerátorfor i in `seq 1 $Hossz` do# A Karakterek tömb elemeinek számaElemSzam=${#Karakterek}# Véletlenszám 1..ElemSzam-1Veletlen=$(($RANDOM%$ElemSzam))# A jelszó soron következő karaktereUjKar=${Karakterek:$Veletlen:1}# Hozzáadás az eddigi jelszóhozJelszo="$Jelszo$UjKar"# Az egészet egyetlen utasításban is megoldhatjuk# Jelszo="$Jelszo${Karakterek:$(($RANDOM%${#Karakterek})):1}"
doneecho "$Jelszo"
Johanyák Zs. Csaba (c) 2013
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élList="one two three"for a in $Listdo
echo "$a"done# one# two# threefor a in "$List" do
echo "$a"done# one two three
Johanyák Zs. Csaba (c) 2013
Csoporttagságok#!/bin/bash
# csoportok.sh
CsoportSzam=${#GROUPS}
echo "Csoportagságok száma: $CsoportSzam"
for g in `seq 1 $CsoportSzam`
do
((sgid=${GROUPS[$g]}))
# Kiírja az egyes csoportazonosítókhoz tartozó csoportneveket
awk -F':' -v gid="$sgid" '{ if ( $3 == gid ) {print $1} }' /etc/group
done
Johanyák Zs. Csaba (c) 2013
Kiírja a konzolra, hogy az aktuális felhasználó mely
csoportoknak tagja.Hasonló: id –G -n
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) 2013
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) 2013
Menü select-telPS3='Please enter your choice: ' options=("Option 1" "Option 2" "Option3" "Quit") select opt in "${options[@]}" docase $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;;
esacdone
Johanyák Zs. Csaba (c) 2013