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

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

ただいまの
回答率

87.60%

Postfix+dovecotで認証はするが、受信できない。 サーバの移行に伴いデータをコピーしてきたユーザについて

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 5,274

score 22

Postfix+dovecotで認証はするが、受信できないことについて

メールサーバの移行をおこなっているのですが、送信はできるのですが、受信ができないで困っています。

移行に際しては、ホームディレクトリーを持たないユーザがいますので、
mailbox file is /var/spool/mail/user or /var/mail/user
と初期のままで、dovecotは

vi /etc/dovecot/conf.d/10-mail.conf

  mail_location = mbox:~/mail:INBOX=/var/mail/%u

 
としています。

検証に当たっては移行ユーザではなく新サーバで作ったユーザuserで実験をおこないました。

Beckey!で送受信してみたのですが、送信は問題なくできるのですが、受信はログインはできていますが、受信ができません。

maillogをみると

Feb 14 11:06:31 gwmail dovecot: pop3-login: Login: user=<user>, method=PLAIN, p=192.168.0.199, lip=192.168.1.220, mpid=9947, TLS, session=<N0JgG9GB1BOsGADH>
Feb 14 11:06:31 gwmail dovecot: pop3(user): Error: Couldn't open INBOX: Permission denied
Feb 14 11:06:31 gwmail dovecot: pop3(user): Couldn't open INBOX: Permission denied top=0/0, retr=0/0, del=0/0, size=0


INBOX: Permission deniedとなってしまいます。試しに Maildir/形式にしても同じ結果が出てしまいます。
当然、サーバ上からはmailコマンドで受信がでます。

追記 これについてはユーザを作り直すことで解消しました。一番下に書きました

もうひとつ移行ユーザについてですが、

Feb 14 11:14:42 gwmail dovecot: pop3-login: Login: user=<user2>, method=PLAIN, p=192.168.0.199, lip=192.168.1.220, mpid=9958, TLS, session=<XhWyONGB8BOsGADH>
Feb 14 11:14:42 gwmail dovecot: pop3(user2): Error: Mail access for users with UID 882 not permitted (see first_valid_uid in config file, uid from userdb lookup).
Feb 14 11:14:42 gwmail dovecot: pop3(user2): Error: Invalid user settings. Refer to server log for more information.


となりログイン自体ができません。

first_valid_uid = 500


と明示してもなぜか効いていないのか同じエラーになります。 どなたかヒントを下さらないでしょうか。


追加 もう一点webminで新たなユーザuser3を追加して受信しようとするのですが、これもPermission deniedエラーが出てしまいます。なにか同じようなところでつまいずいています。
→解決 以下に書いております

Feb 14 11:36:51 gwmail dovecot: pop3-login: Login: user=<user3>, method=PLAIN, p=192.168.0.199, lip=192.168.1.220, mpid=10030, TLS, session=<POnah9GBuRSsGADH>
Feb 14 11:36:51 gwmail dovecot: pop3(user3): Error: Namespace '': mkdir(/home/user3/mail) failed: Permission denied (euid=1381(user3) egid=100(users) missing +w perm: /home/user3, UNIX perms appear ok (ACL/MAC wrong?))
Feb 14 11:36:51 gwmail dovecot: pop3(user3): Namespace '': mkdir(/home/user3/mail) failed: Permission denied (euid=1381(user3) egid=100(users) missing +w perm: /home/user3, UNIX perms appear ok (ACL/MAC wrong?)) top=0/0, retr=0/0, d

上記の3点目の疑問は

chmod 0600 /var/mail/*

とすることで解決しました。同時に1つめの質問もユーザを作り直すことでエラーは解消しました。

残る問題はパスワード、グループを古いサーバから引き継いだユーザに関してです。

ユーザの移行はpasswd,group,shadowを移したのですが、データ(/var/spool/mail)は移行していません。これが原因なのでしょうか。

/var/spool/mailのデータも移行しました。ファイルのパーミッション600、グループはmailで統一しました。
結果は同じになっております。また特定のユーザについてホームディレクトリーをmkdirしてみましたが、おなじでした。
first_valid_uidのところでひっかかっています。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • scsi

    2019/02/14 19:41 編集

    doveconf -n の結果がみたいです。
    また、mboxディレクトリ配下のファイルは全て正しいパーミションですか?
    Dovecotはどのようにインストールしましたか?
    再作成したユーザのUIDは作成前と同じですか?

    キャンセル

  • sasa56563

    2019/02/14 20:18

    さきほど/var/spool/mailのデータも移行しました。ファイルのパーミッション600、グループはmailで統一しました。
    結果は同じになっております。

    doveconf -n
    ```
    first_valid_uid = 200
    listen = *
    mail_location = mbox:~/mail:INBOX=/var/mail/%u
    mbox_write_locks = fcntl
    namespace inbox {
    inbox = yes
    location =
    mailbox Drafts {
    special_use = \Drafts
    }
    mailbox Junk {
    special_use = \Junk
    }
    mailbox Sent {
    special_use = \Sent
    }
    mailbox "Sent Messages" {
    special_use = \Sent
    }
    mailbox Trash {
    special_use = \Trash
    }
    prefix =
    }
    passdb {
    driver = pam
    }
    ssl = required
    ssl_cert = </etc/pki/postfix/postfix.pem
    ssl_key = # hidden, use -P to show it
    userdb {
    driver = passwd
    }
    ```

    /var/spool/mail
    のすべてのファイルは600でグループはmailにしています。もとのサーバからpass,group,shadowをユーザ分コピーしてきましたのでUIDは作成前と同じです。
    Dovecotについてはyumでインストールし、また、完全にremoveしたのち入れ直しもしました。

    キャンセル

  • sasa56563

    2019/02/14 20:42

    試しに
    後付けでひとりのユーザにホームディレクトリーとその下にmailディレクトリーを作成してみましたが、
    結果は同じです。

    キャンセル

  • scsi

    2019/02/14 21:47

    ちょっと同じ設定でサーバ作ってみます。

    キャンセル

回答 1

checkベストアンサー

+1

CentOS7 + Dovecot v2.2.36 にて同じ設定で試しましたが再現しません。
正常にメールを受信できます。

first_valid_uid = 500 を設定したあと dovecot は再起動しましたでしょうか?

passwd,group,shadow も別のサーバから1ユーザ分だけコピーしてみましたが、特に問題なく POP できました。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/02/15 20:37

    完全な解決には至っていませんが、再現テストで問題がなかったことを考えると環境の違いでデータが完全な形で引き継がれていないと考えられます。
    完全な解決方法としてはやはり新規ユーザーとして作り直すことが正解だと思いました。

    ユーザ、パスワードを一覧にして
    useradd -m -p username
    を考えたのですが、パスワードはcrypt関数にしたもののようで
    passwdは後に付ける方が良いようです。
    調べていくとchpasswdという非常に便利なコマンドもあるようで気が楽になりました。

    ありがとうございます。

    キャンセル

  • 2019/02/15 22:25

    あまり役に立たなかったような気もしますが、頑張って下さい!

    キャンセル

  • 2019/02/15 23:09

    最も重要なことは問題点を絞り込んでいくことだと思っています。示唆をいただくたびに引っかかっていることが整理して考えられます。
    本当にありがとうございました。

    キャンセル

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

  • ただいまの回答率 87.60%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • トップ
  • Postfixに関する質問
  • Postfix+dovecotで認証はするが、受信できない。 サーバの移行に伴いデータをコピーしてきたユーザについて