Linux/Linux alapok/Fájlrendszer, jogosultságok

Fájlrendszer

szerkesztés
  • Linux rendszer alapvetően:
    • Rendszer partíció
    • Cserehely (swap) partíció, ami akkor hasznos, ha elfogy a fizikai memória, a nem használt programfájlok ilyenkor erre a partícióra átkerülnek.
  • 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 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, pl. ha a naplófájlok megtelítik a rendszert, és az külön partíción van, nem fog megállni a rendszer.
  • Általában a következő könyvtárakat szokás külön partícióra tenni: /home /var /tmp /boot /usr
  • 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.
    • 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.

Jogosultságok

szerkesztés
  • 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.
  • 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.
  • 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)
  • 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


  • Példa: Az ls -l kimenete a HOME mappában:

-rw-r--r-- 1 joska joska 3184 dec 13 18.37 .bashrc

Típus Tulajdonos joga Csoport joga Mások joga
- rw- r-- r--

A típus lehet:

Tartalom Jelentés
- Szimpla fájl
d Könyvtár
D Solaris 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)

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 fajlnev
chown joska:joska fajlnev
chown joska. fajlnev
chown joska: fajlnev

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 írható például: ug, vagy uo vagy ugo. Ez utóbbi persze egyenlő azzal ha csak „a”-t adok meg. A jogok szintén halmozhatók.
  • 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
  • Megadás számokkal: chmod 770 erdo.txt
  • Jelentése:
Tulajdonos (u) Csoport (g) Mások (o)
421 421 000

A 4 az olvasást, a 2 az írást, az 1 pedig a futtatást jelenti.

A setuid, setgid, sticky bitek:

  • SETUID: Lehet állítani, hogy melyik felhasználó jogával tud futni a program, de ez biztonsági kockázattal jár, ezért csak akkor használjuk, ha csak így lehet a problémát orvosolni.
  • SETGID: Beállítása esetén a program annak a csoportnak a jogaival fog futni, akinek a fájl a birtokában van, ezt könyvtárak esetén is lehet beállítani, akkor minden fájl az adott csoport tulajdonába van.
  • 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, hogy később gyorsabban induljon el.
    • 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.