执行“doveadm dsync-server”需要什么用户权限?

问题描述 投票:0回答:1

我正在尝试将邮件从为

example.com
服务的一台服务器(mail1)复制到另一台服务器(mali2)以及https://doc.dovecot.org/3.0/man/doveadm-sync.1/的文档说我能做到

doveadm sync -u [email protected] ssh -i id_dsa.dovecot [email protected] doveadm dsync-server -u [email protected]

这并不完全清楚,但我猜这里

[email protected]
是一个帐户
mailuser
ssh
可以用来登录
example.com
(在我的例子中是
mail1
)。

所以我在

mailuser
上创建了
mail1
,验证了
ssh
会让我进入,并尝试运行此:

useracc@mail2:~$ doveadm sync -u [email protected] ssh -i id_dsa.dovecot mailuser@mail1 doveadm dsync-server -u [email protected]
doveadm(useracc): Error: net_connect_unix(/var/run/dovecot/stats-writer) failed: Permission denied
doveadm([email protected]): Fatal: setgid(5000(vmail) from userdb lookup) failed with euid=1000(useracc), gid=0(root), egid=0(root): Operation not permitted (This binary should probably be called with process group set to 5000(vmail) instead of 0(root))

这看起来确实是权限问题,所以我把

sudo
放在它前面,然后再试一次,得到了这个

useracc@mail2:~$ sudo doveadm sync -u [email protected] ssh -i id_dsa.dovecot mailuser@mail1 doveadm dsync-server -u [email protected]
[sudo] password for useracc: 
doveadm([email protected])<3916205><>: Error: auth-master: userdb lookup([email protected]): Auth USER lookup failed
doveadm([email protected]): Error: User lookup failed: Internal error occurred. Refer to server log for more information.
dsync-local([email protected])<lAmcH6o/HWYh4QAAbmxPTQ>: Error: read(remote) failed: EOF (version not received)

现在看起来像是

mailuser@mail1
的权限问题,所以我以
mailuser@mail1
的身份登录并尝试了

mailuser@mail1:~$ doveadm dsync-server -u [email protected]
doveadm(mailuser): Error: net_connect_unix(/var/run/dovecot/stats-writer) failed: Permission denied
doveadm([email protected])<3919456><>: Error: auth-master: userdb lookup([email protected]): Auth USER lookup failed
doveadm([email protected]): Error: User lookup failed: Internal error occurred. Refer to server log for more information.

所以这确实是一个权限问题。

该用户没有密码(使用 PubkeyAuthentication),所以我不能在这里做

sudo
。但即使我能做到,我也不知道如何将
sudo
添加到从
mail2
发送的命令中...无论如何,只是为了确保,我使用另一个帐户(没有
sudo
)尝试了相同的命令(
root
组的成员)在
mail1
上,结果相似(尽管不完全相同):

useracc@mail1:~$ doveadm dsync-server -u [email protected]
doveadm(useracc): Error: net_connect_unix(/var/run/dovecot/stats-writer) failed: Permission denied
doveadm([email protected]): Fatal: setgid(5000(vmail) from userdb lookup) failed with euid=1000(useracc), gid=0(root), egid=0(root): Operation not permitted (This binary should probably be called with process group set to 5000(vmail) instead of 0(root))

然后使用

sudo
运行它,得到一些看起来像正在运行的服务器的终端输出!!!

useracc@mail1:~$ sudo doveadm dsync-server -u [email protected]
[sudo] password for useracc: 
VERSION dsync   3   5
Hhostname   sync_ns_prefix  sync_box    sync_box_guid   sync_type
.....

所以现在我确定

mailuser@mail1
启动服务器是权限问题,但我无法弄清楚到底需要什么权限?!?我在文档中找不到任何内容。我怀疑我应该以
root
身份登录才能完成此任务...

我想知道是否有人可以向我指出更详细的指南,该指南解释了源计算机和目标计算机上用于与

doveadm
同步邮件的设置?

server permissions synchronization account dovecot
1个回答
0
投票

您在这里没有得到太多回复...

你自己想出来的吗? (我正在尝试做同样的事情。)

谢谢,

-kb

© www.soinside.com 2019 - 2024. All rights reserved.