NIS: Partea de Client

Dacă sunteți familiarizați cu scrierea sau portarea aplicațiilor de rețea veți observa că majoritatea map-urilor NIS listate mai sus corespund unor funcții din biblioteca C. De exemplu, pentru a obține informații din passwd se folosesc de obicei funcțiile getpwnam(3) și getpwuid(3) care returnează informațiile despre contul unui utilizator regăsit după user name, respectiv user id. În mod obișnuit aceste funcții caută informațiile dorite în fișierul standard: /etc/passwd.

În cazul unei implementări care utilizează NIS, aceste funcții vor fi modificate în sensul că trimit către serverul NIS un call RPC prin care este localizat numele și id-ul utilizatorului. Acest comportament este total transparent pentru aplicație. Funcția poate fie să adauge elemente în map-ul NIS, fie să înlocuiască cu totul fișierul original. Bineînțeles, nu are loc o modificare reală a fișierului, ci doar este creată iluzia că acesta a fost înlocuit sau modificat.

În implementările NIS tradiționale existau mai multe convenții referitoare la care map-uri înlocuiesc și care se adaugă la informațiile originale. Unele, cum sunt map-urile passwd, necesitau modificări ale fișierului passwd care dacă nu erau făcute corect afectau serios securitatea sistemului. Pentru a evita aceste capcane, NYS folosește o schemă generală de configurare care determină dacă pentru un set de funcții client de folosesc fișierele originale, NIS, sau NIS+, și în ce ordine. Capitolul curent include o secțiune specială despre această chestiune.