Библиотека сайта rus-linux.net
Клиентская сторона NIS
Если Вы знакомы с написанием или переносом сетевых прикладных программ, Вы
можете обратить внимание, что большинство карт NIS соответствует библиотечным
функциям в библиотеке C lib. Например, чтобы получить
passwd
, Вы обычно используете функции
getpwnam
и getpwuid
,
которые возвращают информацию, связанную с данным логином или цифровым
идентификатором пользователя (user ID), соответственно. При нормальных
обстоятельствах эти функции выполняют поисковый запрос на стандартном файле,
типа /etc/passwd
.
NIS-реализация этих функций изменяет это поведение и использует обращение
RPC к серверу NIS, который ищет логин или user ID. Функция может обрабатывать
NIS-данные, как если бы они были добавлены к оригинальному файлу
passwd
, так что оба набора информации доступны
прикладной программе и будут использованы. Есть второй вариант: информация в
локальном passwd
игнорируется вообще, и
используются только NIS-данные.
Для традиционных реализаций NIS имелись некоторые соглашения на предмет
того, какие карты как обрабатывать. Но иногда это позволяло модифицировать
файл passwd
и открывало дыры в защите. Для обхода
этих ловушек NYS и GNU libc
используют общую схему
конфигурации, которая определяет, использует ли специфический набор функций
пользователя оригинальные файлы, NIS или NIS+, а также в каком порядке. Эта
схема будет рассмотрена чуть ниже.
Назад | Глобальное оглавление | Вперед |
NIS против NIS+ | Локальное оглавление | Запуск NIS-сервера |