如何將 PAM 與 MySQL(在 Xenial 上)結合使用?

如何將 PAM 與 MySQL(在 Xenial 上)結合使用?

我正在運行 Ubuntu 16.04 並安裝libpam-mysqlpamtester.為了測試該模組,我嘗試執行以下命令:

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並使用非官方套件這修復了這個錯誤。

[來源]

相關內容