GNU/Linux operációs rendszereken minden tilos, amihez nincs jogunk. Érvényes ez a fájlok és könyvtárak elérésére is. E jogosultsági szinteket vesszük át alap szinten az alábbi írásban.
Minden könyvtárhoz és fájlhoz háromféle tulajdonosi csoport tartozik:
u – tulajdonos g – csoport (a csoportba tartozó felhasználók) o – többiek (mindenki más, aki nem tartozik az első két csoportba)
Minden csoporthoz háromféle jog tartozhat:
r – értéke: 4 – olvasási jog w – értéke: 2 – írási jog x – értéke: 1 – futtatási jog (könyvtáron: belépési jog)
Tehát, ha:
- a tulajdonos olvashatja, írhatja és futtathatja a ’proba’ nevű fájlt, akkor a tulajdonoshoz tartozó jogok a következők:
rwx (4+2+1=7)
- a csoport tagjai olvashatják és futtathatják a ’proba’ nevű fájlt, akkor a csoporthoz tartozó jogok a következők:
r-x (4+0+1=5)
- a többi felhasználó csak futtathatja a ’proba’ nevű fájlt, akkor a jog:
--x (0+0+1=1)
- így a ’proba’ nevű fájlhoz tartozó jogok a következők:
rwx r-x --x (0751)
Van még egy különleges jogosultsági csoport, amelyet nem kötelező megadni:
s,S – értéke: 4 – SUID: tulajdonos azonosító s,S – értéke: 2 – SGID: csoport azonosító t,T – értéke: 1 – Sticky: nincs magyar fordítása
Ha be akarjuk állítani a SUID, a SGID és Sticky jogokat is a ’proba’ fájlra, akkor az előbbi példánál maradva a jogok a következőképpen alakulnak:
rws r-s --t (7751)
Látható, hogy a SUID, SGID és Sticky jogok jelei a meglévő 3 jogi csoport x jogot jelölő pozíciójában jelennek meg. Ha az x jog be van kapcsolva, akkor a tulajdonos és csoport jogainál s, a többiek jogainál t jelenik meg az x helyett. Ahol az x nincs bekapcsolva, ott a jogot jelző s vagy t nagybetűsként jelenik meg, azaz S és T.
Ha a ’proba’ fájl jogai:
rwx r-- r-- (744)
és bekapcsoljuk a SUID, SGID és Sticky jogokat is, akkor a következőképpen fog kinézni a fájl jogosultsága:
rws r-S r-T (7744)
Jogok a fájlokon
r (read) | olvasási jog, olvasni lehessen a fájl tartalmát | |
w (write) | módosítási jog, módosítani lehessen a fájl tartalmát (új fájl létrehozását, vagy meglévő fájl törlését a fájlt tartalmazó könyvtáron kell állítani) | |
x (execute) | futtatási jog, a fájl futtathatóvá tétele | |
s (suid) | bárki is futtassa le a fájlt (feltételezve, hogy a fájl futtatható), a tulajdonos jogaival fog futni | |
s (sgid) | bárki is futtassa le a fájlt (feltételezve, hogy a fájl futtatható), a csoport jogaival fog futni | |
t (sticky) | program a lefutása után is a memóriában marad (manapság már nincs jelentősége; a sticky szó jelentése ilyen környezetben: beragad) |
Jogok a könyvtárakon
r (read) | keresési lehetőség, a benne levő fájlok listájának lekérdezése | |
w (write) | létrehozási/törlési lehetőség, létrehozni és törölni lehessen fájlokat/alkönyvtárakat a könyvtáron belül | |
x (execute) | belépési jog (az x jog az r jog nélkül lehetővé teszi, hogy belépjünk a könyvtárba, de nem látjuk a tartalmát, például upload könyvár) | |
s (suid) | GNU/Linux-on nincs értelmezve | |
s (sgid) | benne létrehozott fájl és alkönyvtár csoportja a könyvtár csoport lesz | |
t (sticky) | benne létrehozott fájlokat és könyvtárakat csak a fájl/alkönyvtár tulajdonosa törölheti a rendszergazdán (root) kívül |