web-dev-qa-db-ja.com

saslauthdおよびPAM:「開いているファイルが多すぎます」エラー-saslauthdの再起動でこれが修正されます-何が問題になっていますか?

DebianSqueezeを実行しているPostfixメールサーバーがあります。安全なSMTPのSASL認証は、winbindに依存するpamに依存するsaslauthdによってサポートされます。

このパターンは数週間ごとに再発しているようです。

  1. 最初は、/ var/log /auth.logにエラーはありません-postfixSMTPはうまく機能しています
  2. 1週間以上経過すると、ログにエラーが表示されます。

    12月5日15:45:22myhostname saslauthd [32586]:PAMがdlopen(/lib/security/pam_winbind.so)できません:/lib/security/pam_winbind.so:共有オブジェクトファイルを開くことができません:開いているファイルが多すぎます12月5日15 :45:22 myhostname saslauthd [32586]:PAMが障害のあるモジュールを追加しています:/lib/security/pam_winbind.so
    12月5日15:45:22myhostname saslauthd [32586]:PAMがdlopenできません(/lib/security/pam_deny.so):/lib/security/pam_deny.so:共有オブジェクトファイルを開くことができません:多すぎますファイルを開く
    12月5日15:45:22myhostname saslauthd [32586]:PAMが障害のあるモジュールを追加しています:/lib/security/pam_deny.so
    12月5日15:45:22myhostname saslauthd [32586]:PAM _pam_load_conf_file:/etc/pam.d/common-authを開くことができません
    12月5日15:45:22myhostname saslauthd [32586]:PAMエラーの読み込み(null)
    12月5日15:45:22myhostname saslauthd [32586]:PAM _pam_init_handlers:/etc/pam.d/otherの読み取りエラー
    12月5日15:45:22myhostname saslauthd [32586]:PAM _pam_init_handlers:[重大なエラー-即時中止]
    Dec 5 15:45:22 myhostname saslauthd [32586]:PAM構成ファイルの読み取り中にPAMエラーが発生しました
    12月5日15:45:22myhostname saslauthd [32586]:PAM pam_start:ハンドラーの初期化に失敗しました
    12月5日15:45:22myhostname saslauthd [32586]:デバッグ:auth_pam:pam_startが失敗しました:重大なエラー-即時中止
    Dec 5 15:45:22 myhostname saslauthd [32586]:do_auth:auth failure:[user = dteed] [service = smtp] [realm =] [mech = pam] [reason = PAM start error]
    12月5日15:45:32myhostname saslauthd [32586]:server_exit:マスターが終了しました:32586
    12月5日15:45:32myhostname saslauthd [1696]:detach_tty:マスターpidは:1696
    12月5日15:45:32myhostname saslauthd [1696]:ipc_init:ソケットでリッスン:/ var/run/saslauthd/mux

このとき、認証は常に失敗します。これはtestsaslauthdで確認できます。 saslauthdを再起動するだけで、さらに1〜2週間問題が修正されます。

開いているファイルが多すぎるときにエラーを検索しましたが、これが何を示しているかについては何もわかりません。開くことができないと文句を言うpamモジュールのいくつかは、saslauthdがwinbindを介した単純なSASL認証の処理であるジョブとは何の関係もありません。

これが/etc/pam.d/smtpです:

account     required    pam_permit.so
auth        sufficient    pam_winbind.so debug
auth        required      pam_deny.so

デバッグ(フォアグラウンド)メソッドでsaslauthdを実行したくありません。これ以上saslauthdプロセスは必要ないと思います。5を実行していますが、以前の低電力サーバーではこれで十分でした。安全なSMTPは、ユーザーによって広く使用されていないオプションですが、おそらく2、3分ごとに1つの接続があります。

1
labradort

不平を言ったのはsaslauthdでしたが、これはsambaのwinbindで報告されたバグのようです。バグレポートは次のとおりです。

https://bugzilla.samba.org/show_bug.cgi?id=7265

これがリリースされるまでの回避策は、winbindとsaslauthdを数日ごとに(cronで)再起動することです。

2
labradort