Cronjobsから通知を送信するために、パーソナルサーバー(Ubuntu 14.0.4 LTS)にpostfix + dovecotを設定しようとしています。私の/ home /%user%ディレクトリは暗号化されているため、ログインしていない場合(および、ソフトウェアがPAMセッションをサポートしていない場合)は、どのディレクトリにもアクセスできません。
私の問題は、何らかの理由で、私の鳩小屋のインストールが常にPOP3ログインに/ home /%user%をマウントしようとし、それを黙って失敗し、メールを返さないことです。 /var/log/mail.errで、私は一連の
May 29 17:32:17 vps dovecot: pop3(u): Error: user u: Initialization failed: Namespace '': Can't create mailbox root dir /home/u/mail: Mountpoint /home/u isn't mounted. Mount it or remove it with doveadm mount remove
May 29 17:32:17 vps dovecot: pop3(u): Error: Invalid user settings. Refer to server log for more information.
その間、 doveadm mount list
はマウントポイントを表示しません。
私のメールはPostfixによって/ var/mail /%user%に保存されており、私の知る限り同じディレクトリを使用するようにdovecotを設定しました。
何か案は?
私はあなたの環境を持っていませんが、 Dovecot --Community Help Wiki から引用します(太字の部分は元のテキストではそのようになっています):
注:Dovecotは暗号化されたディレクトリ/フォルダでは機能しません。 Dovecotは権限について文句を言うだけで、機能しません。 1つの答えは、暗号化されていないホームディレクトリを持つ2番目のユーザーアカウントを作成することです。このソリューションを別のホームパーティションでテストしたことはありませんが、おそらく結果は同じです。
公式には、別のユーザーアカウントを使用した上記の回避策が唯一の解決策です。
dovecotはユーザーのホームディレクトリをマウントします のスレッドで説明されているように、ホームディレクトリをまったくマウントしないようにDovecot自体のソースコードを変更することもできます。ただし、 この回答 :と言うように、問題はDovecotにはまったくない可能性があります。
問題は、pam_ecryptfsがログインパスフレーズをキャプチャして使用して
~/.ecryptfs/wrapped-passphrase
を復号化し、ホームディレクトリのマウントを実行することです。残念ながら、あなたが説明する非対話型のdovecot pamセッションは、実際にログインパスフレーズを取得することはないため、マウントを実行できません。ごめんなさい。
暗号化されていない別のユーザーアカウントを使用する回避策は、最も有望な方向のようです。