PostgreSQL ব্যবহারকারী পাসওয়ার্ড পরিবর্তন করার পরে সার্ভারের সাথে সংযোগ করতে পারবেন না


10

আমি এটি তৈরি করেছিলাম এমন 4 টি ভূমিকার সাথে এটি পূরণ করেছি:
জিজিআই (1) ব্যবহার করে প্যাগএডমিন তৃতীয় কোনও ব্যবহারকারীর জন্য পাসওয়ার্ড পরিবর্তন করার পরে, সেই ব্যবহারকারী আর লগ ইন করতে পারবেন না।
pgAdmin III ত্রুটি বার্তা প্রদর্শন করুন:

An error has occurred:

Error connecting to the server: FATAL:  password authentication failed for user "sam"
FATAL:  password authentication failed for user "sam"

আমার সিস্টেম: উবুন্টু 12.04-এ পোস্টগ্র্যাস্কেল 9.2

এই সমাধানের জন্য কোনো উপায় আছে কি?

(1): অ্যাকাউন্ট পোস্টগ্রিসের সাথে লগইন করুন, লগইন রোলসে ব্যবহারকারীকে ডান ক্লিক করুন, 'সংজ্ঞা' ট্যাবে যান এবং পাসওয়ার্ড দিন

উত্তর:


15

এমনটি হতে পারে যে আপনি এই দ্বারা কামড় হচ্ছে PgAdmin বাগ ( পরিবর্তণের ):

2012-11-28 এভি 1.16.1 তারিখ চয়নকারী নিয়ন্ত্রণগুলি ডিফল্টরূপে একটি সম্পূর্ণ টাইমস্ট্যাম্প দেয়, যা চাকরিতে অবিচ্ছিন্ন তারিখ পরিবর্তন এবং ভূমিকা বৈধতার তারিখগুলির কারণ হতে পারে। সময়ের অংশটি উপেক্ষা করুন।

এই বাগটি পাসওয়ার্ডের মেয়াদোত্তীর্ণের তারিখগুলি অতীতে অনেক আগে থেকেই সেট করতে দেখা গেছে, যেমন 1/1/1970। এই ক্ষেত্রে সংযোগ দেওয়ার চেষ্টা করার সময় ত্রুটি বার্তাটি কোনও ভুল পাসওয়ার্ডের চেয়ে আলাদা নয়।

আপনি এই সমাপ্তির তারিখগুলি সাথে পরীক্ষা করতে পারেন:

SELECT usename,valuntil FROM pg_user;

এবং যদি তারা ভুল হয় তবে এগুলি দিয়ে পুনরায় সেট করুন:

ALTER USER username VALID UNTIL 'infinity';

এবং পিজএডমিন আপগ্রেড করুন।


আপনাকে অনেক ধন্যবাদ! এটি সমস্যার সমাধান করেছে। আমি যখনই কোনও ব্যবহারকারীর পাসওয়ার্ড পুনরায় সেট করি তখনই প্যাগএডমিন সময় অবধি 01-01-1970 পর্যন্ত বৈধ সেট করে যাতে ব্যবহারকারী আর লগ ইন করতে না পারে।
Cao Minh Tu

তুমি বুঝতে পেরেছ! জঘন্য বাগ
কার্টার কোল

আমার ঠিক কীভাবে পিএসএইচএল-এ লগ ইন করার কথা আছে ??? এই ভূমিকাটি আমি সদ্য আপডেট করেছি।
এরিকপেটারস0

1
@ ericpeters0n: সাময়িকভাবে প্রমাণীকরণের পদ্ধতি পাল্টাতে trustবা peerমধ্যে pg_hba.confএই অ্যাকাউন্টের জন্য ফাইল।
ড্যানিয়েল ভ্যারিট

