1

Добрый день. Прошу помощи. Есть задача: проверять пользователей для допуска к ftp по собственной базе. PAM-овский модуль MySQL не подходит - алгоритм нужен намного сложнее, чем он может позволить.

/etc/pam.d/vsftpd:
auth    required    pam_userdb.so     db=/etc/vsftpd/logins
account required    pam_permit.so
auth    required    pam_exec.so expose_authtok /www/cgi/test.pl

В таком виде - test.pl работает. Пользователь либо может приконнектиться, либо нет, в зависимости от ответа test.pl (0 или 1). Разумеется, только пользователи, которых уже пропустил pam_userdb.so, которые прописаны в его базе.

Если pam_userdb.so закомментить, все пользователи перестают допускаться, вне зависимости от того, что отвечает test.pl.

Вопрос: чего ему не хватает?

2

pam_exec — это модуль PAM, который можно использовать для запуска внешней команды. Для дочерней среды установлена текущая среда PAM.
Вы сами ответили на свой вопрос в чем проблема, в том что родительская библиотека отключена Вами.

3

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