next up previous contents
Next: A UNIX INPUT/OUTPUT Up: A UNIX operációs Previous: A UNIX shelljei

Védelem a UNIX operációs rendszerben

A UNIX rendszer védelmi rendszere elég jó. A rendszerbe bejelentkezni minden felhasználó csak a jelszavával tud. A UNIX megvédi az egyik felhasználó futó programjait egy másik felhasználó illegális beavatkozása elol (vagyis nem tudom a tanár programját "kiloni"). Másrészt pedig lehetoség a fájlok védelmére a jogosulatlan hozzáférések elol. A UNIX védelmi koncepciójához hozzátartozik az is, hogy van egy ún. szuperfelhasználó (legtöbbször o a "rendszergazda" - a root), aki majdnem minden védelmi korlátot megsérthet, mindenkinek a fájljaihoz hozzáférhet. (Erre szükség is van, különben nem tudna a rendszerben levo fájlokról biztonsági másolatokat készíteni. Ha nem készülnének biztonsági másolatok, akkor egy rendszerhiba esetén lehet, hogy egyes felhasználóknak nagyon sok értékes munkája veszne el.) (Most már értheto, hogy miért próbálják meg például az egyetemeken a hallgatók a szuperfelhasználó jelszavát kitalálni.)

A UNIX ellenorizheto módon lehetoséget ad arra, hogy egy felhasználó valamely más felhasználó jogaival rendelkezo folyamatot elindítson. Ennek eszköze a setuid bit. Ez azt jelenti, hogy ha egy végrehajtható program el van látva a setuid bittel, akkor a program végrehajtása alatt nem a saját uid-ünknek megfelelo jogaink vannak, hanem annak a felhasználónak a jogaival rendelkezünk, akié a program (az lesz a folyamat effektiv user-id-je). Ezzel nagyon óvatosan kell bánni! Különösen veszélyesek lehet az, ha egy program ún. setuid root program, vagyis ha valaki ezt a programot végrehajtja, akkor a végrehajtás ideje alatt a szuperfelhasználó jogaival rendelkezik. Ilyen setuid root program például a passwd, amellyel bármelyik felhasználó megváltoztathatja a saját jelszavát. A programnak a szuperfelhasználói jogok azért kellenek, hogy a jelszófájlt ( /etc/passwd) meg tudja változtatni. A setuid bites programokat a következoképpen lehet felismerni: az ls -l parancs által kiadott directory-listában a program tulajdonosára vonatkozó rwx bitek x betuje helyén egy s betu áll (pl. rws--x--x). Késobb még lesz szó róla, hogy milyen eszközökkel lehet viszonylag "biztonságos" setuid root programokat írni.

Az IPC eszközökhöz is tárolva van a létrehozó folyamat felhaszálói azonosítója és csoport-azonosítója (uid ill. gid), illetve tárolva vannak hozzá a szokásos rwx-bitek is. Ez teszi biztonságossá a folyamatok közötti kommunikációt.



next up previous contents
Next: A UNIX INPUT/OUTPUT Up: A UNIX operációs Previous: A UNIX shelljei



Csizmazia Balazs
Tue Apr 2 00:06:27 MET DST 1996