質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
SASL

SASLは、コネクションベースのプロトコルにおける認証サポートの追加や、データセキュリティのためのフレームワーク。既存のライブラリ・仕組みを再利用することが可能で,ユーザーに対しチャレンジ・レスポンス認証といった安全な認証方式を提供できます。

Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

Q&A

解決済

1回答

8021閲覧

saslauthdでユーザーを追加できない(初心者です)

kazuemon0602

総合スコア12

SASL

SASLは、コネクションベースのプロトコルにおける認証サポートの追加や、データセキュリティのためのフレームワーク。既存のライブラリ・仕組みを再利用することが可能で,ユーザーに対しチャレンジ・レスポンス認証といった安全な認証方式を提供できます。

Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

0グッド

0クリップ

投稿2016/03/27 13:11

##まず
私の初質問になります。
書き方とかも初めてなのでおかしいところがあるかもしれません。
不足点などありましたらご指摘お願いいたします。

###環境
postfix・dovecot・saslauthd(Dovecot-auth?)を使ってメールサーバーを構築しています。
そこでユーザーを追加したところ表示上は問題ないのに認証ができませんでした。

  • ubuntu14.04 LTS
  • saslauthd 2.1.25

###発生している問題
まず、自分のユーザー名を登録しました。

sudo saslpasswd2 -c -u (ドメイン) kazuemon Password: (パスワード) Again: (パスワード)

その後、testsaslauthdを利用して認証テストを行いました。

sudo testsaslauthd -u kazuemon -p (パスワード) 0: OK "Success."

そして、別のアカウントを追加しました。

sudo saslpasswd2 -c -u (ドメイン) kazuemon2 Password: (パスワード) Again: (パスワード)

そのあとtestsaslauthdを利用して認証テストを行うと

sudo testsaslauthd -u kazuemon2 -p (パスワード) 0: NG "authentication failed."

となってしまいます。

sasldblistusers2を実行してみたところ、

sudo sasldblistusers2 kazuemon@(ドメイン): userPassword kazuemon2@(ドメイン): userPassword

というように表示されます。

コレはubuntu側のユーザーに依存しているということなのでしょうか?
ちなみにkazuemonを削除してみて、再作成したところ正しく認証できました。

初心者なのであまりよくわからなかったので質問しました。

###/etc/default/saslauthd

START=”yes”

以外の変更は加えていません。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

saslpasswd2 コマンドは /etc/sasldb2 ファイルにユーザー情報を登録するものですが、saslauthd が認証方式として /etc/sasldb2 ファイルを見るのか、他を見るのかは設定によります。

デフォルトでは MECHANISMS="pam" となっていて、PAM を使って認証するようになっていると思います。
PAM に特別な設定をしていなければ、pam_unix.so でシステムユーザー(/etc/{passwd,shadow})で認証します。
/etc/sasldb2 ファイルを使って認証するには、/etc/default/saslauthd で MECHANISMS="sasldb" と設定する必要があります。
アプリケーションによっては、libsasl2 ライブラリ経由で(saslauthd を使わずに) /etc/sasldb2 を見ることもできます。

ただし、Dovecot って /etc/sasldb2 を見れるのでしたっけ? (saslauthd または libsasl2 経由で)
Dovecot のユーザー情報・認証も /etc/sasldb2 を使おうと思っていますか?

投稿2016/03/28 03:15

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazuemon0602

2016/03/28 13:19 編集

ご回答ありがとうございます。 ご指摘の通り、pamの部分をsasldbに変更いたしました。 しかしユーザー認証ができませんでした。 ユーザーを全削除してsasldblistusers2を行い、何も表示されていないことを確認し、stringsを利用して/etc/sasldb2を表示したところ、データが残っており、削除されていませんでした。 そのため再インストールし、もう一度ユーザーを追加しても、正しく認証されませんでした。 /var/log/auth.logを見てみたら、saslpasswd2を実行したときに、 erorr deleting entry from sasldb: BDB0073 DB_NOTFOUND: No matching key/data pair found となってしまっていました。 コレはまた別の問題が発生しているということでしょうか。
TaichiYanagiya

2016/03/28 14:55

エラーメッセージの原因はわかりませんが、 saslauthd が削除したはずのユーザー情報をメモリ上に保持しているかもしれませんので、再起動することと、"sudo /usr/bin/db_dump /etc/sasldb2" で登録されている情報を確認してください。
kazuemon0602

2016/03/31 10:57

返信遅れて申し訳ありません。 明日確認します。
kazuemon0602

2017/10/10 07:11

1年以上経過していたためベストアンサーをつけさせていただきました 回答ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問