ধন্যবাদ, এটি বাছাই হয়েছে। পরে যারা আসে তাদের জন্য "বিশ্বাস" এর অর্থ হল: একবার আপনি পোস্টগ্রিজ পুনরায় চালু করার পরে আপনি পাসওয়ার্ড প্রমাণীকরণ ব্যতীত পিএসকিএল চালাতে পারবেন যদি আপনি কোনও অধিকারপ্রাপ্ত ব্যবহারকারী হিসাবে একই নামের ব্যবহারকারী হন (যেমন ব্যবহারকারীর নাম 'পোস্টগ্রিজ') .. সুতরাং, 'su - postgres psql' আপনাকে লগ ইন করতে এবং পাসওয়ার্ড বা বৈধ তারিখটি সংশোধন করার অনুমতি দেবে।
এরিকপটার 0

3

সহজ জিনিসটি হল পিএসকিএল বা পিজিএডমিন এবং দিয়ে লগ ইন করা

ALTER USER sam WITH PASSWORD 'new_password';

এখন, আপনি যদি কোনও সুপারসার অ্যাকাউন্টে লগ ইন করতে না পারেন তবে আপনি এই ব্যবহারকারীর জন্য pg_hba.conf সেটিংস পরিবর্তন করে পুনরুদ্ধার করতে পারেন এবং কনফিগারটি পুনরায় লোড করতে পারেন (কখনও কখনও আমি এটি দেখতে পাই যে এটির জন্য সার্ভার পুনরায় চালু করার প্রয়োজন আছে তবে কেন তা নিশ্চিত নন)।

আপনি যা করতে পারেন তা হ'ল একটি লাইন যুক্ত করুন যা আপনাকে ব্যবহারকারীর জন্য স্থানীয় সংযোগের জন্য পরিচয় (9.2-এ পীর) পদ্ধতিটি ব্যবহার করে (যদি আপনি ব্যবহারকারী হিসাবে একই নামের স্থানীয় সিস্টেম অ্যাকাউন্ট ব্যবহার করতে পারেন) ব্যবহার করতে পারবেন বা যদি ( এটি সম্ভব নয়) "বিশ্বাস" (খুব অস্থায়ীভাবে!) এ সেট করুন। বিশ্বাস ব্যবহার করা হলে, যত তাড়াতাড়ি সম্ভব সেট আপ করুন, কারণ এর অর্থ "ব্যবহারকারী যে তিনি দাবি করেন সেটাই বিশ্বাস!" এবং ফলস্বরূপ এই সেটিংটি তাত্ক্ষণিক পুনরুদ্ধারের প্রয়োজনের বাইরে সক্ষম হওয়া ছেড়ে যাওয়া বিপজ্জনক।

একবার আপনি লগ ইন করার পরে আপনি উপরের পাসওয়ার্ডটি পুনরায় সেট করতে পারেন।


পিজিএডমিনকে একই কমান্ডটি সম্পাদন করা উচিত নয়?
dezso

(উল্লেখ করে আমি বলেছিলাম পিএসকিএল বা পিজএডমিন। এটিকে আরও স্পষ্ট করার জন্য আমি কী করতে পারি?)
ক্রিস ট্র্যাভারস

না-না, আমি কেবল ভেবেছিলাম জিইউআইতে পাসওয়ার্ড পরিবর্তন করা ঠিক একই কাজ করে। আমি যদি ভাবতে না পারি তবে কী ভুল হতে পারে?
dezso

কি ভুল হতে পারে? প্রারম্ভিকদের জন্য পাসওয়ার্ডে টাইপ করুন ....
ক্রিস ট্র্যাভার্স

কেউ কি আবার পোস্টগ্রিস হিসাবে লগ ইন করে আবার পাসওয়ার্ড সেট করতে পারে না?
dezso

2

উইন্ডোজ ভেরিয়েন্টের জন্য - আমিও আমার উইন্ডোজ এক্স 64 ভার্সনের 9.2 সংস্করণ ইনস্টল করার জন্য প্যাগএডমিনের কারণে এই বাজে বাগটি অভিজ্ঞতা পেয়েছি। এটি আমার প্রোডাকশনকে অবশ করে দিয়েছে।

ফোল্ডারে C:\Program Files\PostgreSQL\9.2\dataবা C:\Program Files (x86)\PostgreSQL\9.**x**\data, আপনি pg_hba.conf পাঠ্য ফাইলটি খুঁজে পাবেন ।

