Postfix Master.cf बनाम main.cf


12

मैं बहुत बार देखता हूं कि दोनों मेनकोफ में समान सेटिंग्स को निर्दिष्ट किया जा सकता है, और -o उपसर्ग का उपयोग करके मास्टर.cf में भी।

मेरा सवाल यह है कि क्या एक दूसरे को ओवरराइड करता है, और यदि हां, तो दोनों में एक ही सेटिंग (एक अलग मूल्य के साथ) मिलने पर कौन सी फ़ाइल को प्राथमिकता दी जाती है?

उदाहरण के लिए, यदि

smtpd_tls_auth_only=yes

main.cf में निर्दिष्ट किया गया था, लेकिन

-o smtpd_tls_auth_only=no 

Master.cf में निर्दिष्ट किया गया था, जो एक पोस्टफिक्स पर ध्यान देगा?

जवाबों:


12

जैसा कि प्रलेखित है ,

-o name=value
                 Override  the  named  main.cf  configuration
                 parameter.

main.cfमास्टर.फ में परिभाषित सभी सेवाओं द्वारा उपयोग किए जाने वाले डिफ़ॉल्ट मान सेट करता है; Master.cf में -o विकल्प प्रति सेवा के आधार पर इन्हें ओवरराइड कर सकते हैं।


4

मूल रूप से main.cf में सेटिंग्स मान्य हैं और विश्व स्तर पर उपयोग की जाती हैं, जब तक कि वे विशिष्ट पोस्टफ़िक्स डेमोंस (smtpd, trivial-rewrite, cleanup, pickup, ...) के लिए Master.cf में ओवरराइड नहीं की जाती हैं। आप उदाहरण के लिए, smtp_tls_security_level = maymain.cf में निर्दिष्ट कर सकते हैं और इसे smtpdडेमॉन के लिए लोकलहोस्ट के लिए बाध्य जमा पोर्ट के लिए अक्षम कर सकते हैं :

localhost:submission inet n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=none

लेकिन बाहरी आईपी पते पर सबमिशन पोर्ट के लिए आप एन्क्रिप्शन लागू कर सकते हैं:

1.2.3.4:submission inet n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o ...

कुछ स्थितियों में आपको एक वैश्विक सेटिंग को ओवरराइड करना पड़ सकता है , उदाहरण के लिए, अमाविसड का उपयोग करते समय, मेल मैपिंग (उर्फ विस्तार, आदि) को अक्षम करने की आवश्यकता होती है, जब अमाविस smtpdडेमन के माध्यम से मेल भेजते हैं । अन्यथा प्राप्तकर्ता डुप्लिकेट संदेश प्राप्त कर सकते हैं:

127.0.0.1:10025 inet    n       -       -       -       -       smtpd
  -o content_filter=
  -o ...
  -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings
  -o ...

बेशक, नियमित संचालन के दौरान, अमाविस के बाहर, आप पते मैपिंग चाहते हैं, इसलिए डिफ़ॉल्ट रूप से वे main.cf में सक्षम हैं।


1
आप बस एक नया आईपी सेट नहीं कर सकते: एक सेवा के लिए पोर्ट; यह उसी नाम (संभावित रूप से भ्रमित) के साथ सेवा का दूसरा उदाहरण बनाता है, और ओपी के दायरे से बाहर होने की संभावना से अधिक है। यदि आप डुप्लिकेट सेवाएँ करते हैं, तो हमेशा -o syslog_name=secondserviceअपने लॉग में सेवा को अलग करने के लिए सेट करें।
'10:43 पर' एडाप्ट्र

टिप्पणी के लिए धन्यवाद, लेकिन मैं इससे अवगत हूं। विभिन्न एसएसएल प्रमाणपत्रों के साथ कई डोमेन की मेजबानी करते समय सेवाओं के कई उदाहरण आवश्यक हैं और इसलिए अलग-अलग आईपी पते। मैंने बस एक वास्तविक दुनिया का उदाहरण दिया, जहां एक मास्टर.cf में main.cf से सेटिंग को ओवरराइड करेगा।
daff

इसने ओपी के सवाल का जवाब नहीं दिया, और ऊपर बताए गए syslog_name परिवर्तन को शामिल नहीं किया। मैं इस "वास्तविक दुनिया" पर विचार नहीं करूंगा और यह देखने में विफल रहूंगा कि "एसएसएल सर्टिफिकेट" इसमें कहां दर्ज है।
अनुकूलित

मैं अपने पहले वाक्य में ओपी के प्रश्न का उत्तर देता हूं। और हाँ, यह एक वास्तविक दुनिया का उदाहरण है, 18 डोमेन की मेजबानी करने वाले हमारे पोस्टफ़िक्स सर्वरों में से एक से लिया गया है। "एसएसएल सर्टिफिकेट" इसमें दर्ज होता है क्योंकि पोस्टफिक्स (व्यवहार में) में एसएसएल नाम-आधारित वर्चुअल होस्टिंग जैसी कोई चीज नहीं है, इसलिए प्रति डोमेन एक आईपी पते को असाइन करने की आवश्यकता है। अन्यथा ग्राहकों के लिए सही एसएसएल प्रमाणपत्र प्रस्तुत करने का कोई तरीका नहीं है। ऐसा करने के लिए की है कि कई उदाहरण smtpdसेवा के लिए अलग-अलग सेटिंग के साथ प्रत्येक की जरूरत है, myhostname, smtpd_tls_key_file, smtpd_tls_cert_fileऔर इतने पर। वे सेटिंग्स मुख्य.cf के ओवरराइड हैं।
डफ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.