سؤال ما هو اسم المستخدم / كلمة المرور للمستخدم المتميز الافتراضي لـ postgres بعد التثبيت الجديد؟


لقد قمت للتو بتثبيت postgres 8.4 على Ubuntu 9.10 ولم تطلب مني مطلقًا إنشاء مستخدم متميز. هل هناك مستخدم افتراضي متميز وكلمة المرور الخاصة به؟ إذا لم يكن كذلك ، كيف يمكنني إنشاء واحدة جديدة؟


348
2018-02-06 04:54


الأصل


من المحتمل جدا ذات الصلة - "أنا أقوم بتثبيت PostgreSQL ولا أعرف كلمة المرور لمستخدم postgres". - Milen A. Radev


الأجوبة:


الحذر لا يُفضل الإجابة عن تغيير كلمة مرور UNIX لـ "postgres" عبر "sudo passwd postgres" ، بل ويمكن أيضًا خطير!

هذا هو السبب: افتراضياً ، يتم تأمين حساب UNIX "postgres" ، مما يعني أنه لا يمكن تسجيل الدخول باستخدام كلمة مرور. إذا كنت تستخدم "sudo passwd postgres" ، فسيتم إلغاء قفل الحساب على الفور. الأسوأ من ذلك ، إذا قمت بتعيين كلمة المرور لشيء ضعيف ، مثل "postgres" ، فإنك تتعرض لخطر أمني كبير. على سبيل المثال ، هناك عدد من برامج التتبع هناك تحاول استخدام اسم المستخدم / كلمة المرور "postgres / postgres" لتسجيل الدخول إلى نظام UNIX الخاص بك.

ما يجب عليك القيام به هو اتباع كريس جيمسإجابة:

sudo -u postgres psql postgres

# \password postgres

Enter new password: 

لتوضيح ذلك قليلا. عادة ما يكون هناك طريقتان افتراضيتان لتسجيل الدخول إلى خادم PostgreSQL:

  1. بتشغيل الأمر "psql" كمستخدم UNIX (يسمى مصادقة IDENT / PEER) ، على سبيل المثال: sudo -u postgres psql. لاحظ أن sudo -u لا يفتح مستخدم UNIX.

  2. عن طريق اتصال TCP / IP باستخدام اسم المستخدم / كلمة المرور المُدارة الخاصة بـ PostgreSQL الخاصة (ما يُسمى مصادقة TCP) (أي ، ليس كلمة مرور UNIX).

وانت ايضا أبدا تريد تعيين كلمة المرور لحساب UNIX "postgres". اتركه مؤمنا كما هو افتراضيا.

وبالطبع يمكن للأشياء أن تتغير إذا قمت بتكوينها بشكل مختلف عن الإعداد الافتراضي. على سبيل المثال ، يمكن للمرء مزامنة كلمة مرور PostgreSQL باستخدام كلمة مرور UNIX والسماح فقط بتسجيل الدخول المحلي. هذا سيكون خارج نطاق هذا السؤال.


486
2017-10-28 06:25



لذلك ، كيف يمكنك قفل postgres المستخدم مرة أخرى؟ - ultrajohn
ultrajohn - يعتمد على التوزيع الذي تستخدمه ، ولكن يمكنك تحرير / etc / passwd ووضع * بدلاً من كلمة المرور - lzap
/etc/shadow حيث يتم الاحتفاظ بكلمة المرورlzap. - Gringo Suave
صحيح ، يمكنك إما تعيين / sbin / nologin في / etc / passwd أو put * بدلاً من كلمة المرور في / etc / shadow. - lzap
passwd - فتح بوستجرس - Stéphane


أدخل على سطر الأوامر:

$ sudo -u postgres psql postgres
postgres=# \password postgres

سوف ترى:

Enter new password: 
Enter it again:

157
2018-03-16 15:39



هذا هو ما يلزم لاستخدام أداة مثل pgadminIII (عند إعداد ملف تعريف خادم) مباشرة بعد تثبيت Postgres نفسه. شكر! - limist


يمكنك التعامل مع postgres من خلال المستخدم postgres، على هذا النحو:

# su - postgres
$ createdb mydb
$ psql -s mydb
# create user someuser password 'somepassword';
# GRANT ALL PRIVILEGES ON DATABASE mydb TO someuser;

58
2018-02-06 05:02



ThierryLam يجب أن تكون الجذر إلى su إلى مستخدم postgres دون إدخال كلمة مرور. على معظم الأنظمة يتم تأمين حساب Postgres Unix (لن تعمل أي كلمة مرور) ، مما يعني فقط الجذر su لهذا الحساب. - voretaq7
استعمال sudo بدلا من su. - reinierpost
اضطررت للركض sudo su - postgres : \ - Jim Schubert
Jim شوبرت: يمكنك أيضا تشغيل sudo -u postgres. - reinierpost
sudo -u postgres psql - يعمل أيضًا حتى تتمكن من القيام بذلك في خطوة واحدة. - Ominus


في Windows ، قم بما يلي (هام: استخدم Windows مدير الحساب):

  1. بعد التثبيت ، افتح <PostgreSQL PATH>\data\pg_hba.conf.

  2. قم بتعديل هذين السطرين ، وقم بتغيير "md5" إلى "trust":

    host all all 127.0.0.1/32 md5

    host all all ::1/128 md5

  3. إعادة تشغيل خدمة PostgreSQL (قد لا يكون ضروريًا).

  4. (اختياري) افتح موجه الأوامر ، وقم بتغيير صفحة الرموز إلى 1252:

    cmd.exe /c chcp 1252

  5. تسجيل الدخول إلى PostgreSQL. ستكون هناك حاجة إلى كلمة مرور (لاحظ معلمة U الكبيرة):

    psql -U postgres

  6. (اختياري ، موصى به لأسباب تتعلق بالأمان) قم بتغيير postgres كلمة مرور المستخدم:

    \password postgres

    وتغيير "الثقة" إلى "md5" في pg_hba.conf.


20
2017-11-18 19:25





إذا كنت تحاول الوصول إلى shell PostgreSQL ، فيمكنك كتابة:

psql -U postgres my_database

أين my_database هو اسم قاعدة البيانات الخاصة بك.


5
2018-03-07 13:44