내 루트 메일을 다른 사용자(닉네임)에게 전송하고 싶습니다 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
) 모든 메일을 루트에서 그의 사서함으로 전달하는 것입니다. 필요할 때 명령줄을 통해 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
이제 루트 권한을 사용하여 루트에서 $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
user에 대한 플래그를 생략해야 함). 추가하다 ).