आने वाले सभी कनेक्शनों को स्वीकार करने के लिए PostgreSQL को कैसे कॉन्फ़िगर करें


106

मुझे एक PostgreSQL डेटा बेस मिला है जिसे मैं स्रोत आईपी पते की परवाह किए बिना सभी आने वाले कनेक्शनों को स्वीकार करने के लिए कॉन्फ़िगर करना चाहता हूं। इसे pg_hba.conf फ़ाइल में कैसे कॉन्फ़िगर किया जा सकता है? मैं PostgreSQL संस्करण 8.4 का उपयोग कर रहा हूं।

जवाबों:


216

बस उपयोग करें 0.0.0.0/0

host    all             all             0.0.0.0/0            md5

सुनिश्चित करें कि listen_addressesमें postgresql.conf(या ALTER SYSTEM SET) सभी उपलब्ध आईपी इंटरफेस पर इनकमिंग कनेक्शन की अनुमति देता है।

listen_addresses = '*'

परिवर्तनों के बाद आपको कॉन्फ़िगरेशन को फिर से लोड करना होगा। ऐसा करने का एक तरीका यह है कि इसे SELECTसुपरसुसर के रूप में निष्पादित किया जाए ।

SELECT pg_reload_conf();

क्या यह वास्तव में प्रकार के साथ काम करता है md5? मुझे लगा कि टाइप का इस्तेमाल करना जरूरी होगा trust...
डैन लारोक

5
"विश्वास" सभी उपयोगकर्ताओं को बिना किसी पासवर्ड के कनेक्ट करने की अनुमति देता है। यह एक ऐसी चीज है जिसका मैं उपयोग नहीं करूंगा, एक पासवर्ड नंगे न्यूनतम है जिसे आपको हमेशा उपयोग करना चाहिए। अपने कंप्यूटर पर भी।
फ्रैंक हेइकेंस

1
आह, मैंने प्रश्न को अलग तरीके से पढ़ा - मुझे लगा कि उनका मतलब सभी ग्राहकों से बिना शर्त के कनेक्शन स्वीकार करना है (कुछ महत्वहीन परीक्षण के लिए, शायद)। मैं देख रहा हूँ कि तुम अब क्या कर रहे हो
डैन लॉरोक

6
नोट : यदि आपका नेटवर्क IPv6 है, तो आपको pg_hba.conf फ़ाइल को संशोधित करते समय ::/0विरोध के रूप में उपयोग 0.0.0.0/0करने की आवश्यकता है।
एरॉन बॉयट

2
सुनिश्चित करें कि postgresमजबूत पासवर्ड है: sudo -u postgres psql, \password
Adobe

47

0.0.0.0/0 सभी IPv4 पतों के लिए

::0/0 सभी IPv6 पतों के लिए

all किसी भी आईपी पते से मिलान करने के लिए

samehost सर्वर के किसी भी आईपी पते से मिलान करने के लिए

samenet किसी भी सबनेट में किसी भी पते से मेल खाने के लिए जो सर्वर से सीधे जुड़ा हुआ है।

जैसे

host    all             all             0.0.0.0/0            md5

6

महान जवाबों के अलावा, यदि आप चाहते हैं कि आईपी की कुछ सीमाएं अधिकृत हों, तो आप /var/lib/pgsql/{VERSION}/dataफ़ाइल को संपादित कर सकते हैं और कुछ ऐसा डाल सकते हैं

host all all 172.0.0.0/8 trust

यह उपरोक्त सीमा के किसी भी मेजबान से आने वाले कनेक्शन को स्वीकार करेगा। स्रोत: http://www.linuxtopia.org/online_books/database_guides/Practical_PostgreSQL_database/c15679_002.htm


सीमा संकेत के लिए धन्यवाद!
leole

0

सभी फाइलों को 12 सेंटर्स पर पोस्टग्रुप के साथ कॉन्फ़िगर करें:

चरण 1: फ़ाइल को खोजें और संपादित करें

sudo vi /var/lib/pgsql/12/data/pg_hba.conf

"i" दबाएं और IPv4 लाइन को बदलें

host    all             all             0.0.0.0/0            md5

चरण 2: खोज और संपादित करें फ़ाइल postgresql.conf

सुडो vi /var/lib/pgsql/12/data/postgresql.conf

अंतिम पंक्ति जोड़ें: Listen_addresses = '*': wq! (save file) - चरण 3: पुनः आरंभ करें

systemctl restart postgresql-12.service

-6

इस लाइन को पोस्टग्रेज फ़ोल्डर के pg_hba.conf में जोड़ें

host    all    all    all    trust

"विश्वास" सभी उपयोगकर्ताओं को बिना किसी पासवर्ड के कनेक्ट करने की अनुमति देता है।


क्या आप शायद कोड में कुछ टिप्पणी जोड़ सकते हैं? इसे कहां लगाना है और यह कैसे काम करता है?
एलिस्ट्रा

4
जबकि इस कोड स्निपेट का स्वागत है, और कुछ मदद प्रदान कर सकता है, यह हो जाएगा काफी सुधार हुआ है, तो यह उसका स्पष्टीकरण शामिल की कैसे और क्यों इस को हल करती है समस्या। याद रखें कि आप भविष्य में पाठकों के लिए सवाल का जवाब दे रहे हैं, न कि केवल उस व्यक्ति से जो अब पूछ रहा है! कृपया स्पष्टीकरण जोड़ने के लिए अपने उत्तर को संपादित करें, और इस बात का संकेत दें कि क्या सीमाएँ और मान्यताएँ लागू होती हैं।
टोबे स्पाइट

अनुमति देने के सभी ips से कनेक्शन वास्तव में है असुरक्षित
sandes
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.