के लिए कोई पासवर्ड प्रॉम्प्ट नहीं है जब मैंने उबंटू 12.04 पर PostgreSQL 9.1 स्थापित किया है, तो मैंने "पोस्टग्रेस" सुपरसुर खाते के लिए पासवर्ड सेट किया है। मैं सभी उपयोगकर्ताओं को अपने पासवर्ड दर्ज करने के लिए चाहते हैं जब यह loging यही कारण है कि मैं इतनी तरह pg_hba.conf कॉन्फ़िगर किया गया:।postgresql superuser
#Database administrative login by Unix domain socket
local all postgres md5
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
मैं उन परिवर्तन करने के बाद PostgreSQL को पुनः आरंभ। जब मैं यह psql -U testuser
करता हूं तो मुझे पासवर्ड के लिए कहा जाता है, लेकिन जब मैं "पोस्टग्रेस" खाते से लॉग इन करता हूं तो psql -U postgres
मुझे कोई पासवर्ड प्रॉम्प्ट नहीं मिलता है और लॉग इन होता है। यदि मैं psql -U postgres -W
के साथ पासवर्ड प्रॉम्प्ट को मजबूर करता हूं तो मैं लॉग इन कर सकता हूं सही पासवर्ड टाइप करना या कुछ भी टाइप करके। गलत पासवर्ड टाइप करना अस्वीकार कर दिया जाता है।
क्या कोई मुझे बता सकता है कि यह क्यों हो रहा है?
संबंधित नोट पर: मुझे बहुत उदाहरण मिलता है जहां लोग "पोस्टग्रेस" उपयोगकर्ता के लिए प्रमाणीकरण विधि के रूप में पहचान का उपयोग करते हैं, बहस करते हैं कि "पोस्टग्रेस" उपयोगकर्ता बनने के लिए मशीन के रूट पासवर्ड की आवश्यकता होती है। मुझे लगता है कि तर्क यह है कि अगर हमलावर को रूट पहुंच मिलती है, तो वैसे भी किया जाता है। मैं पासवर्ड के साथ लॉग इन करना पसंद करूंगा, हालांकि, जो रूट पासवर्ड के समान नहीं है। मैं अलग-अलग चीजों के लिए अलग-अलग पासवर्ड रखने में prefere। क्या यह उचित है?
आउटपुट के grep '^[^#]' pg_hba.conf
local all postgres md5
local all all md5
host all all 127.0.0.1/32 md5
यह .pgpass फ़ाइल में था, धन्यवाद! आपके द्वारा उद्धृत pg_hba.conf फ़ाइल का हिस्सा मुझे थोड़ा उलझन में डाल देता है। पासवर्ड के बिना पोस्टग्रेस लॉग इन किए बिना noninteractive पहुंच देने के लिए मैं क्या कर सकता हूं? – Basil
सहकर्मी प्रमाणीकरण इस के लिए खोजना चाहिए, यह मानते हुए कि आप पोस्टग्रेस खाते के तहत सर्वर में लॉग इन नहीं करते हैं। – Andrew
मैंने विंडोज़ में एक ही व्यवहार का उल्लेख किया। PgAdminIII में नए कनेक्शन जोड़ने के बाद, पोस्टग्रेस से कनेक्ट करते समय मुझे psql द्वारा पासवर्ड के लिए संकेत नहीं दिया गया था। अपराधी pgpass.conf था, स्वचालित रूप से% APPDATA% \ postgresql फ़ोल्डर में PgAdminIII द्वारा बनाया गया था। धन्यवाद डैनियल। –