%3F.png)
Я использую Ubuntu 16.04 и установил libpam-mysql
и pamtester
. Чтобы протестировать модуль, я попробовал запустить следующую команду:
pamtester --item user=X --item passwd=X --item host=127.0.0.1 --item db=X --item table=X --item usercolumn=X --item passwdcolumn=X --item crypt=1 mysql branja authenticate
Но всегда возвращается сообщение об ошибке:
pamtester: Unknown item type "passwd"
Я могу вас заверить, что вся информация о подключении, которую я указал, действительна, но аутентификация терпит неудачу еще до того, как доходит до этого. Я не могу найти никакой информации о том, какие параметры требуются, если не те, которые я указал.
Я также попробовал ввести следующее /etc/pam.d/mysql
:
auth required pam_mysql.so user=X passwd=X host=127.0.0.1 db=X table=X usercolumn=X passwdcolumn=X crypt=1
account sufficient pam_mysql.so user=X passwd=X host=127.0.0.1 db=X table=X usercolumn=X passwdcolumn=X crypt=1
Но это всегда приводит к сбою аутентификации, вероятно, по той же причине, что и в примере выше?
решение1
Ух ты.
Просмотрев информацию /var/log/auth.log
и увидев следующее сообщение, я наконец понял, что это связано с ошибкой в libpam-mysql
пакете.
PAM unable to dlopen(pam_mysql.so): /lib/security/pam_mysql.so: undefined symbol: make_scrambled_password
PAM adding faulty module: pam_mysql.so
Решение для тех, кому это интересно, — удалить официальную версию libpam-mysql
и перейти нанеофициальный пакеткоторый исправляет эту ошибку.
[Источник]