Настройка авторизации пользователей в БД используя pam_mysql

Данная статья поможет Вам настроить любое приложение использующее PAM для авторизации пользователей в БД MySQL.

Для примера я приведу полную настройку связки vsFTPd с модулем pam_mysql.

Установка

Возьмите пакет pam_mysql из репозитория Fedora Extras. Скачиваем srpm пакет.

Установим скачанный пакет.

Перейдем в каталог /usr/src/redhat/SPECS и дадим команду на сборку пакета для нашего дистрибутива.

После того как мы пересобрали пакет перейдите в каталог /usr/src/redhat/RPMS/i386/ и установите пакет pam_mysql командой:

Настройка БД MySQL

Запустите Mysql командой:

Войдите в интерфейс MySQL:

Создаем БД дляработы с модулем pam_mysql:

Скажем использовать эту БД.

Создадим таблицу для пользователей.

Создадим таблицу где будут храниться журналы.

Создадим пользователя pam_user которому разрешено работать c БД.

Обновляем привилегии пользователей.

Создадим тестового пользователя test с паролем test (для примера пароли в БД будут храниться в открытом виде).

Выходим из интерфейса mysql:

Настройка vsftpd

Перейдите в каталог /etc/pam.d отредактируйте файл vsftpd следующим образом(должны остаться только эти 2 строки):

Внимание: Выставлена опция отладки verbose=1 после того как Вы проверите, что все работает корректно поменяйте на verbose=0. Отладочная информация храниться в /var/log/secure.

Правим конфигурационный файл /etc/vsftpd/vsftpd.conf

Теперь создадим локального пользователя virtual с домашним каталогом в /home/virtual – именно к этому каталогу и будут обращаться пользователи после авторизации.

Запустите сервис vsftpd:

Тестирование

Проверьте, что авторизация работает:

Авторизация прошла успешно.

Теперь убедитесь, что в таблицу pam_log базы данных pam_db сохраняется информация о авторизации.

На этом настройка законченна.


Может распространяться свободно при указании авторства. Автор: Фролов Денис.

Articles/DenisFrolov/PAM-MySQLConfiguration (last edited 2008-05-18 11:11:03 by NikolayUlyanitsky)