модуль также требует компиляции, в ходе которой могут возникнуть проблемы.
• Модуль для системы 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/
.
При инсталляции РАМ для поддержки Kerberos вы по сути устанавливаете средства, с помощью которых РАМ настраивается для выполнения конкретной задачи. В состав модуля РАМ входит одна или несколько библиотек, которые располагаются в каталогах /lib/security
или /usr/lib/security
. В системе Red Hat библиотеки содержатся в файлах pam_krb5.so
и pam_krb5afs.so
. Для работы с этими библиотеками вы должны внести изменения в конфигурационные файлы РАМ, которые содержатся в каталоге /etc/pam.d
. Имена конфигурационных файлов составляются на основании имен серверов и других программ, для которых необходимо выполнить аутентификацию. Например, содержимое файла /etc/pam.d/login
определяет взаимодействие программы login
с РАМ. При редактировании конфигурационного файла РАМ в нем надо изменить (или добавить) одну или несколько строк, определяющих использование нового модуля Kerberos. В пакете, предназначенном для системы Red Hat, содержится большое число файлов с примерами настройки. Эти файлы находятся в каталоге /usr/share/doc/pam_krb5-
, где /etc/pam.d
. Файлы, которые могут потребоваться вам, перечислены ниже.
• login
. Данный файл управляет взаимодействием с программой login
. Настроив РАМ для работы с Kerberos, вы можете отказаться от login.krb5
и продолжать работу с привычной вам программой login
.
• gdm
. GNOME Display Manager, или GDM, является одним из трех широко распространенных средств регистрации с графическим интерфейсом. (О настройке GDM и других подобных инструментах речь пойдет в главе 14.)
• xdm
. Вторым инструментом, предоставляющим графический интерфейс для регистрации, является X Display Manager, или XDM. Конфигурационные файлы XDM может также использовать KDE Display Manager. В описании утверждается, что данный файл должен обеспечить аутентификацию Kerberos при работе указанных средств регистрации, однако при установке конфигурации в системе Mandrake возникают проблемы.
• su
и sudo
. Программа su
, которая обсуждалась ранее, позволяет пользователю после регистрации в системе переходить к другой учетной записи. Программа делает то же самое, используя аутентификацию Kerberos, однако аналогичные результаты можно получить, создав файл РАМ для su
. Файл sudo
управляет взаимодействием с утилитой sudo
.
• passwd
. Этот файл настраивает РАМ так, что информация об изменении пароля, выполненном с помощью программы passwd
, передается KDC.
• vlock
. Программа vlock
блокирует консоль, не завершая при этом сеанс работы пользователя. Чтобы разблокировать консоль, необходимо ввести пароль. Как нетрудно догадаться, данный файл обеспечивает аутентификацию путем обращения программы vlock
к KDC.
• xlock
и xscreensaver
. Программы с такими именами предназначены для блокирования сеанса X Window (т.е. они выполняют действия, аналогичные vlock
). Программа xscreensaver автоматически блокирует сеанс, если в течение определенного периода времени пользователь не выполняет никаких действий.
Возможно, вы захотите настроить и другие программы для взаимодействия с Kerberos; при этом вам придется отредактировать соответствующие конфигурационные файлы РАМ. Если какой-то из серверов уже сконфигурирован для работы с Kerberos, вам не надо модифицировать файлы РАМ. Например, если у вас уже установлен керберизованный FTP-сервер, вам не следует изменять файл /etc/pam.d/ftp
. Подобные программы могут взаимодействовать с KDC, минуя РАМ; при работе с ними нет необходимости вводить имя пользователя и пароль, как это приходится делать, используя программы, взаимодействующие посредством РАМ.
Если некоторая программа использует РАМ, то для обеспечения ее совместной работы с Kerberos вам необходимо добавить или заменить некоторые строки в конфигурационном файле РАМ. В составе такого файла содержатся записи, определяющие основные действия, связанные с аутентификацией: auth
(аутентификация пользователя), account
(проверка корректности учетной записи), password
(изменение пароля) и session
(начало и завершение сеанса). В листинге 6.4 показано содержимое файла gdm
, входящего в состав Kerberos РАМ для Red Hat.
Листинг 6.4. Пример конфигурационного файла РАМ для поддержки Kerberos
#%РАМ-1.0
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_unix.so shadow md5
nullok likeauth
auth required /lib/security/kam_krb5.so use_first_pass
account required /lib/security/pam_unix.so
password required /lib/security/pam_crack.lib.so
password required /lib/security/pam_unix.so shadow md5
nullok use_authtok
session required /lib/security/pam_unix.so
session optional /lib/security/pam_krb5.so
session optional /lib/security/pam_console.so
В разных системах модули РАМ настраиваются по-разному, поэтому содержимое конфигурационного файла может отличаться от приведенного в листинге 6.4. Часто настройка сводится к включению строки, указывающей на pam_krb.so
, и удалению ссылки на другой модуль.
В данном примере наиболее важны последняя запись auth
и вторая запись session
, которые настраивают РАМ для использования Kerberos при регистрации пользователя и завершении его работы. В записи auth
содержится параметр use_first_pass
, который сообщает Kerberos РАМ о том, что для поддержки сеанса используется первый пароль. В результате модуль действует подобно kinit
, получая и сохраняя TGT. Аналогично могут быть настроены многие модули РАМ, но для установки конфигурации некоторых из них необходимо выполнить дополнительные действия. Так, например, может потребоваться дополнительная запись password
, которая помещается после существующих и имеет следующий вид: