next up previous contents
Next: A Kerberos illetékesség-vizsgáló Up: Security Previous: A felhasználó azonosítása

A 4.3BSD UNIX r-programjai

A 4.3BSD UNIX-ban vannak több olyan program, amely lehetové teszi, hogy fájlokat másoljunk egyik hostról a másikra (rcp - remote copy) parancs, egy másik hoston shell scripteket futtassunk (rsh - remote shell) vagy bejelentkezzünk valamely más hostra és azon interaktívan dolgozzunk (rlogin - remote login).

Ezek a programok lehetoséget nyújtanak annak megadására, hogy ezek a szolgáltatások mely hostokról érhetoek el - ezzel bizonyos fokú illetékességvizsgálatra adnak lehetoséget.

Érdemes megnézni, hogy hogyan történik mindez!

A 4.3BSD UNIX-os hostokon van egy /etc/hosts.equiv nevu file, amely tartalmazza azoknak a hostoknak a neveit, amelyeken azonosak a kiosztott useridek (felhasználói nevek) a helyi hoston levo kiosztással. Ekkor ha egy ilyen "ekvivalens" hostról mondjuk a kutya nevu felhasználó egy fájlt akar másolni egy olyan helyi directoryba, amelyre a helyi kutya nevu felhasználónak írási joga van, akkor ez a muvelet meg van engedve. Van egy másik fontos fájl is: a .rhosts nevu (ez a felhasználó HOME-directoryjában található). Ebben is lehetnek hostnevek felsorolva (ahol a tulajdonos userid-je (login neve!) megegyezik a helyi login-névvel) vagy lehetnek benne (hostnév,login-név) párok is. Ez utóbbi esetben ha a távoli hostról a megadott login-nevu felhasználó be akar jelentkezni annak a felhasználónak a login-nevével, akinek a HOME directoryjában a .rhosts file ezt a (hostnév,login-név) párt tartalmazza, akkor az azonosítás a jelszó bekérése nélkül sikeresnek tekintheto.

Ha saját szervereket írunk, ahol ezt az r-programokban alkalmazott illetékességvizsgálatot a ruserok() könyvtári függvénnyel végezhetjük el. Ennek alakja:

     ret=ruserok(rhost, superuser, remote_username, local_username);
          char *rhost;
          int superuser;
          char *remote_username;
          char *local_username;

Eredmény: ret=0, ha az illetékességvizsgálat sikeres volt, azaz a felhasználó beléphet jelszóbeadás nélkül, egyébként ret értéke -1 lesz. (Az rhost paraméter annak a hostnak a nevét tartalmazza, amelyrol be akarnak jelentkezni ( gethostbyaddr(getpeername())) módon kaphatjuk ezt meg. A superuser változó akkor 1, ha a bejelentkezo ezen a gépen superuser jogokat akar-e kapni. A maradék két paraméter a távoli és a helyi hostokon a felhasználói nevek.)



next up previous contents
Next: A Kerberos illetékesség-vizsgáló Up: Security Previous: A felhasználó azonosítása



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