A Linux operációs rendszer
2017-2019.11. évfolyam, informatikai rendszerüzemeltető
2
A Linux operációs rendszer
Témakörök1. Kialakulása2. Disztribúciók3. Telepítés, bootloader4. Csomagkezelés5. Rendszer felépítése, kernel (könyvtárak, fájlok, jogok, felhasználók)6. Konzol7. Alapvető parancsok8. Grafikus felület (GUI), ablakkezelők9. Terminálok, parancssor, alias, előzmények (környezeti változók, súgó)10. Könyvtárszerkezet, csatolások (mount)11. Felhasználókezelés, csoportok12. Rendszergazda fiók (sudo)13. Csomagkezelés, processzkezelés14. Fájlrendszer jogosultságok15. Shell, héjprogramozás, fájlok
3
A Linux operációs rendszer
1. Kialakulása● Linus Torvald (finn), 1991.● Szakdolgozatként indult (UNIX-like)● Nyílt forráskódú, ingyenes (GPL)● Több disztribúció jelent meg
● Disztribúció → terjesztés, kiadás● A kernel köré épül a rendszer: moduláris, hibrid kernel
● Interneten:● http://linux.org● http://kernel.org
4
A Linux operációs rendszer
1. Kialakulása● Kabalája:
● A hivatalos Linux Pingvint Linus Torvalds választotta ki. Az eredeti ötlet Alan Cox-é volt. A rajzot Larry Ewing készítette.
5
A Linux operációs rendszer
2. Disztribúciók● Nyílt forráskód (GPL)● Kiadások, közösségek saját fordításai● Legismertebb disztribúciók:
● RedHat● CentOS● Fedora
● Debian● Ubuntu
● SuSE● Gentoo● Arch
● Mandriva (korábban Mandrake)● Slackware
● Mint ...stb.
6
A Linux operációs rendszer
2. Disztribúciók● Magyar disztribúciók:
● UHU-Linux (Debian alapokon)● BlackPanther OS (RH alapokon)
7
A Linux operációs rendszer
3. Telepítés● Telepítési folyamat:
● Hagyományos telepítés● Ma már grafikus, korábban volt konzolos (text)● Telepítési módok:
● Médiáról (CD, DVD, USB)● Live Média
● Hálózatról
8
A Linux operációs rendszer
3. Telepítés● Telepítési példák:
9
A Linux operációs rendszer
3. Telepítés● Telepítési példák:
10
A Linux operációs rendszer
3. Telepítés● Telepítési példák:
11
A Linux operációs rendszer
3. Bootloader● Rendszerbetöltő● Első lépés induláskor● BIOS, EFI ezt indítja először● Ez tölti be az operációs rendszert, kernelt (magot)
● GRUB● Korábban: LILO
12
A Linux operációs rendszer
3. Bootloader● GRUB: Grand Unified Boot Loader● Folyamat: MBR v. GPT
13
A Linux operációs rendszer
3. Bootloader● GRUB 2
14
A Linux operációs rendszer
4. Csomagkezelés● Disztribúciók meghatározzák a csomagokat● Mik a csomagok?
● Programok kezelése csomagszinten● Egy csomag: egy alkalmazás v. annak része
● Alapvető formátumok:● rpm (redhat package management)● deb (debian package)
● Telepítéskor installálódnak● Utólag is telepíthetők, eltávolíthatók
● Pl.: kernel-4.9.5-200.fc25.x86_64.rpm
15
A Linux operációs rendszer
4. Csomagkezelés
16
A Linux operációs rendszer
4. Csomagkezelés● Csomagkezelés sokszor nehézkes volt
● Függőségek● Egyszerűsítésre volt szükség
● Csomagkezelő segédprogramok● apt (Debian rendszerek)● dnf ill. yum (RedHat rendszerek)
● Ezekhez van konzolos és grafikus front-end
17
A Linux operációs rendszer
4. Csomagkezelés● Csomagkezelők összehasonlítása
18
A Linux operációs rendszer
5. Rendszer felépítése, a KERNEL● Kernel = rendszermag. Az operációs rendszer „lelke”, ez irányítja a rendszert.● Általában az operációs rendszer belső rétegét nevezik így, mely alapvető szolgáltatásokat biztosít a rendszer felsőbb rétegei számára. Általában ezek hardverközeli hozzáférések (eszközmeghajtó-programok), IO és processz ütemezés, filerendszer megvalósítás, hálózati stack, stb.● Forrás: https://hup.hu
19
A Linux operációs rendszer
5. Rendszer felépítése, a KERNEL
● Milyen kerneltípusok léteznek?● Mikrokernel● Monolitikus● Rétegzett (layered)● Virtuális gépeken alapuló● Kliens-szerver modellen alapuló● Moduláris● Hibrid kernel
20
A Linux operációs rendszer
5. Rendszer felépítése, a KERNEL● Monolitikus kernel:
● A monolitikus kernelű operációs rendszer (mint például a UNIX, Linux) magja egyetlen programból áll. Ebben a programban az eljárások szabadon hívhatják egymást, a köztük levő kommunikáció eljárásparamétereken és globális változókon keresztül zajlik.
21
A Linux operációs rendszer
5. Rendszer felépítése, a KERNEL● Mikrokernel:
● A mikrokernel olyan kernel, ahol nem egyetlen egészben van megvalósítva a szokványos (azaz nem monolitikus) kernel összes feladata, hanem több, egymással kooperáló program látja el ezt a feladatot, így futásidőben is messzemenőkig átkonfigurálhatóvá válik a rendszer.
● Bár az elmélet szép, az az igazság, hogy a gyakorlatban nehéz jó mikrokernelt írni, talán ezért is van, hogy a népszerű Linux se mikrokernel felépítésű, bár több szempontból már nem is tekinthető teljesen monolitikus kernelnek se, mégis talán ahhoz áll közelebb.
● Mikrokernelek: EROS, Mach, L4.
22
A Linux operációs rendszer
5. Rendszer felépítése, a KERNEL● Moduláris:
● A linux kernel eltér a hagyományos értelemben vett monolitikus kernelektől abban, hogy a kód nagy része (jellemzően egy-egy adott hardware támogatásáért felelős driver, azaz "eszközmeghajtó") nemcsak a kernel állományban foglalhat helyett, hanem külön ún. kernel modulból is betöltehető. Ez a 2.0-ás kernelben bevezetett változás jelentősen lecsökkenti a kernel méretét és megkönnyíti a fejlesztést (adott modul új verzióra cserélése újraindítás nélkül, vagy épp 3rd party modulok fejlesztése akár a kerneltől eltérő licenszel). A kernel modulok általában a /lib/modules/kernel_verzio/ könyvtárban találhatók. A 2.4 szériáig a modprobe volt a fő modultöltő, ezt a 2.6-tól a module-init-tools váltotta fel (mivel megváltozott a kernel modulokért felelős API).
23
A Linux operációs rendszer
5. Rendszer felépítése, a KERNEL● Hibrid kernel:
● A hibrid kernelek alapjában véve olyan mikrokernelek, amelyekben néhány „nem létfontosságú” kódrészletet átmozgattak a felhasználói szintről (userspace) a kernel szintre (kernelspace) azért, hogy az kevesebb absztrakciót használva, gyorsabban fusson.● Néhányan összetévesztik a „hibrid kerneleket” az olyan
monolitikus kernelekkel, amelyek indulásuk után modulokat képesek betölteni. Ez helytelen: a „hibrid” kifejezés utal arra, hogy mind a monolitikus, mind a mikrokernelek elveit és mechanizmusait alkalmazza.
● Hibrid kernel pl.: Windows
24
A Linux operációs rendszer
5. Rendszer felépítése, a KERNEL● A kernel helye:
● A /boot könyvtárbanvan.Neve (alapértelm.):vmlinuz-<verzio>.<arch>
pl.:vmlinuz-4.17.3.fc28.x86_64
25
A Linux operációs rendszer
5. Rendszer felépítése● Alapvetően konzolos (text mód)
● DOS is hasonló volt● Windows parancssor
● Van grafikus felület (GUI)
26
A Linux operációs rendszer
5. Rendszer felépítése● Fájlrendszer
● Nincs betűjelzés, mint a DOS/Windows esetén● Csatolja a külső tárolókat (mount)
● Ma már a Windows is tudja. :)
27
A Linux operációs rendszer
5. Rendszer felépítése● Fájlkezelők
● mc(Midnight Commander)
28
A Linux operációs rendszer
5. Rendszer felépítése● Fájlkezelők
● Gnome Commander (GUI)
29
A Linux operációs rendszer
5. Rendszer felépítése● Fájlrendszer
● DOS minden meghajtón létrehoz egy ún. fájlallokációs táblát (File Allocation Table, azaz FAT) és ebben rögzíti a szabad és lefoglalt szektorokat. Egy másik szektor a gyökérkönyvtárat tartalmazza. A DOS könyvtár a tárolt fájlok nevén kívül azok attribútumát, méretét és dátumbélyegét is tárolja.
30
A Linux operációs rendszer
5. Rendszer felépítése● Fájlrendszer
● LINUX minden egyes fájl számára úgynevezett i-csomópontot (i-node) foglal le, amelyben fontos rendszerjellemzőket tárol. A létrehozott fájlról az operációs rendszer nemcsak a nevét és létrehozásának dátumát tárolja (mint a FAT), hanem annak azonosítóját is, aki létrehozta, továbbá annak a csoportnak a nevét, amelyhez a fájl tartozik. Ezért finomabban lehet szabályozni az engedélyeket.
31
A Linux operációs rendszer
5. Rendszer felépítése● Fájlrendszer tulajdonságai
● Az engedélyeket minden fájlhoz külön tárolja● A hozzáférés a saját tulajdonosára, vagy bizonyos felhasználók csoportjára korlátozható.
● olvasási (read), írási (write) és végrehajtási (execute) engedélyek
32
A Linux operációs rendszer
5. Rendszer felépítése● Linkek, csatolások
● Hivatkozások● Lehet kötött (hard) v. szimbolikus (soft/symbloc) link
● Helytakarékosság● Mikor érdemes használni?
33
A Linux operációs rendszer
5. Rendszer felépítése● Fájlrendszerek
● Virtuális fájlrendszerek (a rendszer számára..)● SMBFS, SSHFS, NFS… stb.
● Támogatott fájlrendszerek● ext2, ext3, ext4 (Linux saját fájlrendszere)● ReiserFS● XFS● ZFS● FAT32● NTFS● … stb.
34
A Linux operációs rendszer
5. Rendszer felépítése● Könyvtárszerkezet
● Hierarchikus● Könyvtárak● Fájlok
● Elérési út● Root → gyökér: /● pl.: /home/joe/myfile.txt
● Csatolt (mount) tárolóeszközök● pl.: /mnt/usb
35
A Linux operációs rendszer
5. Rendszer felépítése● Könyvtárszerkezet
36
A Linux operációs rendszer
5. Rendszer felépítése● Könyvtárszerkezet
● /bin, /sbin● Futtatható, bináris állományok (sbin: root)
● /boot● Rendszer betöltésének állományai: grub, lilo, kernel (/boot/vmlinuz)
● /cdrom, /media, /mnt● Média becsatolása: USB, Floppy, CD/DVD
● /dev● Az eszközöket (mindet) fájlokon keresztül érjük el, pl.: /dev/dsp (hangkártya) /dev/cdrom (CD)
37
A Linux operációs rendszer
5. Rendszer felépítése● Könyvtárszerkezet
● /etc● Konfigurációs fájlok● Rendszergazda éri el● Globális konfig hely
38
A Linux operációs rendszer
5. Rendszer felépítése● Könyvtárszerkezet
● /home● Felhasználók mappa● Felhasználó fájljai● Beállítások, konfigurációs fájlok, mappák● Pl.:/home/peter/home/peter/Dokumentumok
39
A Linux operációs rendszer
5. Rendszer felépítése● Könyvtárszerkezet
● /lib● Megosztott objektumok, library-k
● Mint windows esetén a DLL-ek● Valamint a kernel moduljai
40
A Linux operációs rendszer
5. Rendszer felépítése● Könyvtárszerkezet
● /lost+found● Sérült fájlok● Helyreállíthatók
41
A Linux operációs rendszer
5. Rendszer felépítése● Könyvtárszerkezet
● /proc● az éppenfutó műveletek -fájlként leképezve, sorszámozva, illetve információk a rendszerről: processzorról, memóriáról
42
A Linux operációs rendszer
5. Rendszer felépítése● Könyvtárszerkezet
● /tmp● Ideiglenes fájlok helye● Rendszer és felhasználó szinten
43
A Linux operációs rendszer
5. Rendszer felépítése● Könyvtárszerkezet
● /usr● Felhasználói fájlok helye● Telepített programok● Library-k● Források (kernel): /usr/src● Dokumentációk: /usr/share/doc, /usr/doc● Ikonok● … stb.
44
A Linux operációs rendszer
5. Rendszer felépítése● Könyvtárszerkezet
● /var● Szolgáltatások gyűjtőkönyvtára● Átmeneti tárolók (cache): /var/cache● Naplófájlok (log): /var/log/maillog● Levelezési fiókok (mailbox): /var/mail/root
45
A Linux operációs rendszer
5. Rendszer felépítése● Felhasználók
● Rendszergazda: root● Felhasználók: a „root” felhasználó hozza létre alapvetően
● Csoportokba szervezhetők a felhasználók● Jogosultságok adhatók a fájlrendszeren:
● /home/joe/myfile.txt 26 joe joe -rwxrwxrwx
46
A Linux operációs rendszer
5. Rendszer felépítése● Rendszer és hardver információk
● lspci - PCI eszközök● lsusb - USB eszközök● lshw - Hardver lista● hwinfo - Hardver infó● dmesg - Kernel napló (ring buffer)
47
A Linux operációs rendszer
6. Konzol● Szöveges üzemmód (text mode)● DOS-szerű● Grafikus felületről is nyitható → Terminál
● gnome-terminal, xterm, xfce4-terminal● Parancsok adhatók ki● Különböző parancsértelmezők lehetnek
● bash● cs● … stb.
48
A Linux operációs rendszer
7. Alapvető parancsok● Linux parancssor kezdőknek● Prompt, ami formázható is:
● [root@server ~]# ● [user@server ~]$
49
A Linux operációs rendszer
7. Alapvető parancsok● Fájl- és könyvtárkezelő parancsok:
● pwd● ls● cd● cp● mv● rm● rmdir● mount● umount
50
A Linux operációs rendszer
7. Alapvető parancsok● Rendszerinformációs parancsok:
● df● du● free● top● uname● uptime● users● netstat● man● info
51
A Linux operációs rendszer
7. Alapvető parancsok● Hálózatkezelési parancsok:
● ip● ifconfig● iwconfig● ping● ifup● ifdown● ifstatus● ifstat● netstat● traceroute
52
A Linux operációs rendszer
7. Alapvető parancsok● Felhasználókezelési (jogosultsági) parancsok:
● adduser, useradd● userdel, deluser● chmod● chown● chgrp● usermod● chfn● chage● chroot
53
A Linux operációs rendszer
7. Alapvető parancsok● Csomagkezelési parancsok:
● dpkg● rpm
● apt, apt-get● yum● dnf
Lsd. Korábbi dia
54
A Linux operációs rendszer
7. Alapvető parancsok● Egyéb parancsok:
● clear● kill● halt● shutdown● reboot● /bin/bash● service● systemctl● … stb.
55
A Linux operációs rendszer
8. Grafikus felület (GUI), ablakkezelők● X Window System● Grafikus felület (GUI):
● X11● Xorg
● Bejelentkezés is lehet grafikus felületen● XDM: Desktop Management
56
A Linux operációs rendszer
8. Grafikus felület (GUI), ablakkezelők● Login (GUI):
57
A Linux operációs rendszer
8. Grafikus felület (GUI), ablakkezelők● Szoftver frissítés (GUI):
58
A Linux operációs rendszer
8. Grafikus felület (GUI), ablakkezelők● Asztal (GUI):
59
A Linux operációs rendszer
8. Grafikus felület (GUI), ablakkezelők● Ablakkezelő (window manager):
● A grafikai elemeket kezeli (látható elemek)● Egyéb szolgáltatások is beállíthatók
● Automatikus futtatás● Saját szoftverek● … stb.
● Telepítéskor többnyire választható, de később is módosítható
● Menet közben is váltható!
60
A Linux operációs rendszer
8. Grafikus felület (GUI), ablakkezelők● Ablakkezelő (window manager):
● Legismertebb ablakkezelők:● KDE● GNOME● XFCE● LXDE● Icewm● Compiz● ... stb.
61
A Linux operációs rendszer
8. Grafikus felület (GUI), ablakkezelők● Ablakkezelő (window manager):
● KDE
62
A Linux operációs rendszer
8. Grafikus felület (GUI), ablakkezelők● Ablakkezelő (window manager):
● GNOME
63
A Linux operációs rendszer
8. Grafikus felület (GUI), ablakkezelők● Ablakkezelő (window manager):
● Xfce
64
A Linux operációs rendszer
8. Grafikus felület (GUI), ablakkezelők● Ablakkezelő (window manager):
● LXDE
65
A Linux operációs rendszer
8. Grafikus felület (GUI), ablakkezelők● Ablakkezelő (window manager):
● Compiz
66
A Linux operációs rendszer
9. Terminálok, parancssor, alias, előzmények● Terminál = parancssor → parancsértelmező● Különböző terminálok vannak (window manager)
● Gnome-terminal, XFCE4 terminal, xterm ...stb.
67
A Linux operációs rendszer
9. Terminálok, parancssor, alias, előzmények● Parancsok: adott funkciót, feladatot hajt végre● pl.: ls parancs kilistázza a fájlokat, könyvtárakat● Parancsok listája: letix.hu, szit.hu
68
A Linux operációs rendszer
9. Terminálok, parancssor, alias, előzmények● Alias: álnév● Alias: egy adott álnévvel tudunk rövidíteni egy-egy összetettebb parancsot. Vagy saját parancsot hozhatunk létre.
● Definiálás helye (bash shell esetén): ~/.bashrc● Globális alias-ok: /etc/bashrc# .bashrc# Source global definitionsif [ -f /etc/bashrc ]; then
. /etc/bashrcfi
alias ls='ls –color=auto'alias pmotd='cat /etc/motd'
69
A Linux operációs rendszer
9. Terminálok, parancssor, alias, előzmények● Alias: álnév● Mikor lesz aktív egy beállított alias?
● A konfigurációs fájlok belépéskor kerülnek beolvasásra, aktiválásra → tehát ha kilépünk (logout/exit) és visszalépünk (login), akkor lesz aktív.
70
A Linux operációs rendszer
9. Terminálok, parancssor, alias, előzmények● Előzmények (history): korábban kiadott parancsok.
● A korábbi parancsokat nem kell begépelni, FEL/LE nyilakkal lehet újra előhívni.
● Előzmények lekérdezése: history● Konfiguráció (bash shell): ~/.bash_history● Megjegyzés: SHIFT+PGUP/PGDN lehet a képernyőn/terminálon lapozni.
71
A Linux operációs rendszer
9. Terminálok, parancssor, alias, előzmények● Környezeti változók: az operációs rendszerről vagy programjainkról tárolnak információkat. A környezeti változók a rendszer indulása után automatikusan beállításra kerülnek.
● Listázásuk: printenv, set● Lehet egyedileg lekérdezni: printenv PATH● Beállításuk: set VAR1=”valami”● Megszüntetésük: unset VAR1● Megjelenítésük: echo $VAR1● Megmaradjon a beállítás: export VAR1=”valami”
72
A Linux operációs rendszer
9. Terminálok, parancssor, alias, előzmények● Súgó: help, segítség a parancs használatához● Parancs: man, info
73
A Linux operációs rendszer
10. Könyvtárszerkezet, csatolások (mount)● Könyvtárszerkezet: fájlok tárolására kialakított struktúra
74
A Linux operációs rendszer
10. Könyvtárszerkezet, csatolások (mount)● Könyvtárszerkezet:
/bin Bináris futtatható állományok/boot Boot fájlok (GRUB)/dev Device, eszközök fájljai/etc Központi konfigurációs/home Felhasználók home (saját) könyvtára/lib Library-k, megosztott (shared objects) rendszerfájlok/lib64 Library-k, megosztott (shared objects) rendszerfájlok 64bit/lost+found Elveszett, visszaállított fájlok/media Média könyvtár, mount könyvtár/mnt Csatolások helye (mount)/opt Egyéb szoftverek hely/proc Rendszerkönyvtár, process információk/root Root (rendszergazda) könyvtára/sbin Rendszer szintű bináris fájlok helye/srv Szerver szolgáltatások adatainak helye/sys Rendszer könyvtár/tmp Temporary, átmeneti tároló/usr Felhasználói fájlok helye, bináris, lib-ek, dokumentációk/var Változó fájlok helyei: cache, temp, adatbázisok, adatok… stb.
75
A Linux operációs rendszer
10. Könyvtárszerkezet, csatolások (mount)● Linkek: Hivatkozások (mutatók)
● Soft link: symlink, ln -s fájl symlinkHa a soft link célját törlik, átnevezik vagy áthelyezik a lemezen máshova akkor a linket töröttnek (broken link) nevezzük.
● Hard link: ln fájl linkA hard linkek egymástól teljesen megkülönböztethetetlenek. Lényegében ugyan arra a tárterületre több néven helyezünk el hivatkozást a fájlrendszerben. Ezt láthatjuk is, ha egy fájl jellemzőiről részletes listát kérünk, itt a linkszámláló (második oszlop) értéke fogja mutatni, hogy a fájlrendszeren belül mennyi a hivatkozások száma.
76
A Linux operációs rendszer
10. Könyvtárszerkezet, csatolások (mount)● Linkek:
● Soft link: symlink, ln -s fájl symlinkEgy adott fájlra/könyvtárra mutat, másik partíción is lehet.
● Hard link: ln fájl linkEgy adott fájlra mutat, másik partíción nem lehet.http://szabadlinuxot.blogspot.com/2009/02/symlink-hardlink.htmlhttps://www.tankonyvtar.hu/hu/tartalom/tamop425/0046_operacios_rendszerek_gyakorlat/ch03s03.html
77
A Linux operációs rendszer
10. Könyvtárszerkezet, csatolások (mount)● Csatolások (mount):
● Egy eszközt fel kell csatolni a rendszerhez● Nem Windows → nincsenek meghajtók!● Mountolás/Umountolás:
● mount -t auto /dev/usb /mnt/usb● umount /mnt/usb
78
A Linux operációs rendszer
10. Könyvtárszerkezet, csatolások (mount)● Archiválás, tömörítés:
● TAR: archívumkezelő program Szintaxis tar kulcsok[kapcsolók] tarfile.tar fájlok
● GZIP, BZIP2: tömörítési feladatot látnak el.gzip -c file1 > foo.gz
A tar és GZ, BZIP2 kombinálható.
79
A Linux operációs rendszer
11. Felhasználókezelés● Segítség: http://szit.hu
● néhány parancs, amely csak a Debian rendszerben létezik.
● Funkciók: felhasználó hozzáadása, -törlése, jelszóadás, .módosítás… stb.
80
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználó hozzáadása: adduser, useradd● Egy felhasználót interaktívan vehetünk fel vele. A következő példában egy „kati” nevű felhasználót veszünk fel:
81
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználó hozzáadása: adduser, useradd● Egy felhasználót interaktívan vehetünk fel vele.useradd -c "Teszt Katalin" -d /home/kati -g users -G info,human,rgazda -k /etc/skel -m -s /bin/bash kati
A useradd kapcsolói-c megjegyzés-d home könyvtár-g elsődleges csoport-G másodlagos csoport vagy csoportok-m hozzuk létre a home könyvtárát-s milyen shellt kapjon-u UID mi legyen a uid-je-k honnan másoljuk alapértelmezett fájlokat
82
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználó információi: getentgetent passwd joskajoska:x:1001:1001:Nagy József,,,:/home/joska:/bin/bash
A informatika csoportról szeretnénk informálódni:getent group informatika
● Felhasználói adatok helye: /etc/passwd● joska:!$1$R8Z4PoEr$OSi234nDisere2ERda83dD82DSIK8ls:15407:0:99999:7:::
83
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói adatok az /etc/passwd fájlban:
84
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói szabályok módosítása: chageA chage parancs segítségével szabályozhatjuk egy-egy felhasználónak mikor jár le a jelszava.
● A joska felhasználónak mikor jár le a jelszava?chage -l joskaUtolsó jelszóváltás : dec 13, 2011Jelszó lejár : sohaJelszó inaktív : sohaHozzáférés lejár : sohaA jelszómódosítások közti legkevesebb nap : 0A jelszómódosítások közti legtöbb nap : 99999A jelszó lejárata előtt figyelmeztetés napok száma : 799999 nap körülbelül: ~273 év
85
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói szabályok módosítása: chage● A joska felhasználó jelszava járjon le 10 nap múlvachage -M 10 joska
● Mikor járjon le a jelszava?chage -E "2009-05-31" joska
● Inaktív napok után lezárásJóskának 10 inaktív nap után lezárjuk a jelszavát.chage -I 10 joskachage --inactive 10 joska
86
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói jelszó: passwd
● Saját jelszó módosítása:● passwd
● Rendszergazda módosíthatja bármelyik user jelszavát:● passwd <username>
● Jelszó tárolása:/etc/shadow
● Jelszó generálása:makepasswd
87
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói adatok módosítása: chfn
● A finger csomag szükséges.● Pl.:
# chfn -f János janos# chfn --full-name "Nagy János" janos
● Kapcsolók: -f, --full-name -o, --office -- irodai szobaszám -p, --office-phone -- irodai telefonszám -h, --home-phone -- otthoni telfonszám
88
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználó törlése: deluser, userdel● Az /etc/deluser.conf segítségével érdemes szabályozni. Részletekért nézzük meg a deluser.conf(5) kézikönyvet.
● Pl.:deluser --remove-homedeluser --remove-all-filesdeluser --backupdeluser --backup-to
89
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói csoportok kezelése
● Csoport létrehozása: addgroup, groupadd● A csoportadatok helye: /etc/group
● Az /etc/group állomány kézzel is szerkeszthető (szövegszerkesztővel, mcedit) a root által.
● Minden felhasználónak saját nevével létrejön egy csoport is! Pl. kati user esetén egy kati csoport is létrejön.
90
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói csoportok kezelése
● Csoporthoz adás: gpasswd -a kati info● A kati user az info csoporthoz adása
● Csoportból kivétel: gpasswd -d kati info● A kati user az info csoportból kivétel
91
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói csoportok kezelése (és user adatok)● A „usermod” parancs:
● Felhasználó adatainak módosítása.
● A mari felhasználó felvétele a human csoportba:usermod -a -G human mari
(A -a hatására hozzáfűzés történik, vagyis a többi csoport megmarad. Ha elhagyjuk a -a kapcsolót, akkor a többi csoport törlődik.)
92
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói csoportok kezelése (és user adatok)● A „usermod” parancs:
● Felhasználó adatainak módosítása.
● Alap csoport beállítása:usermod -g info mari
● További csoporttagság:usermod -G human,gazdasag,rgazda mari
93
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói csoportok kezelése (és user adatok)● A „usermod” parancs:
● Felhasználó adatainak módosítása.
● A joska felhasználó kitiltása:usermod --lock --expiredate 1970-01-01 joskausermod -L -e 1970-01-01 joskaAz expiredate értéke bármi lehet ami régebbi mint az aktuális dátum.A --lock a jelszó használatot tiltja. Azonban nem tiltja a kulcs alapú azonosítást. Ezért vettük vissza a lejárati dátumot.Magunk is letilthatjuk a felhasználó jelszavas bejelentkezését ha egy „!” („felkiáltó jelet”) teszek a jelszó elé:joska:!$1$R8Z4PoEr$OSi234nDisere2ERda83dD82DSIK8ls:15407:0:99999:7:::
94
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói csoportok kezelése (és user adatok)● A „usermod” parancs:
● Felhasználó adatainak módosítása.
● A felhasználó számára új bejelentkezési könyvtárat állítunk be:usermod -d /home/info/joskausermod --home /home/info/joskausermod --home /home/tanulok/15z/janos
95
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói csoportok kezelése (és user adatok)● A „usermod” parancs:
● Felhasználó adatainak módosítása.
● A Shell beállítása:usermod -s /bin/ksh mariusermod --shell /bin/ksh kati
96
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói csoportok kezelése (és user adatok)● Az „id” parancs:
● Felhasználó adatainak lekérése.
● Csoporttag:idid -nG
97
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói fiókok és „default” kezelése
● Felhasználói fiók beállítások:● Az /etc/login.defs könyvtárban/fájlban a felhasználók számára beállítható néhány adottság.pl.:
● A felhasználók levelei hol tárolódjanak.MAIL_DIR /var/mail
98
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói fiókok és „default” kezelése
● Felhasználói fiók beállítások:● Az /etc/login.defs könyvtárban/fájlban a felhasználók számára beállítható néhány adottság.pl.:
● A sikertelen bejelentkezések naplózása a /var/log/faillog fájlba.FAILLOG_ENAB yes
99
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói fiókok és „default” kezelése
● Felhasználói fiók beállítások:● Az /etc/login.defs könyvtárban/fájlban a felhasználók számára beállítható néhány adottság.pl.:
● Az ismeretlen felhasználónevek naplózása sikertelen bejelentkezés esetén.LOG_UNKFAIL_ENAB no
100
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói fiókok és „default” kezelése
● Felhasználói fiók beállítások:● Az /etc/login.defs könyvtárban/fájlban a felhasználók számára beállítható néhány adottság.pl.:
● A sikeres bejelentkezések naplózása:LOG_OK_LOGINS no
101
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói fiókok és „default” kezelése
● Felhasználói fiók beállítások:● Az /etc/login.defs könyvtárban/fájlban a felhasználók számára beállítható néhány adottság.pl.:
● Jelszavak kontrollálása. Alapértelmezésként, mikor jár le, mikor változtathatja meg, mikor legyen figyelmeztetés.PASS_MAX_DAYS 99999PASS_MIN_DAYS 0PASS_WARN_AGE 7
102
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói fiókok és „default” kezelése
● Felhasználói fiók beállítások:● Az /etc/login.defs könyvtárban/fájlban a felhasználók számára beállítható néhány adottság.pl.:
● Felhasználók minimális azonosítója useradd esetén:UID_MIN 1000UID_MAX 60000
103
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói fiókok és „default” kezelése
● Felhasználói fiók beállítások:● Az /etc/login.defs könyvtárban/fájlban a felhasználók számára beállítható néhány adottság.pl.:
● Minimális csoportazonosítók:GID_MIN 1000GID_MAX 60000
104
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói fiókok és „default” kezelése
● Felhasználói fiók beállítások:● Az /etc/login.defs könyvtárban/fájlban a felhasználók számára beállítható néhány adottság.pl.:
● A bejelentkezés visszautasítása ennyi sikertelen próbálkozás után:LOGIN_RETRIES 5
105
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói fiókok és „default” kezelése
● Felhasználói fiók beállítások:● Az /etc/login.defs könyvtárban/fájlban a felhasználók számára beállítható néhány adottság.pl.:
● A maximális sikertelen bejelentkezések után ennyi ideig tiltva:LOGIN_TIMEOUT 60
106
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói fiókok és „default” kezelése
● Felhasználói fiók alapbeállítások (defaults):● Az /etc/default könyvtár tartalmazza.● Pl. /etc/default/useradd
# useradd defaults fileGROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/bashSKEL=/etc/skelCREATE_MAIL_SPOOL=yes
107
A Linux operációs rendszer
11. Felhasználókezelés● Felhasználói fiókok és „default” kezelése
● Felhasználói fiók alapbeállítások (defaults):● Az /etc/skel könyvtár tartalmazza az alap HOME könyvtár tartalmát, pl.:
108
A Linux operációs rendszer
11. Felhasználókezelés● Össszefoglaló, parancsok
● adduser, useradd● deluser, userdel● id● usermod● chage● chfn● addgroup● delgroup● gpasswd● passwd
109
A Linux operációs rendszer
12. Felhasználókezelés - Rendszergazda● A rendszergazda felhasználó és funkciói
● A kiemelt felhasználó a Linux rendszerben: root● UID: 0, GID: 0
● Mindenhez hozzáfér a rendszerben!
110
A Linux operációs rendszer
12. Felhasználókezelés - Rendszergazda● A rendszergazda felhasználó és funkciói
● A „su” parancs:● Felhasználó váltás és parancs futtatása● Pl.:
● Például mari felhasználóvá válhatunk:su mari
● Ha kötőjelet is használok, akkor a mari felhasználó teljes környezetét kapom:su - mari
111
A Linux operációs rendszer
12. Felhasználókezelés - Rendszergazda● A rendszergazda felhasználó és funkciói
● A „su” parancs:● Egy csoportot is felvehetünk a sg paranccsal. Például az info csoport felvétele:sg info
112
A Linux operációs rendszer
12. Felhasználókezelés - Rendszergazda● A rendszergazda felhasználó és funkciói
● A „sudo” parancs:● A sudo lehetővé teszi rendszergazdai parancsok
felhasználóhoz vagy csoporthoz kötését. Általában a rendszergazdai jogosultságokat adunk vele más felhasználóknak. Egy komplett rendszergazdai lehetőség is átadható. A parancsok végrehajtásához bekérhető a felhasználó saját jelszava. Hálózatos rendszerben adott gépekhez köthető a parancs végrehajtása.
113
A Linux operációs rendszer
12. Felhasználókezelés - Rendszergazda● A rendszergazda felhasználó és funkciói
● A „sudo” parancs:● Az Ubuntu és a LinuxMint rendszerek
alapértelmezetten rendszergazdai jogokat csak a sudo-n keresztül biztosítanak, a root felhasználó nem kap jelszót! Nem lehet a root felhasználóval bejelentkezni!
114
A Linux operációs rendszer
12. Felhasználókezelés - Rendszergazda● A rendszergazda felhasználó és funkciói
● A „sudo” parancs:● Beállítások → /etc/sudoers fájlban● A visudo paranccsal szerkeszthető, de más editor is
használható.
115
A Linux operációs rendszer
12. Felhasználókezelés - Rendszergazda● A rendszergazda felhasználó és funkciói
● A „sudo” parancs:● Beállítások → /etc/sudoers fájlban● Pl.:
Szintaxis:<username> ALL=NOPASSWD: ALLPélda:joska ALL=NOPASSWD: ALL
(A NOPASSWD nélkül kéri az adott felhasználó jelszavát.)
116
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Csomagkezelés:
● Feladata: Alkalmazások, ill. összetevőik telepítése.
● Két alapvető formátum van:● Debian (deb): A csomagkezelés a dpkg programmal
valósítható meg. Ennek a csomagnak több burkoló programja is van, ami megkönnyíti a használatát. Ilyen burkolóprogram az apt rendszer, vagy az aptitude. Az aptitude rendelkezik curses alapú felülete is. Grafikus felületen a Synaptic csomagkezelő használható.
117
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Csomagkezelés:
● Feladata: Alkalmazások, ill. összetevőik telepítése.
● Két alapvető formátum van:● Redhat (rpm): Az RPM alapú rendszerek (RedHat,
CentOS, Fedora, SUSE) csomagkezelője az rpm parancs. Ennek egyik burkolóprogramja a yum/dnf. SUSE alap rendszereknél yast vagy yast2 paranccsal telepíthetünk.
118
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Csomagkezelés:
● Csomagkezelés sokszor nehézkes volt:● Függőségek!!
● Egyszerűsítésre volt szükség!● Csomagkezelő segédprogramok:
● apt (Debian rendszerek)● dnf ill. yum (RedHat rendszerek)
● Ezekhez van konzolos és grafikus front-end.
119
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Csomagkezelés:
120
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Csomagkezelés: segédprogramok (apt/yum/dnf)
121
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Csomagkezelés:
● segédprogramok (apt/yum/dnf)● Debian (Ubuntu):apt install apache2apt-get remove mc
● RedHat (CentOS/Fedora):yum install httpddnf install httpddnf remove mc
122
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Csomagkezelés:
● segédprogramok (apt/yum/dnf)● Debian (Ubuntu) keresés:apt search apache2apt-cache search server
● RedHat (CentOS/Fedora) keresés:yum search httpddnf search httpddnf search server
123
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Csomagkezelés:
● segédprogramok (apt/yum/dnf)● Debian (Ubuntu) cache törlése:apt cleanapt-get clean
● RedHat (CentOS/Fedora) cache törlése:yum clean all
● dnf clean all(/var/yum/cache; /var/cache/apt/archives)
124
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Process = Folyamat: Folyamatnak nevezzük egy operációs rendszerben a futó program egy példányát.
● Az operációs rendszerek egyik legfontosabb feladata a folyamatok kezelése.
125
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Amikor egy operációs rendszer egy programot futtat, akkor a program kódján kívül egyéb információkat is nyilvántart erről. Így például a programhoz rendelt memóriaterületet, megnyitott állományokat, környezeti változóit és még sok egyebet. Ezeket is kezelnie kell, így a futó program példánya több információt jelent mint a programkód.
126
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Felmerülő kérdések ennek kapcsán:● időosztás elve: time slice, a folyamatok egymás utáni futtatása, az ütemezés megoldása (multitasking rendszerek)
● párhuzamos futtatás, több felhasználó egyidejűleg a gépen futó programokkal dolgozhat (multiuser munkamód)
● a prioritások kezelése
127
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Az operációs rendszer egyik fontos komponensének, az ütemezőnek a feladata a folyamatok végrehajtásának felügyelete!
● A programokat a héjból (shell) indítjuk, de magát az indítás folyamatát mindig a kernel végzi. Így a kernel egy adatstruktúrát hoz létre, amiben a folyamat dinamikus leíró információit tartja. Minden folyamat rendelkezik:● Egy saját védett memória zónával. Ez azt jelenti,
hogy ezt csak a folyamat használja, és mások nem írnak/olvasnak belőle.
128
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● A folyamatok futásuk közben több állapot vehetnek fel. Erre azért van szükség, mert a kernel a folyamatokat hol megállítja és várakoztatja ("blokkolja" őket) hol pedig egy adott időre teljesen felfüggeszti őket (pl. ha egy „sleep” parancsot hajtunk végre).
● A „ps” parancs ad információt az adott folyamatról:ps ax
129
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Állapotok:● R: running → fut v. futásra kész● S: interruptable sleep → A folyamat várakozik
valamilyen eseményre vagy erőforrásra és megszakítható egy jelzés által. Például egy számlálóra (sleep) vagy valamilyen Be/Ki műveletre
● D: uninterruptable sleep → A folyamat várakozik valamilyen eseményre vagy erőforrásra és nem szakítható meg jelzés által. Általában ez az állapot valamilyen be/kimeneti eszközre való várakozást jelent
130
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Állapotok:● T: felfüggesztett, áll (Stopped / Traced): Ide kerül
egy folyamat ha a terminálról futtatva lenyomjuk a CTRL+Z billentyűt és a háttérbe dobjuk
● X: dead / halott: nem látható elvileg ilyen állapot● Z: zombie folyamat: megszakított, memóriában
maradt.
● Lásd „man ps”
131
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Process ID (PID): A folyamatok azonosítására a rendszer egy folyamatazonosítónak nevezett egész számot használ. Ezen keresztül érjük el gyakorlatilag folyamatot illetve annak tulajdonságait. Azt mondjuk, hogy az 1562-es folyamat fut, függesztődik fel, kilép, stb. pidof <processname>
● Folyamatot csak egy másik folyamat indíthat. Így minden folyamat egy másik folyamat gyereke (child – child process), ezért használatosak a szülő (parent) folyamat és gyerek (child) folyamat elnevezések.
132
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Az első valódi folyamat az init ill. az új rendszereken a systemd, amelynek azonosítója 1. A következő elindított folyamatok mind tőle származnak, így a folyamatok összefüggésükben egy faszerű struktúrát alkotnak. → pstree
133
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● A „JOB”: A terminállal való munka során egy parancssorral egyszerre akár több folyamatot indíthatunk. Pl. az alábbi parancssor:
$ head -20 data.txt | sort | uniq3 folyamatot indít és köztük csővezetékeket (PIPELINE) hoz létre. Ezért a terminállal történő munka számára szükséges egy másik fogalom is, ami jellemzi az indított folyamatokat.
● A job-ok követése: jobs parancs
134
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● A folymatok előtérben és háttérben futhatnak: FG, BG.
● Előtérben futó folyamatokat a terminálon meg tudjuk szakítani: CTRL+C
● Előtérben futó folyamatokat a terminálon fel tudjuk függeszteni: CTRL+Z
● Háttérbe futó folyamat a & jellel:$ openvpn – config ~/vpn/client.ovpn &
135
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Folyamatkezelés:● ps: folyamatok listája, státusza● pstree: folyamat struktúra lista● wait: [n] → adott számú job-ra/folyamatra vár és
visszaadja annak kilépési kódját● top, htop, atop: dinamikusan listázza a
folyamatokat.● nice/renice: folyamat prioritásának (fontosság)
növelése, csökkentése → -20 .. 19pl.: $ nice -n 19 job.sh
136
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Folyamatkezelés:● Jelzések, folyamatok megszakítása:
● A folyamatok normális esetben lefutnak és ha elvégezték feladataikat és befejeződnek az exit paranccsal kilépnek. Futás közben többféleképpen kommunikálnak egymással: vagy adatokat küldenek át egyik folyamatól a másikhoz (pl. állományokon vagy csővezetéken keresztül) vagy egyszerűen csak egymás feladatának összehangolása végett szinkronizációs információkat küldenek.
137
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Folyamatkezelés:● Jelzések, folyamatok megszakítása:
● Az ilyen szinkronizációs kommunikáció egyik formája az aszinkron kommunikáció. Aszinkron üzenetnek azokat az üzeneteket nevezzük, amelyek bármely pillanatban elküldhetőek egy folyamathoz, függetlenül attól, hogy az mit végez: vár-e éppen erre, vagy nem. Az aszinkron üzenetek egyik fajtája a jelzések általi kommunikáció.
138
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Folyamatkezelés:● Jelzések, folyamatok megszakítása:
● A jelzés (signal) egy aszinkron értesítés amelyet egyik folyamat küld a másiknak (vagy a kernel egy folyamatnak) valamilyen esemény bekövetkeztéről. A folyamatok jelzéseket kiszolgáló függvényeket, un. jelzés kezelőket (signal handler) definiálhatnak. Amikor a folyamathoz egy jelzés érkezik, akkor normális futása megszakad, és a jelzéskezelő indul el. Amennyiben a folyamat nem definiált kezelő függvényt, a jelzés implicit kezelője szolgálja ki azt.
139
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Folyamatkezelés:● Jelzések, folyamatok megszakítása:
NÉV SZÁM Leírás
TSTP 20 Felfüggesztés, CTRL+Z
INT 2 Azonnali leállítás, CRL+C
QUIT 3Leáll, de takarítja
állományait
KILL 9 Azonnali leállás, kill parancs
ABRT 6 Leáll, de core dump memória kép
HUP 1Hang up, újraindítás (config
beolvasás)
TERM 15 Takarít és leáll
140
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● Folyamatkezelés:● Jelzések, folyamatok megszakítása:
● kill● killall
141
A Linux operációs rendszer
13. Csomagkezelés, processzkezelés● Processzkezelés:
● PIPELINE – „csővezetékezés”:● az egyik program kimenetét használja fel a másik
program bemenetként
● Pl.:$ who | sort$ ps | grep http
142
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Fájlrendszer:
● A fájlrendszer az állományok és könyvtárak elhelyezésének, elrendezésének, elérésének módja egy háttértárolón.
● Linux alatt a következő fájlrendszereket szoktuk használni: ext, ext2, ext3, ext4, ReiserFS, Reiser4, XFS, JFS, Btrfs, ZFS … stb.
● A ZFS fájlrendszer verziókövetési lehetőséggel látták le. Ha bekapcsoljuk az állományaink korábbi verziót visszanyerhetjük → backup!
143
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Fájlrendszer:
● LINUX rendszer alapvetően:● Rendszer partíció● Cserehely (swap) partíció
144
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Fájlrendszer:
● A Linuxnak szüksége van egy úgynevezett swap fájlrendszerre, amely magyarul cserehelynek nevezhető. A cserehelyre lapozza ki a Linux operációs rendszer a memória azon részeit, amelyek nincsenek használatban. Tehát a fizikai memória egyfajta kiterjesztésének tekinthető. Ha elfogy a fizikai memória, akkor a nem használt programok részeit a Linux, a merevlemezen, virtuális memóriában tárolja.
145
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Fájlrendszer:
● A programot, amint használjuk, a rendszer visszatölti a fizikai memóriába a gyorsabb működés érdekében, hiszen a merevlemezről elég lassú lesz a használat.
● Mivel a cserehely külön partícióra kerül, ezért a töredezettség fel sem merül. Még jobb teljesítményt érünk el, ha külön merevlemezre helyezzük a cserehelyet. A cserhely használata nem befolyásolja a normál lemezműveleteket.
146
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Fájlrendszer:
● Cserehelyet azonban fájlként is adhatunk a rendszerhez menet közben. Az ilyen fájlok mérete nem változik, így töredezettség miattuk nem lép fel.
● A cserehely mérete megegyezhet a fizikai memória méretével. A Linux akkor használja a cserehelyet, ha már kezd fogyni a memória. Ha memóriánk elég nagy akkor előfordulhat, hogy sosem használja a gyorsabb működés érdekében.
147
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Fájlrendszer:
● A Linuxot több külön álló fájlrendszerre szokás telepíteni, ha azt szerverként telepítjük. Ennek oka a biztonság növelése. Ha például a naplófájlok a /var/log könyvtárban valamilyen oknál fogva igen gyorsan megtöltik a partíciót, a rendszer nem áll meg a betelt partíció miatt, ha a /var/log külön partícióra került.
● Általában a következő könyvtárakat szokás külön partícióra tenni:/home/var/tmp/boot/usr
148
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Fájlrendszer:
● Partíciók● A háttértárolókat (merevlemez) partíciókra osztjuk fel, amelyeken létrehozzuk a fájlrendszert.
● A partíciós tábla határozza meg a partíciók tárolásának módját. Kompatibilitási okokból a Linux alapértelmezetten a „DOS partíciós táblát” használja.
149
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Fájlrendszer:
● Partíciók● A DOS partíciós táblában 4 elsődleges partíció lehet, a többi egy kiterjesztett partícióban helyezkedhet el. A kiterjesztett partíciót további részekre oszthatjuk, ezeket logikai partícióknak nevezzük.
● A GPT partíciós tábla korlátlan partíciót enged. Ez használatos ma már.
150
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Fájlrendszer:
● Partíció, fájlrendszer készítése:● Partícionálás: fdisk, cfdisk● Formázás (fájlrendszer): mkfs.*
● pl. mkfs.ext4 /dev/sda1
151
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Jogosultságok:
● A DAC szó a Discretionary Access Control szavakból alkotott betűszó, jelentése röviden „Kizárólagos hozzáférés-vezérlés”. Ez megengedi az azonosított felhasználóknak az objektumokhoz való hozzáférést azok tulajdonságai alapján. A hozzáférés csak a tulajdonosra, illetve csak a csoportra állítható be.
● Ezeket a unixos alapjogoknak is szokás nevezni.
152
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Jogosultságok:
● Ismert még a MAC vagy Mandatory Access Control, vagy Rendelkező hozzáférés-vezérlés. Az objektumok számára hozzáférési szabályokat hozunk létre, amely minden felhasználóra (még a rootra is) érvényesek.
● A harmadik a Role-based Accesss Control vagy RBAC. Szerep alapú hozzáférés-vezérlés. A rendszergazda különböző szerepeket hoz létre. Az egyes objektumokhoz az adott szerepben lehet hozzáférni, az adott jogokkal.
153
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Jogosultságok:
● Alapvetően háromféle jogot különböztetünk meg:● Olvasás (r)● Írás (w)● Végrehajtás (x)
● A jogok háromféle felhasználónak adhatók:● tulajdonos● csoportba tartozó felhasználó● mindenki más (aki az előző kettőben nincs benne)
154
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Jogosultságok:
● A chmod paranccsal állíthatjuk a jogokat, ahol néha hivatkozunk a tulajdonosokra, csoportokra, illetve mindenki másra, az alábbi táblázat alapján:
tulajdonos user u
csoport group g
mások other o
mindenki all a
155
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Jogosultságok:
● Példa:Az ls -l kiemente:-rw-r--r-- 1 joska joska 3184 dec 13 18.37 .bashrc
típusTulajdono
s jogaCsoport
jogaMások joga
- rw- r-- r--
156
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Jogosultságok:
● A típus lehet:Tartalom Jelentés
- Szimpla fájl
d Könyvtár
DSolaris kapu (Folyamatok közötti
kommunikáció)
c Karakteres eszköz (tty v. nyomtató)
b Blokkeszköz (lemez v. CD-ROM)
l Szimbólikus link (symlink)
s Socket
= vagy p FIFO (System V, Linux)
157
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Jogosultságok:
● A chown parancs:● A parancsot egy állomány vagy egy könyvtár
tulajdonos illetve csoport beállítása használhatjuk. chown joska.joska fajlnevchown joska:joska fajlnevchown joska. fajlnevchown joska: fajlnev
158
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Jogosultságok:
● A chmod parancs:● A jogok beállítására használható.● Két módon adhatunk/vehetünk el jogokat. Az egyik
számokkal, a másik betűkkel.● Betűkkel először megadjuk kinek adunk vagy kitől
veszünk el. Ez után +/- attól függően, hogy adunk vagy elveszünk. Majd végül mit adunk vagy mit veszünk el. A felhasználófajta halmozható, vagyis egymás után írhato például: ug, vagy uo vagy ugo. Ez utóbbi persze egyenlő azzal ha csak „a”-t adok meg.
159
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Jogosultságok:
● A chmod parancs:● Szeretnénk a felhasználónak írási jogot adni az
erdo.txt fájlra:chmod u+w erdo.txt
● Adjunk a csoportnak és a tulajdonosnak minden jogot:chmod ug+rwx erdo.txt
160
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Jogosultságok:
● A chmod parancs:● Megadás számokkal:
chmod 770 erdo.txt
● Jelentés (bináris számrendszer):
tulajdonos csoport mások
421 421 000
161
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Jogosultságok:
● A setuid, setgid, sticky bitek:● SETUID: Időnként szükség van arra, hogy egy egyszerű
felhasználó egy privilegizált felhasználó jogaival rendelkezzen. Talán a legegyszerűbb eset a jelszó megváltoztatása. Egy egyszerű felhasználó nem írhatja közvetlenül a rendszer jelszófájlját, hiszen akkor bármikor korlátlan jogokhoz juthatna, de a saját jelszavát meg kell tudnia változtatni. Ehhez viszont írnia kell a jelszófájlba. Ezt az ellentmondást oldják fel úgy, hogy a programot ruházzák fel privilegizált jogokkal, a suid bit beállításával.● A passwd parancs engedélyei a következők:-rwsr-xr-x 1 root root 28896 Sep 7 13:40 /usr/bin/passwd
162
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Jogosultságok:
● A setuid, setgid, sticky bitek:● SETGID: Beállítása esetén a program annak a csoportnak a
jogaival fog futni, akinek a fájl a birtokában van.● A sgid bitet könyvtárak esetén is be lehet kapcsolni. Ennek
eredményeként, ha ebben a könyvtárban bárki létrehoz egy fájlt (ehhez a többi jognak rendben kell lennie), akkor a fájl csoporttulajdonosa nem az a csoport lesz, amelyikbe a felhasználó tartozik, hanem az, akinek a könyvtár a birtokában van.
163
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Jogosultságok:
● A setuid, setgid, sticky bitek:● STICKY: A sticky bit bekapcsolása fájlok esetén azt jelzi az
operációs rendszernek, hogy a fájlt tartsa a memóriában a végrehajtás után is. Ennek a tulajdonságnak akkor van értelme, ha azt szeretnénk, hogy egy program minél gyorsabban induljon el, ne kelljen várni arra, hogy betöltődjön a memóriába.● A sticky bitet be lehet kapcsolni könyvtárak esetén is. Az ilyen
bittel ellátott könyvtárban bárki írhat fájlokat (a többi jognak is rendben kell lennie), de mindenki csak a sajátját törölheti. Ezt a lehetőséget pontosan azért tervezték, hogy az olyan, mindenki által írható könyvtárakban, mint például a /tmp, a felhasználók ne tudják a másik felhasználó által írt fájlokat módosítani, letörölni.
164
A Linux operációs rendszer
14. Fájlrendszer, jogosultságok● Összefoglaló, parancsok:
● chown● chgrp● chmod
165
A Linux operációs rendszer
15. Shell, héjprogramozás, fájlok● Shell: parancsértelmező. Többféle is létezik: zsh, csh, bash… stb.
● A legelterjedtebb:BASH = BOURNE AGAIN SHELL
● Fejlett parancsértelmező, tudása azért elmarad a fejlett programnyelvekétől.
● PDF: BASH SHELL PROGRAMOZÁS (basic2bash)Készítette: Raffai Gábor István alias Glindorf
166
A Linux operációs rendszer
15. Shell, héjprogramozás, fájlok● Shell: parancsértelmező. Többféle is létezik: zsh, csh, bash… stb.
● A legelterjedtebb:BASH = BOURNE AGAIN SHELL
● http://szit.hu/doku.php?id=oktatas:linux:shell_programoz%C3%A1s
167
A Linux operációs rendszer
15. Shell, héjprogramozás, fájlok● Fájlkezelés: fájlműveletek● Fájlkezelő alkalmazások:
● Midnight Commander (mc, text alapú)● Gnome Commander (GNOME gui)● Krusader (KDE gui)
● … stb.
168
Köszönöm a figyelmet!