web-dev-qa-db-ja.com

Ubuntu 16.04 auth_pamが壊れています

新しいUbuntu 16.04マシンにメールサーバーを設定しようとしていますが、正しく動作させることができません。

MySQLでPostfix/Courierセットアップを認証に使用しています。

メールを受信し、メールクライアント(POP3とIMAPを使用)を使用してそれらを読み取ることは期待どおりに機能しますが、何かを送信しようとすると、認証エラーが発生し、これらのエラーがログに表示されます:

saslauthd[29975]: PAM unable to dlopen(pam_mysql.so): /lib/security/pam_mysql.so: undefined symbol: make_scrambled_password
saslauthd[29975]: PAM adding faulty module: pam_mysql.so
saslauthd[29975]: DEBUG: auth_pam: pam_authenticate failed: Module is unknown
saslauthd[29975]: do_auth         : auth failure: [[email protected]] [service=smtp] [realm=testubuntu1604.com] [mech=pam] [reason=PAM auth error]

これは、Ubuntu 14.04で完全に機能していました。

Ubuntu 16.04で知っておくべきPAM認証に関する変更はありますか?

4
Alex M

Courierのauthdaemonを使用しても機能しますが、Postfixのchroot内からcourier authdaemonを使用可能にするには、次を実行する必要があります。

Sudo service courier-authdaemon stop
Sudo rm -rf /var/run/courier/authdaemon/ /var/spool/postfix/var/run/courier/authdaemon/
Sudo mkdir -p /var/spool/postfix/var/run/courier/authdaemon/
Sudo ln -s /var/spool/postfix/var/run/courier/authdaemon/ /var/run/courier/authdaemon
Sudo service courier-authdaemon start

次に、/ etc/postfix/sasl/smtpd.confに以下を含めるだけです

pwcheck_method: authdaemond
authdaemond_path: /var/run/courier/authdaemon/socket
mech_list: plain login
log_level: 9

ソース: https://www.hostsom.com/postfix-mysql-courier-imap-ubuntu-16-04-part3/

ソース: http://wiki.tolien.co.uk/Postfix_w/o_Maildrop#Courier-Authdaemon

(私はまだコメントする評判がなく、既存のソリューションには重要なステップが欠けていたため、既存のソリューションへのコメントではなく、これを新しいソリューションとして投稿します)

5
Sea Monkey

私が理解していることから、pam_mysqlはもはや開発されておらず、その特定の機能は数年前に廃止されましたが、新しい更新プログラムは最終的にそれを「破壊」しました。私はまだ解決策を見つけていませんが、それ以外はmysqlから認証を移行しますが、これは私にとってはオプションではないため、解決策を探しています。

update:まだテストしていませんが、このページを見つけました: http://osdir.com/ml/ ubuntu-bugs/2016-04/msg23005.html

1
Mike Krejci

これらの行を開いてSudo vim /etc/default/saslauthdファイルに追加し、

MECHANISMS="rimap" 
MECH_OPTIONS="127.0.0.1"
1

有効なIMAPサーバー認証セットアップがある場合、PAMの代わりにそれを使用するようにpostfix/saslauthdを簡単に変更できます。

「/ etc/default/saslauthd」:MECHANISMS = "rimap" MECH_OPTIONS = "127.0.0.1"

0
Alex