Ha nem érted elsőre, ne keseredj el! Majd vissza-vissza térsz, ahogy egyre jobban elmélyedünk a Linuxban, és lassan össze fog állni a kép.
Mint ahogy már írtam, a Linux többfelhasználós rendszer és mint ilyenben, a felhasználók mozgáskörét be kell határolni.
Ezt a UNIX (és így a Linux is) úgy oldja meg, hogy minden fájlhoz hozzárendel egy háromjegyű számot, plusz egy tulajdonost. A háromjegyű számra még visszatérünk, de előbb beszéljünk a tulajdonosról.
A tulajdonos egy felhasználó. Általában az, aki létrehozta a fájlt, de a tulajdonosi jogokat át is lehet ruházni másra.
Azt is tudni kell, hogy minden felhasználónak -így a tulajdonosnak is- van egy csoportja. Ez a csoport a vele egy szinten lévő felhasználókat fogja össze. Például nálunk az egyetemen van egy csoport az alkalmazottaknak, a hallgatónak és persze a rootnak. (employes, students, root) Ez nálunk (a kis kar miatt) elég is, de egy nagy akár cégben minden részlegnek lehet saját csoportja.
A kis kitérő után térjünk vissza a háromjegyű számra!
Tudni kell, hogy az egyes jegyek nem vehetnek fel tetszőleges értékeket. Az értékek 0 és 7 jegy között mozognak. A bináris számrendszerben járatosak ebből már rá is jöhettek arra, hogy ezek 3 bites értékek. Ez nem véletlen, egy ilyen szám ugyanis 3 műveletet engedélyez, vagy tilt.
A három különböző szám pedig azért kell, mert a felhasználókat három csoportra lehet osztani a fájl szemszögéből:
- A tulajdonos
Az ő jogait határozza meg az első szám. Ő az, aki birtokolja a fájlt. A hozzáférési jogokat csak ő (meg persze a root) állíthatja át. - A tulajdonos csoportja
A második számjegy azon felhasználók jogait határozzák meg, akik a tulajdonossal egy csoportban vannak. - Mindenki más
A harmadik számjegy az előző két kategóriába nem tartozó felhasználókat jelöli.
Ezek a jogok a következők:
- Olvasási jog (4)
- írási/módosítási jog (2)
- Futtatási jog (1)
Az írási/módosítási jog is hasonlóan egyértelmű.
A futtatási jog esetén arra van jogunk, hogy a fájlt futtassuk, amennyiben az egy végrehajtható állomány. (Script vagy bináris)
Könyvtárak esetén a dolog már komplikáltabb.
Az olvasási jog azt jelenti, hogy listázhatjuk a tartalmat. Érdekes, hogy attól, hogy nincs olvasási jogunk, attól még hozhatunk létre benne új fájlt és beleléphetünk.
A fájlok létrehozását, törlését az írási jog szabályozza.
Azt pedig, hogy beleléphetünk-e az adott könyvtárba, a futtatási jog engedi, vagy tiltja meg.
Mondok egy példát, de előtte még fontos tisztázni, hogy miért írtam számokat a jogosultságok után.
Ha te magadnak olvasási és futtatási jogot akarsz adni, akkor be kell állítanod az első számot 4+1=5-ra. Ha csak írásit akarsz, akkor 2-re kell állítanod. Ha 7-es jogod van valamire, akkor azzal mindent szabad (1+2+4=7)
Akkor most végre jöjjön a példa, ami remélhetőleg megérteti a linuxos jogosultségrendszert.
Van az alábbi könyvtárszerkezet: (a nevek után zárójelben a jogaidat szimbolizáló számmal)
home(7) |___mydir(1+4=5) |___kontener(1) |______titok(0) |______dokumentumok(1+2+4=7) | |________fájl1(1) | |________fájl2(2) |______cuccaim(0)
Legyen a példában a mydir az én home-könyvtáram. A konkéner ezen belül egy mapa, amire neked nem adtam listázási jogot, bár a mappába be tudsz lépni. Listázási jogot azért nem kapsz, hogy ne tudd, hogy ott én még miket tárolok.
A dokumentumokra neked minden jogod van, így beléphetsz, kilistázhatod a tartalmát, csinálhatsz és törölhetsz benne fájlokat. De a fájl1-et és a fájl2-t nem törölheted, mert nincs rájuk írási jogod. A fájl1-et csak futtathatod, a fájl2-t pedig csak olvashatod. Fontos észrevenni, hogy te csinálhatsz egy fájl3-at a fájl kettő tartalmával, amire adhatsz magadnak futtatási jogokat, és így, még ha nem is közvetlenül, de futtathatod a fájl2-t. Ez azért nem gond, mert fájl2-re valószínűleg azért nincs futtatási jogod, mert nem futtatható.
A jogosultságokat konzolból a chmod parancscsal lehet állítani, de erre még vissza fogok térni a későbbiekben.
A cikk zárásaként néhány példát mutatok, hogy melyik szám mit eredményez.
Újra mondom, amit már az elején elmondtam. Aki nem érti a cikket, ne keseredjen el. Majd menet közben minden világos lesz.
És jöjjenek a példák
- 777: Mindenkinek szabad mindent
- 700: A tulajdonos bármit tehet, a többiek semmit
- 644: A tulajdonos írhatja és olvashatja, a többiek csak olvashatják
- Például egy jegyzet, vagy egy napló
- 100: A tulaj csak futtathatja, a többiek semmit sem csinálhatnak vele
- Ez egy írásvédett futtatható állomány lehet, amit nincs értelme olvasn
- 000: Senki sem csinálhat vele semmit
- Sok értelme nincs. (A tulaj és a root természetesen megváltoztathatja.)
- 007: A csoport és a tulajdonos nem csinálhat semmit, a többiek meg mindet
- Valószínűleg 700 akart lenni, de el lett cseszve. ;)
- 466: A tulaj csak olvashatja, a többiek írhatják is
- Hasznos lehet egy olyan log esetén, amibe a létrehozónak nem kell írnia
- 611: A tulaj írhatja és olvashatja, a többiek futtathatják
- Egy olyan script lehet, amit a tulajnak csak szerkesztenie kell, futtatnia nem.
Ha valami nem tiszta, kommentben lehet kérdezni.
Nincsenek megjegyzések:
Megjegyzés küldése