Next: Néhány disztribúció Up: A Linux jellemzői és eltérések más OS-ektől Previous: A fájlok és könyvtárak hozzáférési jogai   Tartalomjegyzék


2.3.6        Suid, sgid és sticky bit

A suid (Set User Identification) azt jelenti, hogy a „felhasználói azonosító megváltoztatása”. Ennek megértéséhez tudnunk kell azt, hogy 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

Látható, hogy a suid bit be van kapcsolva, így futásának idejére az őt futtató felhasználó rendszergazdai jogkört kap, tehát a root jogosultságaival olvassa és írja a /etc/passwd fájlt, mivel a fájl a root tulajdonában van.

A UN*X típusú rendszerekben a programok azokkal a felhasználói jogokkal futnak, amivel az őket elindító felhasználó rendelkezik. Ezt lehet megváltoztatni a suid és az sgid bitekkel. Egy suid bittel rendelkező program elindításakor a program a tulajdonosának jogaival fog futni, fájlokat olvasni, írni és más programokat futtatni. Tehát a passwd parancs a (mivel a root tulajdonában van,) a root jogaival fut, olvas és ír, bármelyik felhasználó indítja el.

A sgid bit (Set Group Identification) azt jelenti, hogy a „csoportazonosító megváltoztatása”. 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.

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.

A fájlokhoz tartoznak egyéb információk is a jogosultságokon kívül:

·         a fájlra mutató linkek száma;

·         a fájl tulajdonosának azonosítója;

·         a fájl csoporttulajdonosának azonosítója;

·         a fájl mérete;

·         a fájl utolsó módosításának dátuma;

·         a fájl utolsó hozzáférésének dátuma;

·         a fájl létrehozásának vagy utolsó státuszmódosításának dátuma;

·         a fájl típusa (könyvtár, sima fájl, stb.).


Next: Néhány disztribúció Up: A Linux jellemzői és eltérések más OS-ektől Previous: A fájlok és könyvtárak hozzáférési jogai   Tartalomjegyzék

 
Misóka Zoltán 2000. 10. 05.