Postfix ได้รับการกำหนดค่าให้ใช้ Spamassassin เป็น milter และ spamd ทำงานเป็นผู้ใช้ debian_spamd (homedir: /var/lib/spamassassin
) โดยไม่มีการกำหนดค่าต่อผู้ใช้ จดหมายทั้งหมดจะถูกส่งต่อไปยังเซิร์ฟเวอร์ระยะไกล ทุกครั้งที่สแปมพบข้อความสำหรับชื่อผู้ใช้ที่มีอยู่ (เช่นมีผู้ใช้@remotedomain.com) ข้อความจะทำดังนี้:
30 มกราคม 07:00:22 น. eden spamd[385091]: spamd: การสร้าง default_prefs: /home/existinguser/.spamassassin/user_prefs
30 มกราคม 07:00:22 น. eden spamd[385091]: spamd: ล้มเหลวในการสร้าง default_prefs ที่อ่านได้: /home/existinguser/.spamassassin/user_prefs
แม้แต่คนแปลกหน้า เมื่อข้อความมาถึงโดยไม่มีผู้ใช้ภายในที่เกี่ยวข้อง (เช่น สำหรับ [email protected]) สแปมจะพยายามเข้าถึงโฮมไดเร็กทอรีของผู้ใช้ที่มีอยู่เพื่ออ่าน/เขียนไฟล์ Bayes:
30 ม.ค. 07:00:59 น. eden spamd[385091]: spamd: handle_user (userdir) ไม่พบผู้ใช้: 'nonexistinguser'
30 มกราคม 07:00:59 น. eden spamd[385091]: spamd: กำลังประมวลผลข้อความ <220130080050QP.30506@msbatch05> สำหรับผู้ใช้ที่ไม่มีอยู่: 111
30 มกราคม 07:01:00 น. eden spamd[385091]: ปลั๊กอิน: eval ล้มเหลว: อ่าว: (ในการเรียนรู้) ตู้เก็บของ: safe_lock: ไม่สามารถสร้าง tmp lockfile /home/existinguser/.spamassassin/bayes.lock.localhost.385091 สำหรับ /home /existinguser/.spamassassin/bayes.lock: ปฏิเสธการอนุญาต
ฉันรู้ว่าฉันต้องเพิ่ม --nouser-config
ไปที่ตัวเลือก Spamassassin ใน /etc/default/spamassassin
, แม้ว่า allow_user_rules
ค่าเริ่มต้นเป็น 0/off (ตาม เอกสาร และ หัวข้อนี้).
ดังนั้นปัญหาจึงได้รับการแก้ไข แต่ฉันก็ยังสงสัยว่าทำไม
- ฉันต้องเพิ่มตัวเลือกเพื่อให้ได้พฤติกรรมเริ่มต้น
- spamd พยายามใช้ไดเร็กทอรีย่อย .spamassassin ของผู้ใช้ที่มีอยู่สำหรับผู้ใช้ที่ไม่มีอยู่จริง
ฉันรู้สึกขอบคุณสำหรับคำแนะนำใด ๆ
ขอบคุณ,
ม.ค