Postfix hiện chỉ hỗ trợ hai phương thức xác thực SASL. Một trong số đó là Dovecot, thứ mà bạn không muốn. Cái còn lại là Cyrus, gần với những gì bạn muốn có thể nhận được mà không cần viết lại Postfix. Nó liên quan đến việc chạy một daemon xác thực ( saslauthd
) riêng biệt , nhưng tệp xác thực rất dễ chỉnh sửa và cập nhật.
Những điều cơ bản để sử dụng Cyrus SASL có thể được tìm thấy tại trang web tài liệu postfix , nhưng đây là một mô tả ngắn. Vui lòng nhìn vào liên kết nếu có bất cứ điều gì khó hiểu!
Bắt đầu bằng cách cài đặt Cyrus SASL với plugin sasldb
. . thêm postfix vào nhóm SASL và đảm bảo rằng nhóm đó đã đọc và thực thi các quyền đối với thư mục /var/run/saslauthd
.
Cấu hình SASL
Định cấu hình SASL để sử dụng sasldb bằng cách chỉnh sửa /etc/sasl2/smtpd.conf:
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM
Plugin sasldb có nghĩa là sasl sẽ sử dụng tệp Berkeley DB cho tên người dùng và mật khẩu. Bạn thêm người dùng bằng lệnh saslpasswd2
:
$ saslpasswd2 -c -u example.com username
Password:
Again (for verification):
Lưu ý rằng bạn chỉ định một tên miền cùng với tên người dùng và người dùng sẽ cần sử dụng "username@example.com" thay vì chỉ "tên người dùng" khi xác thực.
Bạn có thể xác minh những gì người dùng đã được nhập bằng cách chạy sasldblistusers2
.
Bắt đầu saslauthd và xác minh rằng xác thực hoạt động bằng cách thực hiện
testsaslauthd -u username@example.com -p password
Cấu hình Postfix
Khi đã xong, hãy báo cho Postfix sử dụng SASL và nói với Cyrus rằng đó là SMTP đang xác thực, bằng cách chỉnh sửa /etc/postfix/main.cf để chứa
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
Sau đó, tải lại postfix và bạn sẽ được đặt.