Alapvetően Linux alatt három különböző dolgot végezhetünk egy fájllal, és mivel Linux alatt minden fájl, ez a három dolog elvileg hiánytalanul lefedi az összes, vincseszteren található adat kezelését:
- egy fájlt olvashatunk (read)
- egy fájlt írhatunk (write)
- egy fájlt futtathatunk (execute)
Amint látható, ez így viszonylag egyszerű is. Természetesen már rögtön felmerül több probléma, hiszen "valódi" fájl esetén még viszonylag közérthető dolog, hogy mit jelent a futtatás, de például könyvtárnál (mappánál) már kicsit furcsának tűnhet elsőre: könyvtár esetében a futtatási jog belépést jelent a könyvtárba. (a könyvtárra még kicsit később visszatérünk.)
Persze ez így önmagában még kevés volna, hiszen egy -korrekt és modern- rendszeren szükség van arra is, hogy az egyes felhasználók (mert több van belőlük...) eltérő jogosultságokat kapjanak egy-egy fájlra, könyvtárra, és parancsra.
Linux alatt ez is három szint segítségével van megoldva:
- egy fájlnak van tulajdonosa
- egy fájlnak van csoportja
- és van mindenki más.
Erre a három kategóriára külön-külön állíthatjuk a fentebb ismertetett olvasási/írási/futtatási jogot.
Ennek függvényében hogy is nézhet ki egy fájl jogosultsági táblája?
Nézzük egy példán:
bbt@bbt:~/12$ ls -l itport.hu
-rwxr-xr-- 1 bbt itport 0 2006-03-25 12:51 itport.hukis magyarázat: a parancssorban kiadott
"ls -l {fájl}" parancs megmutatja a fájl tulajdonságainak összességét.
Esetünkben mi látható? Nézzük visszafelé:
A fájl neve itport.hu, előtte az utolsó módosítás dátuma látható (2006-03-25 12:51) még előtte a mérete (0, ez a fájl üres.)
előtte szerepel a bbt és az itport szavak, az első ebből (bbt) a fájl tulajdonosa, a második (itport) a fájl csoportja.
Előtte szerepel egy szám, ez a fájlra mutató hard linkek száma, szintén kicsit később visszatérnénk rá.
És a sor legelején a lényeg. a fájl jogosultsági táblája.
egy '-' jellel indul, ez jelenti azt, hogy ez egy egyszerű fájl. Amennyiben ez a fájl könyvtár (hiszen az is fájl), úgy az első karakter egy "d" betű lenne.
Az utána következő karaktereket 3 csoportba kell szedni:
Az első hármas vonatkozik a tulajdonosra, a második hármas a csoportra, a harmadik mindenki másra.
Tehát:
- bbt felhasználó olvashatja írhatja és futtathatja,
- az itport csoport tagjai olvashatják és futtathatják, míg
- mindenki más csak olvashatja a fájlunkat.
Természetesen ez a tábla változtatható, parancssorból a chmod paranccsal, vagy mc segítségével, esetleg mindenféle grafikus beállító-tekergetőkön keresztül.
Érdemes azonban átgondolni, hogy miket állítunk be, ha beállítunk az egyes fájlokra, ugyanis a legtöbb kombináció nem hoz túl értelmes eredményt. (pl.: írási jogunk van egy fájlra, de olvasási nem.)
Csoportok Linux alattA felhasználó (tulajdonos, owner) fogalma valószínűleg teljesen egyértelmű mindenki számára, azonban a csoportról ejtenénk pár szót.
Linux alatt minden felhasználó csoportok tagja is egyben. Ennek értelme például az erőforrásmegosztásban, illetve a fentebb is bemutatott közös fájlhasználatban keresendő: a hangeszközöket azok a felhasználók használhatják, akik tagjai az audio csoportnak, ugyanis a hangeszköz alapértelmezett jogosultságtáblája (a legtöbb esetben) ehhez hasonlóan néz ki:
crw-rw---- 1 root audio 14, 3 2006-03-07 22:27 /dev/dsp0( a sor eleji c-től tekintsünk most el.)
Miért is jó ez az egész?Alapértelmezett felhasználónk, amennyiben nem rendszergazda (root) számos dologra jogosult a gépen, és számos dologra nem.
A legfontosabb, hogy írási joga gyakorlatilag csak a saját (home) könyvtárában van, ami alapból a /home/felhasználónév alatt található.
Ami ezen kívül esik, az már vad víz, magyarán semmilyen rendszerfájlt nem írhat át véletlenül csak úgy, és ez igaz például az általa indított parancsokra is. Ez az egyik oka, amiért nem csak Linux alatt nem győzzük eleget hangsúlyozni, hogy a számítógépet soha sem rendszergazdai jogosultsággal használjuk.
Természetesen hátulütői is vannak a rendszernek, ugyanis így az egyszerű felhasználó nem tud új programot telepíteni, frissíteni, kevésbé kezdőknek készült rendszereken pedig még a CD lemez befűzéséhez sincs joga.
Talán innen már látszik: egy jól és biztonságosan beállított rendszer, amely még kényelmes is, ha nulláról akarnánk beállítani, bizony sok munkánkba kerülne. természetesen ezen dolgok nagy részét már a disztribúciók készítői elvégzik helyettünk.
Kommentáld!