שאלה מהו שם המשתמש / הסיסמה המוגדרים כברירת מחדל עבור Postgres לאחר התקנה חדשה?


יש לי רק מותקן postgres 8.4 על אובונטו 9.10 וזה מעולם לא ביקש ממני ליצור superuser. האם יש משתמש ברירת מחדל וסיסמה? אם לא, איך אני יוצר אחד חדש?


348
2018-02-06 04:54




כנראה רלוונטי מאוד - "אני מתקין PostgreSQL ואיני יודע את הסיסמה עבור המשתמש postgres". - Milen A. Radev


תשובות:


זהירות התשובה על שינוי סיסמת UNIX עבור "postgres" דרך "postgres passod $ sudo" אינה מועדפת, ויכולה להיות אפילו מסוכן!

זו הסיבה: כברירת מחדל, "ungres" חשבון UNIX נעול, מה שאומר שזה לא יכול להיות מחובר באמצעות סיסמה. אם אתה משתמש "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 אינו פותח את המשתמש.

  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 או לשים * במקום את הסיסמה / etc / צל. - lzap
העבר - 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 Schubert: אתה יכול גם לרוץ sudo -u postgres. - reinierpost
sudo -u postgres psql - עובד גם כך שאתה יכול לעשות את זה צעד אחד. - Ominus


ב- Windows, בצע את הפעולות הבאות (חשוב: השתמש ב- Windows מנהל חשבון):

  1. לאחר ההתקנה, פתח <PostgreSQL PATH>\data\pg_hba.conf.

  2. שינוי שתי שורות אלה, ולשנות "md5" ל "אמון":

    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. לא תידרש סיסמה (שים לב לפרמטר Uppercase-U):

    psql -U postgres

  6. (אופציונלי, מומלץ מסיבות אבטחה) לשנות את postgres סיסמת המשתמש:

    \password postgres

    ולשנות "אמון" בחזרה "md5" ב pg_hba.conf.


20
2017-11-18 19:25





אם אתה מנסה לגשת לקובץ PostgreSQL, תוכל להקליד:

psql -U postgres my_database

איפה my_database הוא שם מסד הנתונים שלך.


5
2018-03-07 13:44