নিম্নলিখিত লাইনগুলি সন্ধান করুন:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

এবং METHOD এমডি 5 কে এইভাবে "বিশ্বাস" করুন:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

Windows>Run"পরিষেবাদি.এমএসসি" টাইপ থেকে এবং সঠিকভাবে পোস্টগ্রিএসকিউএল ইনস্ট্যান্সটি [enter] সন্ধান করুন এবং এটি পুনরায় চালু করুন।

আপনার ডিবি সুরক্ষা এখন প্রশস্ত খোলা! সমস্ত প্রাসঙ্গিক ব্যবহারকারীর জন্য বছরের ২০৯৯ সাল বলতে ব্যবহারকারী পাসওয়ার্ডের মেয়াদোত্তীর্ণ সময় পরিবর্তন করে এটি এমডি 5-এ ফিরিয়ে দেওয়ার সতর্কতাটি মেনে নিন।


1

আপনি যদি ইতিমধ্যে এটি চেষ্টা না করে থাকেন তবে আপনার pg_hba.conf ফাইলটি পর্যালোচনা করুন। এটির নামকরণ হবে /var/lib/pgsql/9.3/data/pg_hba.conf (ফেডোরা 20); এটি সনাক্ত করতে আপনাকে 'find / -name pg_hba.conf' ব্যবহার করতে হতে পারে।

ফাইলের নীচে, স্থানীয় পরীক্ষার জন্য 'METTH' মানগুলিকে 'বিশ্বাস' এ পরিবর্তন করুন (সম্পূর্ণ তথ্যের জন্য ডগ্রে পোস্টগ্র্যাস দেখুন)। সবকিছু পরিষ্কার শুরু হয়েছে এবং নতুন প্যারামগুলি পঠিত হয়েছে তা নিশ্চিত করার জন্য মেশিনটি পুনরায় বুট করুন।

আশা করি এটি আপনার দুর্দশাগুলি নিরাময় করবে। এটি পোস্টগ্র্রেএসকিউএল 9.3 এর সাহায্যে ফেডোরা 20 এ আমার সমস্যার সমাধান করেছে।

আপডেট 2016-10-14:

উবুন্টুতে, প্রয়োজনীয় ফাইলের নাম /etc/postgresql/9.5/main/pg_hba.confকেবল স্থানীয় পরীক্ষার জন্য , এটি দেখতে দেখতে এটি সংশোধন করুন:

...
#
# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
# local   all             all                                     peer
  local   all             all                                     trust
# IPv4 local connections:
# host    all             all             127.0.0.1/32            md5
  host    all             all             127.0.0.1/32            trust

মেথডোড "বিশ্বাস" সহ দুটি লাইন নতুন। তারা আপনাকে ব্যবহারকারীর নাম / পাসওয়ার্ড ছাড়াই সংযোগ করার অনুমতি দেয়।

সম্পূর্ণ হয়ে গেলে, আপনাকে এর মাধ্যমে সার্ভারটি পুনরায় চালু করতে হবে:

sudo systemctl restart postgresql 

জন্য pg_hba.confকার্যকরী করতে, আপনি কেবল একটি রিলোড, না একটি পুনর্সূচনা প্রয়োজন। তদতিরিক্ত, আপনার পরামর্শটি অসম্পূর্ণ দেখায় কারণ এটি কীভাবে শেষ পর্যন্ত সমস্যাটি সমাধান করবে তা পরিষ্কার নয়।
ডিজেসো

1

আমার ঠিক এই একই সমস্যা ছিল এবং এটি প্রমাণিত হয়েছে যে একই নামটির সাথে আমার একাধিক ব্যবহারকারী রয়েছে (ভিন্ন ভিন্ন ক্ষেত্রে)। একবার আমি মালিকানাটি মার্জ করেছিলাম এবং একটি মুছে ফেলি, এটি অন্তত পরিষ্কার ছিল। সংযোগের পদ্ধতির উপর নির্ভর করে, প্রমাণীকরণের জন্য কেসটি প্রয়োজনীয়ভাবে স্থানান্তর করা হয়নি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.