ホーム » コンピュータ » Linux » Debian » saslauthd のトラブル

システム

最近の投稿

アーカイブ

カテゴリー

saslauthd のトラブル

saslauthdが起動しない

メールの送信機能が動いていない。色々と調べたら、”systemctl start saslauthd” を実行しても起動しない。

正確に言うなら、systemctl が終わらない。1,2分ほど待つとタイムアウトが発生して強制終了となっている。

# systemctl start saslauthd   # --- 1,2分で強制終了となる
# journalctl -xeu saslauthd   # journalctl で確認できるとのメッセージがあるので
The job identifier is 21448.
 3月 15 08:51:27 xxxx saslauthd[33874]:  : master pid is: 33874
 3月 15 08:51:27 xxxx saslauthd[33874]:  : listening on socket: /var/spool/postfix/var/run/saslauthd/mux
 3月 15 08:51:27 xxxx systemd[1]: saslauthd.service: Can't open PID file /run/saslauthd/saslauthd.pid (yet?) after start: No such file or directory
 3月 15 08:52:57 xxxx systemd[1]: saslauthd.service: start operation timed out. Terminating.
 3月 15 08:52:57 xxxx saslauthd[33874]:  : master exited: 33874
 3月 15 08:52:57 xxxx systemd[1]: saslauthd.service: Failed with result 'timeout'.
░░ Subject: Unit failed

postfix の smtp認証の設定の影響

色々調べると、こちらの記事を見つける。

postfix の中で、smtpd の起動はデフォルト(非chroot)では、/var/run/saslauthd の中にパイプなどを作る。しかし、postfix で SMTP認証を使えるように設定するための設定では、smtpd を chroot で起動するために、/etc/default/saslauthd の中の設定で、/var/spool/postfix/var/run/saslauthd を使うように指定しないといけない。

((( /etc/default/saslauthd )))
# See /usr/share/doc/sasl2-bin/README.Debian for Debian-specific information.
# See the saslauthd man page and the output of 'saslauthd -h' for general
# information about these options.
#
# Example for chroot Postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
# Example for non-chroot Postfix users: "-c -m /var/run/saslauthd"
#
# To know if your Postfix is running chroot, check /etc/postfix/master.cf.
# If it has the line "smtp inet n - y - - smtpd" or "smtp inet n - - - - smtpd"
# then your Postfix is running in a chroot.
# If it has the line "smtp inet n - n - - smtpd" then your Postfix is NOT
# running in a chroot.
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

しかし、何らかの更新の中で 非chroot の /var/run/saslauthd を参照する設定となり、この中にパイプなどを作っても反応がないために、起動に失敗している様子。

ということで、元記事に書いてあるように、/var/spool/postfix/var/run/saslauthd を使わせるために、シンボリックリンクを設置する。saslauthd パッケージの更新で chroot 起動の判定が不十分なのではないかな。

# rm -rf /var/run/saslauthd
# ln -sf /var/spool/postfix/var/run/saslauthd /var/run/saslauthd
# systemctl start saslauthd

(追記) 次は Permission denied

無事に saslauthd は起動するようになったけど、次はパスワード認証が受け付けない。LOG を確認すると下記のエラーがでるようになった。

2024-03-15T11:59:10.543324+09:00 xxxxx postfix/smtpd[46317]: warning: xxxxxx[xxx.xxx.xx.xx]: SASL PLAIN authentication failed: generic failure, sasl_username=xxxx@xxxx.xxx
2024-03-15T11:59:10.560548+09:00 xxxxx postfix/smtpd[46317]: warning: SASL authentication failure: cannot connect to saslauthd server: Permission denied

これまた、調べてみたけど /var/spool/postfix/var/run/saslauthd 配下のファイルのパーミッションが原因っぽい。
配下のファイルに、下記の制限を設定して無事にメールが出せるようになった。

# chmod -R +x /var/spool/postfix/var/run/saslauthd/

Google 検索

My Google   Yahoo

Microsoft

ファンサイト