powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / PAM: авторизация пользователей из таблицы в базе Firebird
4 сообщений из 4, страница 1 из 1
PAM: авторизация пользователей из таблицы в базе Firebird
    #34883155
DJ-Andrey-sXe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Итак, дело было в Linux.

Задача: наряду с passwd/shadow создать возможность авторизации пользователей из базы данных Firebird в операционной системе, а в перспективе — в почте, в самбе, на прокси и так далее.

Начав копать информацию по теме, я наткнулся на PAM. Оказалось, нужно написать PAM-модуль. Собственно, все там понятно и красиво, кроме одного.

В ответ на попытку авторизации модуль должен выяснить:
существует ли такой пользователь,
правильно ли указан пароль,
не истек ли срок аккаунта
и так далее.

Казалось бы, всего делов — взять за основу исходник pam_permit (этот модуль пускает всех без разбора) или пример модуля из какой-нибуь статьи (примеров по пальцам сосчитать, но их все же предостаточно), воткнуть его в систему и дорабатывать, тестировать.

Исходя из спецификации PAM-модулей для того, чтобы функция ответила вопрошающему приложению "да", достаточно в ее реализации вернуть PAM_SUCCESS и все.

То есть буквально пишу везде:
{
return PAM_SUCCESS;
}

в /etc/pam.d/ в login или даже system-auth для модуля пишу sufficient в auth и password
(кроме sufficient перепробовано и required и т. д.)

Проблема: не пускает.

Оставлял в конфиге уже одного его. Не пускает.

Чтобы избежать лишних предположений, скажу, что модуль успешно собирается, копируется в папку к другим модулям и ему даются теже права доступа, что и другим. Отладочные сообщения доказывают, что функции, которые должны выполняться из моего модуля таки выполняются точно.

Чего я хочу.

Пример конфигурации PAM, при котором работает хотя бы тот же pam_permit. То есть тупо пускает с любым логином/паролем. Далее разборки с доступом к базе, домашним каталогом, группой, правами, uid-ом и прочим хозяйством более-менее ясны. Уперся я именно в PAM. Чувствуется, что истина где-то рядом, но чего-то не хватает.

или

Задача сама по себе просто обязана возникать из-за растущего применения БД везде, где только можно. И дело тут даже не конкретно в Firebird-е. Наверное кто-то уже натыкался на эти грабли и может поделиться ссылками, кусками кода или конфигов. (ни одна из найденных мной статей (не меньше, чем штук пять) решения на проблему не подкинула).

Что я упустил?
...
Рейтинг: 0 / 0
PAM: авторизация пользователей из таблицы в базе Firebird
    #34890671
RAndrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
$ cd /etc/pam.d
$ sudo mv login login.backup
$ sudo sh -c "echo auth required pam_permit.so > login"

только аккуратней, с этого момента на машину можно будет зайти зная только имя пользователя. А вообще в тестовых целях лучше запустить, например, pure-ftpd или любой другой сервис, который умеет лазить за аутентификаций в пам со своим именем сервиса.
...
Рейтинг: 0 / 0
PAM: авторизация пользователей из таблицы в базе Firebird
    #34892628
A. Fig Lee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/pam/index.html

хоть не Линукс, но хорошо написано.
...
Рейтинг: 0 / 0
PAM: авторизация пользователей из таблицы в базе Firebird
    #35073816
DJ-Andrey-sXe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не время было дальше биться с PAM, так что найдено другое решение.
Может быть, кому-то будет интересно.

Тормозное, временное, но всё-таки рабочее.
Вместо PAM-модуля доступа к БД было решено хранить и зеркалить юзеров в LDAP.
В качестве интерфейса к LDAP юзается пакет консольных утилит
smbldap-tools (http://www.iallanis.info/).

Вместо предполагавшегося PAM-модуля выступает традиционный pam_ldap.

Спасибо за ответы, почитаю, попробую. Переделывать всё равно надо когда-нибудь.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / PAM: авторизация пользователей из таблицы в базе Firebird
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]