すべてのルートメールを十分なユーザーに送信する

すべてのルートメールを十分なユーザーに送信する

私のルートメールを他のユーザー(ニックネーム)に送信したいと思いますuserto。私のusertoホームディレクトリは、使用時にマウントし、使用しないときは削除する暗号化されたハードドライブにあるため、メールを転送したくありません。したがって、電子メールをそれらに転送するときにusertoハードドライブがマウントされない場合、その電子メールは失われます。ルートメールにはシステムメッセージがあるので必要ありません。

必要に応じてコマンドラインでメールを送信したいと思います。

PostFixとDoveCot(メールボックス)を設定しました。

試してみましたが、dovecotルートメールにアクセスできませんでした。確認するにはdoveadm search -u root ALL

エラーが発生しました。

Error: Invalid settings in userdb: userdb returned 0 as uid
doveadm
Error: User lookup failed: Invalid user settings. Refer to server log for more information.

たぶん他のツールを使用する必要がありますdovecot

私は1つの方法だけを見ています。新しいユーザーを作成し(nick'sを使用してcollectmail)、すべてのメールをルートから彼のメールボックスに転送します。必要に応じてコマンドラインを介してcollectmailメールを移動することです。usertoしかし、私はこの方法が最善だとは思わない。

編集する:

IMO私はそれを使用しませんspool

メールボックスがあり、郵便物がすべて入っています。~Mailbox

答え1

ルートディレクトリからユーザーディレクトリにコピーしましたか?通常、ルートのメールは次の場所に保存されます。/var/mail

まず、ルートメールがどこに保存されているかを確認してください。

sudo env | grep MAIL

通常/var/mail/rootまたは/var/spool/mail/root

次に、次の方法でユーザーのメールの場所を確認します。env | grep MAIL また、次のようにする必要があります。/var/mail/$USERまたは/var/spool/mail/$USER

次に、root権限を使用してrootから$ USERにコピーしてみてください。

答え2

あなたが私のようにしてdovecotを使ってルートメールを読むことができるようにしたい場合(他のユーザーに転送またはコピーすることの欠点なし)、私にとって最善の解決策はbinfsを使用してこの目的のための専用ユーザーを作成することです。マウントされたMaildir、例:

apt install bindfs
useradd -c "Account to Read ROOT mails with Dovecot" -M -r -s /usr/sbin/nologin -d /nonexistent -U rootmail
mkdir /var/spool/mail/mboxes/rootmail
chown rootmail: /var/spool/mail/mboxes/rootmail
echo -e '\n/var/spool/mail/mboxes/root /var/spool/mail/mboxes/rootmail fuse.bindfs map=root/rootmail:@root/@rootmail 0 0' >> /etc/fstab
mount /var/spool/mail/mboxes/rootmail

この設定により、ユーザールートメールを使用してdovecotサーバーを利用するIMAPクライアントを介してメールにアクセスできます(おそらくdovecot first_valid_uid = 1とfirst_valid_gid = 1を構成してシステムユーザーを許可するか、ユーザーを非システムユーザーとして追加する必要があり、-rユーザーのフラグを省略する必要があります)。加える )。

関連情報