我想将我的根邮件转移给另一个用户(他的昵称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
。
我只看到一种方法,创建一个新用户(使用 nick's collectmail
)并将所有邮件从 root 转发到他的邮箱。当我需要时,从collectmail
移动邮件到userto
通过命令行。但我不认为这种方式是最好的。
编辑:
国际海事组织我不使用spool
。
我有邮箱,所有邮件都放入~Mailbox
答案1
您是否尝试将它们从根目录复制到用户目录?一般root的邮件存放在/var/mail
首先,检查 root 邮件的存储位置
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
通过该设置,您可以使用用户 rootmail 通过利用 dovecot 服务器的 IMAP 客户端访问邮件(可能您必须配置 dovecot first_valid_uid=1 和 first_valid_gid=1 以允许系统用户或将用户添加为非系统用户,省略-r
标志到用户添加)。