Читаем Сетевые средства Linux полностью

РАМ выполняет роль посредника между программами, которым требуется аутентификация (например, сервером FTP, программой login, инструментами регистрации, работающими в среде X Window), и базами данных, в которых хранится информация о пользователях, в частности пароли (/etc/passwd, /etc/shadow и другие файлы стандартного пакета Linux). Процедуры аутентификации оформляются в виде отдельной библиотеки. В этом случае файлы, применяемые для аутентификации, могут быть без труда модифицированы, а программы, использующие их, остаются без изменений. Для поддержки нового формата файлов модифицируются только РАМ. В этом смысле реализация средств поддержки Kerberos в виде РАМ является почти идеальным решением, позволяющим обеспечить совместную работу с Kerberos многих приложений. Любые изменения не затрагивают прикладные программы, которые взаимодействуют только с РАМ.

На заметку

Поддержка Kerberos с помощью РАМ имеет свои ограничения. В частности, если код программы построен так, что программа запрашивает имя пользователя и пароль, ее поведение не изменится при замене РАМ на модуль, поддерживающий Kerberos. Полученные данные программа передаст РАМ, и он предпримет попытку аутентификации с использованием базы данных Kerberos. Так, например, РАМ не устраняет необходимость ввода имени пользователя и пароля при работе с FTP-сервером, но позволяет следить за текущим паролем и приводить его в соответствие с данными для области Kerberos. Если речь идет о керберизованных программах, выполняющих регистрацию пользователя, то такая особенность не является недостатком, так как программы регистрации в любом случае запрашивают пользовательское имя и пароль.

Несмотря на то что РАМ может выступать в роли универсального средства аутентификации и поддерживается во всех версиях Linux и во многих системах, отличных от Linux, керберизованные версии РАМ мало распространены. Ниже описаны некоторые из таких модулей, которые были доступны в момент написания данной книги.

• Модуль Деррика Брешера (Derrik Brashier). Этот модуль предназначен для использования совместно с Kerberos V4. Он расположен по адресу ftp://ftp.dementia.org/pub/pam/; имена файлов, содержащих этот модуль, начинаются символами pam_krb4. Выберите самый новый из файлов (во время написания данной книги все файлы датировались 1998 г.). Данный модуль распространяется в исходных кодах, поэтому перед использованием его надо скомпилировать.

• Модуль Фрэнка Кусека (Frank Cusack). Модуль РАМ, поддерживающий MIT Kerberos V5 и Heimdal, находится по адресу http://www.nectar.com/zope/krb/. Этот пакет доступен в исходных кодах; изначально коды были написаны для Solaris, но после компиляции они будут работать в системе Linux.

• Модуль Кертиса Кинга (Curtis King). Этот модуль доступен по адресу ftp://ftp.dementia.org/pub/pam/; имя файла — pam_krb5-1.1.3.tar.gz. Данный модуль также требует компиляции, в ходе которой могут возникнуть проблемы.

• Модуль для системы Red Hat. Модуль РАМ Kerberos V5 входит в состав дистрибутивного комплекта Red Hat под именем pam_krb5. Данный вариант РАМ поставляется в виде двоичного кода в формате поэтому чрезвычайно просто устанавливается в Red Hat и других подобных системах. При подготовке материала данной главы я использовал именно этот тип модуля, хотя следует отметить, что точно так же работает модуль Фрэнка Кусека.

• Модули для системы Debian. В Debian и других подобных системах работа с Kerberos V5 и Heimdal поддерживается соответственно модулями libpam-krb5 и libpam-heimdal. На Web-узле Debian эти пакеты найти достаточно сложно, поэтому лучше скопировать их, обратившись по адресам http://ftp.nl.debian.org/debian/pool/non-US/main/libp/libpam-krb5/ и http://ftp.nl.debian.org/debian/pool/non-US/main/libp/libpam-heimdal/.

Перейти на страницу:

Похожие книги