Điểm:0

Roundcube không lấy mật khẩu cho người dùng khi đăng nhập

lá cờ cl

Tôi có roundcube và docker-mailserver trong docker container. Tôi đã quản lý để có thể thay đổi mật khẩu bằng plugin mật khẩu roundcube. Tôi đã tạo bảng 'hộp thư' và thêm hai cột: 'tên người dùng' và 'mật khẩu'. Bây giờ điều này đang hoạt động, tất cả người dùng có thể thay đổi mật khẩu của họ.

Nhưng roundcube vẫn đang đăng nhập người dùng bằng mật khẩu từ /config/postfix-accounts.cf, không phải từ cơ sở dữ liệu.

Làm cách nào tôi có thể tạo roundcube lấy mật khẩu từ cơ sở dữ liệu (MySQL)?

Chắc chắn IMAP và POP3 cũng nên lấy mật khẩu từ cơ sở dữ liệu chứ không phải từ tệp đã cho.

Roundcube 1.5.2, docker-mailserver 10.4.0.

vidarlo avatar
lá cờ ar
Bạn đã đọc tài liệu liên quan chưa? Bạn đã cố gắng gì? Bạn đã đọc các tập tin cấu hình có liên quan để tìm manh mối chưa?
pbies avatar
lá cờ cl
@vidarlo Vâng, vâng. Có vẻ như roundcube bị thiếu mã để đăng nhập lấy mật khẩu từ cơ sở dữ liệu.
pbies avatar
lá cờ cl
Hiện tại những gì tôi đang cố gắng làm là tạo người dùng xác thực roundcube bằng mật khẩu từ cơ sở dữ liệu chứ không phải từ tệp. Có lẽ cấu hình dovecot cần phải được thay đổi?
Điểm:0
lá cờ cl

Ok, vì vậy đã có nhiều công việc liên quan + nhiều nghiên cứu:

  1. bạn phải có bộ chứa MySQL riêng biệt và các bộ chứa sử dụng nó
  2. docker-mailserver phải sử dụng những dòng này thay vì hình ảnh:
xây dựng:
  bối cảnh: .
  dockerfile: dockerfile
  1. Dockerfile phải là:
TỪ docker.io/mailserver/docker-mailserver:latest
CHẠY apt-get update && apt-get install -y dovecot-mysql
  1. như bạn có thể thấy nó phải được chạy với soạn thảo docker với --xây dựng tham số
  2. dovecot-mysql phải được cài đặt vì nó dành cho plugin lấy mật khẩu từ cơ sở dữ liệu MySQL (plugin này phải được bật cho roundcube trong tệp cấu hình - để thay đổi mật khẩu trong cơ sở dữ liệu từ roundcube)
  3. Trong vv/dovecot/10-auth.conf bạn cần bình luận !bao gồm auth-passwdfile.inc với #
  4. trong cùng một tập tin bỏ ghi chú #!bao gồm auth-sql.conf.ext
  5. trong tập tin 10-ssl.conf làm cho dòng ssl=có
  6. điều này có thể cần thiết cho userdb Mà còn
  7. tạo một bảng trong cơ sở dữ liệu vùng chứa của bạn hộp thư có cột tên tài khoản, mật khẩu mở khóa
  8. thêm ít nhất một người dùng bằng mật khẩu $1$... - được mã hóa
  9. dovecot.cf tập tin phải có ssl=có và bạn có thể muốn thêm vô hiệu hóa_plaintext_auth=có
  10. /etc/dovecot dưới dạng âm lượng (lấy các tệp từ bên trong vùng chứa)
  11. Trong /etc/dovecot/dovecot-sql.conf.ext có:
trình điều khiển = mysql
kết nối = máy chủ = mail_mysql_cont dbname=db user=tên người dùng mật khẩu=root_passwd_for_db
password_query = \
  CHỌN tên người dùng NHƯ người dùng, mật khẩu \
  TỪ hộp thư WHERE tên người dùng = '%u'
user_query = \
  CHỌN '/tmp' NHƯ nhà, 9999 AS uid, 9999 AS gid;
  1. Trong /etc/dovecot/auth-sql.conf.ext có:
mật khẩu {
  trình điều khiển = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}

Tôi sẽ cập nhật câu trả lời sau vì tôi sẽ tiếp tục giải quyết vấn đề.

CHỈNH SỬA:

Để có thể thay đổi mật khẩu trong Roundcube, bạn cần đính kèm cơ sở dữ liệu MySQL và bảng hộp thư được tạo với ít nhất các cột tên tài khoảnmật khẩu mở khóa.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.