Score:1

Dovecot + Mysql ไม่สามารถตรวจสอบผู้ใช้ได้

ธง th

ฉันกำลังตั้งค่าเซิร์ฟเวอร์อีเมลโดยใช้ postfix+dovecot+mysql ใน ubuntu 20.04

ฉันพยายามตรวจสอบสิทธิ์ผู้ใช้อยู่ ไม่ได้รับข้อมูลโดเมนในตัวแปรการกำหนดค่า %d (https://doc.dovecot.org/configuration_manual/config_file/config_variables/)

นี่คือไฟล์ /etc/dovecot/dovecot-sql.conf.ext ของฉัน:

ไดรเวอร์ = mysql
เชื่อมต่อ = โฮสต์ = 127.0.0.1 dbname = ผู้ใช้อีเมล = รหัสผ่านอีเมล = **********
default_pass_scheme = SHA512-CRYPT
user_query = เลือก '/home/' home, 5000 id, 5000 จาก virtual_users u join virtual_domains d บน u.domain_id=d.id WHERE u.email='%n' and d.name='%d'
password_query = เลือก u.email เป็นผู้ใช้, d.name เป็นโดเมน, รหัสผ่านจาก virtual_users u เข้าร่วม virtual_domains d บน u.domain_id=d.id WHERE u.email='%n' และ d.name='%d'
iterate_query = เลือก u.email เป็นผู้ใช้, d.name เป็นโดเมน, รหัสผ่านจาก virtual_users คุณเข้าร่วม virtual_domains d ใน u.domain_id=d.id

นี่คือสิ่งที่ฉันเห็นในบันทึก:

05 ก.ย. 15:00:20 น. ต้นแบบ: ข้อมูล: Dovecot v2.3.7.2 (3c910f64b) เริ่มต้นขึ้นสำหรับ pop3, imap, lmtp, imap, lmtp, pop3 (ปิดการใช้งานการถ่ายโอนข้อมูลหลัก)
05 ก.ย. 15:01:07 น. รับรองความถูกต้อง: ดีบัก: กำลังโหลดโมดูลจากไดเร็กทอรี: /usr/lib/dovecot/modules/auth
5 ก.ย. 15:01:07 น. รับรองความถูกต้อง: ดีบัก: โหลดโมดูลแล้ว: /usr/lib/dovecot/modules/auth/lib20_auth_var_expand_crypt.so
05 ก.ย. 15:01:07 น. รับรองความถูกต้อง: ดีบัก: โหลดโมดูลแล้ว: /usr/lib/dovecot/modules/auth/libdriver_mysql.so
5 ก.ย. 15:01:07 น. รับรองความถูกต้อง: ดีบัก: อ่านความลับของโทเค็นการตรวจสอบสิทธิ์จาก /var/run/dovecot/auth-token-secret.dat
05 ก.ย. 15:01:07 น. รับรองความถูกต้อง: ตรวจแก้จุดบกพร่อง: เชื่อมต่อไคลเอ็นต์รับรองความถูกต้อง (pid=0)
Sep 05 15:01:07 auth: Debug: client in: AUTH 3 PLAIN service=smtp nologin lip=10.0.0.4 rip=209.85.218.43 secured resp=<hidden>
05 ก.ย. 15:01:07 น. รับรองความถูกต้อง: Debug: sql(yvan,209.***.***.***): กำลังดำเนินการค้นหา passdb
05 กันยายน 15:01:07 auth-worker (7518): ดีบัก: กำลังโหลดโมดูลจากไดเร็กทอรี: /usr/lib/dovecot/modules/auth
05 ก.ย. 15:01:07 auth-worker (7518): ดีบัก: โหลดโมดูลแล้ว: /usr/lib/dovecot/modules/auth/lib20_auth_var_expand_crypt.so
05 กันยายน 15:01:07 auth-worker (7518): ดีบัก: โหลดโมดูลแล้ว: /usr/lib/dovecot/modules/auth/libdriver_mysql.so
05 ก.ย. 15:01:07 น. auth-worker (7518): ดีบัก: conn unix:auth-worker (pid=7516,uid=115): เซิร์ฟเวอร์ยอมรับการเชื่อมต่อ (fd=14)
05 ก.ย. 15:01:07 น. auth-worker (7518): ดีบัก: conn unix:auth-worker (pid=7516,uid=115): กำลังส่งเวอร์ชันจับมือกัน
5 ก.ย. 15:01:07 น. auth-worker (7518): Debug: conn unix:auth-worker (pid=7516,uid=115): auth-worker<1>: การจัดการคำขอ PASSV
05 ก.ย. 15:01:07 น. auth-worker (7518): การดีบัก: sql (yvan,209.***.***.***): กำลังดำเนินการค้นหา passdb
05 ก.ย. 15:01:07 น. auth-worker (7518): ดีบัก: sql (yvan,209.***.***.***): แบบสอบถาม: เลือก u.email เป็นผู้ใช้, d.name เป็นโดเมน รหัสผ่านจาก virtual_users คุณเข้าร่วม virtual_domains d บน u.domain_id=d.id WHERE u.email='yvan' และ d.name=''
05 ก.ย. 15:01:07 น. auth-worker (7518): ข้อมูล: sql (yvan,209.***.***.***): ผู้ใช้ที่ไม่รู้จัก
05 ก.ย. 15:01:07 น. รับรองความถูกต้อง: Debug: sql(yvan,209.***.***.***): ค้นหา passdb เสร็จแล้ว
05 ก.ย. 15:01:07 น. รับรองความถูกต้อง: ดีบัก: รับรองความถูกต้อง (yvan,209.***.***.***): คำขอรับรองความถูกต้องเสร็จสิ้น
05 ก.ย. 15:01:07 auth-worker (7518): ดีบัก: sql (yvan,209.***.***.***): ค้นหา passdb เสร็จแล้ว
05 ก.ย. 15:01:07 น. auth-worker (7518): ดีบัก: conn unix:auth-worker (pid=7516,uid=115): auth-worker<1>: เสร็จสิ้น
05 ก.ย. 15:01:09 น. รับรองความถูกต้อง: Debug: client passdb out: FAIL 3 user=yvan [email protected]
05 ก.ย. 15:02:07 น. auth-worker (7518): ดีบัก: conn unix:auth-worker (pid=7516,uid=115): ตัดการเชื่อมต่อ: ปิดการเชื่อมต่อ (fd=-1)
05 ก.ย. 15:02:59 น. รับรองความถูกต้อง: ตรวจแก้จุดบกพร่อง: รับรองความถูกต้องไคลเอ็นต์แล้ว (pid=7535)
05 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x10, ret=1: before SSL initialization
05 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2001, ret=1: before SSL initialization
5 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2002, ret=-1: before SSL initialization
05 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2001, ret=1: before SSL initialization
05 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS read client สวัสดี
5 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS เซิร์ฟเวอร์เขียน สวัสดี
5 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write certificate
05 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write key exchange
05 ก.ย. 15:02:59 น. pop3- เข้าสู่ระบบ: ดีบัก: SSL: โดยที่ = 0x2001, ret = 1: เซิร์ฟเวอร์เขียน SSLv3 / TLS เสร็จแล้ว
05 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2002, ret=-1: เซิร์ฟเวอร์เขียน SSLv3/TLS เสร็จแล้ว
05 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2002, ret=-1: เซิร์ฟเวอร์เขียน SSLv3/TLS เสร็จแล้ว
05 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2002, ret=-1: เซิร์ฟเวอร์เขียน SSLv3/TLS เสร็จแล้ว
05 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2002, ret=-1: เซิร์ฟเวอร์เขียน SSLv3/TLS เสร็จแล้ว
05 ก.ย. 15:02:59 น. pop3- เข้าสู่ระบบ: ดีบัก: SSL: โดยที่ = 0x2001, ret = 1: เซิร์ฟเวอร์เขียน SSLv3 / TLS เสร็จแล้ว
05 กันยายน 15:02:59 น. pop3-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS read client key exchange
05 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS read change cipher spec
05 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS อ่านเสร็จแล้ว
05 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS เขียนตั๋วเซสชั่น
05 ก.ย. 15:02:59 น. pop3- เข้าสู่ระบบ: ดีบัก: SSL: โดยที่ = 0x2001, ret = 1: SSLv3 / TLS เขียนเปลี่ยนรหัสข้อมูลจำเพาะ
5 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS เขียนเสร็จแล้ว
5 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x20, ret=1: การเจรจา SSL เสร็จสิ้นเรียบร้อยแล้ว
05 ก.ย. 15:02:59 น. pop3-login: Debug: SSL: where=0x2002, ret=1: การเจรจา SSL เสร็จสิ้นเรียบร้อยแล้ว
05 ก.ย. 15:02:59 น. รับรองความถูกต้อง: Debug: ลูกค้าใน: AUTH 1 PLAIN service=pop3 secured=tls session=IHYO1EDLFNpPmIbe lip=10.0.0.4 rip=79.***.***.*** lport=995 rport =55828 local_name=mail.test-domain.com ssl_cipher=ECDHE-RSA-AES256-GCM-SHA384 ssl_cipher_bits=256 ssl_pfs=KxECDHE ssl_protocol=TLSv1.2 resp=<ซ่อน>
05 ก.ย. 15:02:59 น. รับรองความถูกต้อง: Debug: sql(yvan,79.***.***.***,<IHYO1EDLFNpPmIbe>): กำลังดำเนินการค้นหา passdb
5 ก.ย. 15:02:59 น. auth-worker (7536): ดีบัก: กำลังโหลดโมดูลจากไดเร็กทอรี: /usr/lib/dovecot/modules/auth
5 ก.ย. 15:02:59 น. auth-worker (7536): ดีบัก: โหลดโมดูลแล้ว: /usr/lib/dovecot/modules/auth/lib20_auth_var_expand_crypt.so
5 กันยายน 15:02:59 น. auth-worker (7536): ดีบัก: โหลดโมดูลแล้ว: /usr/lib/dovecot/modules/auth/libdriver_mysql.so
05 ก.ย. 15:02:59 น. auth-worker (7536): ดีบัก: conn unix:auth-worker (pid=7516,uid=115): เซิร์ฟเวอร์ยอมรับการเชื่อมต่อ (fd=14)
05 ก.ย. 15:02:59 น. auth-worker (7536): ดีบัก: conn unix:auth-worker (pid=7516,uid=115): กำลังส่งเวอร์ชันจับมือกัน
05 ก.ย. 15:02:59 น. auth-worker (7536): Debug: conn unix:auth-worker (pid=7516,uid=115): auth-worker<1>: การจัดการคำขอ PASSV
05 ก.ย. 15:02:59 auth-worker (7536): Debug: sql(yvan,79.***.***.***,<IHYO1EDLFNpPmIbe>): กำลังดำเนินการค้นหา passdb
05 ก.ย. 15:02:59 น. auth-worker (7536): Debug: sql(yvan,79.***.***.***,<IHYO1EDLFNpPmIbe>): แบบสอบถาม: เลือก u.email เป็นผู้ใช้ d. ชื่อเป็นโดเมน รหัสผ่านจาก virtual_users คุณเข้าร่วม virtual_domains d บน u.domain_id=d.id WHERE u.email='yvan' และ d.name=''
05 ก.ย. 15:02:59 น. auth-worker (7536): ข้อมูล: sql(yvan,79.***.***.***,<IHYO1EDLFNpPmIbe>): ผู้ใช้ที่ไม่รู้จัก
05 ก.ย. 15:02:59 น. รับรองความถูกต้อง: Debug: sql(yvan,79.***.***.***,<IHYO1EDLFNpPmIbe>): ค้นหา passdb เสร็จแล้ว
05 ก.ย. 15:02:59 น. รับรองความถูกต้อง: Debug: auth(yvan,79.***.***.***,<IHYO1EDLFNpPmIbe>): คำขอรับรองความถูกต้องเสร็จสิ้น
5 ก.ย. 15:02:59 น. auth-worker (7536): Debug: sql(yvan,79.***.***.***,<IHYO1EDLFNpPmIbe>): ค้นหา passdb เสร็จแล้ว
05 ก.ย. 15:02:59 น. auth-worker (7536): ดีบัก: conn unix:auth-worker (pid=7516,uid=115): auth-worker<1>: เสร็จสิ้น
05 ก.ย. 15:03:01 น. รับรองความถูกต้อง: Debug: client passdb out: FAIL 1 user=yvan [email protected]
05 ก.ย. 15:03:01 pop3-login: Debug: ละเว้นฟิลด์พิเศษ passdb ที่ไม่รู้จัก: original_user
Sep 05 15:03:01 pop3-login: Debug: ข้อผิดพลาด SSL: ปิดการเชื่อมต่อ
05 ก.ย. 15:03:01 pop3- เข้าสู่ระบบ: ข้อมูล: ตัดการเชื่อมต่อ (การตรวจสอบสิทธิ์ล้มเหลว 1 ครั้งใน 2 วินาที): user=<yvan>, method=PLAIN, rip=79.***.***.*** , lip=10.0.0.4, TLS: ปิดการเชื่อมต่อ, session=<IHYO1EDLFNpPmIbe>
Sep 05 15:03:01 pop3-login: Debug: SSL alert: ปิดการแจ้งเตือน

ฉันขาดอะไรไปในไฟล์คอนฟิกูเรชันอื่นหรือไม่ ผมทำอะไรผิดหรือเปล่า?

Michael Hampton avatar
cz flag
ผู้ใช้ที่เข้าสู่ระบบไม่ได้ให้ไว้
th flag
อาจจะเป็น @MichaelHampton แต่ฉันใช้ไคลเอนต์อีเมล 2 เครื่องจากคอมพิวเตอร์ 2 เครื่องและตั้งค่าด้วยตนเอง ฉันจะลองกับลูกค้ารายอื่น
Score:0
ธง th

ฉันพบปัญหา ใน /etc/dovecot/conf.d/10-auth.conf ตรวจสอบการตั้งค่านี้และตรวจสอบให้แน่ใจว่าค่าของมันคือ %u

auth_username_format=%u

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา