Tôi đã cài đặt Dovecot v2.0.11 trên máy chủ FreeBSD và việc tra cứu người dùng cho các địa chỉ email đến không thành công, nhưng việc tìm kiếm người dùng hệ thống đã thành công.
Dovecot được thiết lập để sử dụng người dùng hệ thống, do đó dovecot.conf của tôi có
userdb {
driver = passwd
}
và
passdb {
driver = passwd
}
Tôi đã bật auth gỡ lỗi.
Ví dụ: tôi có một người dùng được gọi là quản trị trang web và sử dụng người dùng doveadm cho "quản trị trang web" hoạt động như sau:
#doveadm user webmaster
userdb: webmaster
system_groups_user: webmaster
uid : 1020
gid : 1020
home : /home/webmaster
Tuy nhiên, việc sử dụng doveadm để tra cứu webmaster@myregisteredname.com không thành công như sau:
# doveadm user webmaster@myregisteredname.com
userdb lookup: user webmaster@myregisteredname.com doesn't exist
Điều này dẫn đến việc thư đến cho webmaster@myregisteredname.com bị trả về với lỗi "người dùng không xác định".
Đây là lỗi đăng nhập / var / log / maillog:
Apr 16 20:13:35 www dovecot: auth: passwd(webmaster@myregisteredname.com): unknown user
Đây là lỗi đăng nhập /var/log/debug.log:
Apr 16 20:13:35 www dovecot: auth: Debug: master in: USER 1 webmaster@myregisteredname.com service=doveadm
Apr 16 20:13:35 www dovecot: auth: Debug: passwd(webmaster@myregisteredname.com): lookup
Apr 16 20:13:35 www dovecot: auth: Debug: master out: NOTFOUND 1
Người dùng và thư mục nhà của họ đã được nhập từ một máy chủ khác và người dùng được thiết lập bằng công cụ vipw. Tôi chắc chắn rằng đôi khi tôi đã bỏ lỡ việc nhập mà không "liên kết" người dùng hệ thống với tra cứu dovecot.
Bất kỳ ý tưởng về những gì đó có thể là gì?
EDIT: Sử dụng lời khuyên của BillThor, tôi đã cập nhật dovecot.conf như sau:
#doveconf -n passdb userdb
passdb {
args = username_format=%n
driver = passwd
}
userdb {
args = username_format=%n
driver = passwd
}
Tuy nhiên, bây giờ, người dùng doveadm thất bại theo một cách khác:
#doveadm user webmaster@pantronx.com
doveadm(root): Error: userdb lookup(webmaster@myregisteredname.com): Disconnected unexpectedly
doveadm(root): Fatal: userdb lookup failed for webmaster@myregisteredname.com
Và, nó không còn hoạt động cho người dùng mà không có tên miền:
#doveadm user webmaster
doveadm(root): Error: userdb lookup(webmaster): Disconnected unexpectedly
doveadm(root): Fatal: userdb lookup failed for webmaster
Khi tôi nhận được các thông báo trên, thông báo sau nằm trong / var / log / maillog:
Apr 17 17:30:02 www dovecot: auth: Fatal: passdb passwd: Unknown setting: username_format=%u
Apr 17 17:30:02 www dovecot: master: Error: service(auth): command startup failed, throttling