จะตรวจสอบผู้ใช้และรหัสผ่านของ postgres ได้อย่างไร? [ปิด]


107

เพื่อนของฉันทำการกำหนดค่านี้บนเครื่อง Mac ของฉัน แต่ฉันไม่รู้ชื่อผู้ใช้และรหัสผ่านที่เขาเลือก


รหัสผ่านจะถูกเก็บไว้ในแฮชทางเดียว คุณไม่สามารถดึงรหัสผ่านดิบออกจากฐานข้อมูลได้เนื่องจากไม่มีอยู่แล้ว คุยกับเพื่อนของคุณ และนอกเหนือจากนั้น offtopic สำหรับไซต์นี้
Marc B

47
ฉันขอขอบคุณที่นี่ไม่ใช่หัวข้อ แต่ยังเป็น Google hit อันดับหนึ่งสำหรับ "postgres show password" และคำตอบก็มีประโยชน์สำหรับปัญหาการเขียนโปรแกรม
Steven Noble

4
นี่จึงไม่ใช่ "นอกหัวข้อ" สำหรับไซต์นี้ เป็นคำถามเกี่ยวกับการเขียนโปรแกรมเกี่ยวกับวิธีทำงานหนึ่ง ๆ ให้สำเร็จ
Maiya

คำตอบ:


169

คุณจะไม่สามารถค้นหารหัสผ่านที่เขาเลือกได้ อย่างไรก็ตามคุณสามารถสร้างผู้ใช้ใหม่หรือตั้งรหัสผ่านใหม่ให้กับผู้ใช้ที่มีอยู่

โดยปกติคุณสามารถเข้าสู่ระบบในฐานะผู้ใช้ postgres:

เปิด Terminal sudo su postgresและทำ หลังจากป้อนรหัสผ่านผู้ดูแลระบบของคุณแล้วคุณจะสามารถเปิดpsqlและทำ

CREATE USER yourname WITH SUPERUSER PASSWORD 'yourpassword';

สิ่งนี้จะสร้างผู้ใช้ผู้ดูแลระบบใหม่ หากคุณต้องการแสดงรายชื่อผู้ใช้ที่มีอยู่คุณสามารถทำได้

\du

เพื่อแสดงรายชื่อผู้ใช้ทั้งหมดจากนั้น

ALTER USER yourusername WITH PASSWORD 'yournewpass';

ดังนั้นฉันคิดว่ามันต้องทำผ่านยูทิลิตี้ psql แต่ไม่สามารถทำได้ภายใน pgadmin
JohnMerlino

@JohnMerlino คุณสามารถสร้างรายชื่อและสร้างผู้ใช้ผ่าน phppgadmin ได้ แต่คุณจะไม่สามารถเข้าสู่ระบบได้หากคุณไม่รู้รหัสผ่านสำหรับบัญชีใด ๆ
มาร์ค

คุณจะเข้าถึงสิ่งนี้ด้วยสตริง URL ได้อย่างไร ตัวอย่างเช่นหากคุณมีแอปที่เชื่อมต่อกับฐานข้อมูลของคุณคุณจำเป็นต้องป้อนชื่อผู้ใช้และรหัสผ่านใน URL หรือไม่
Maiya

9

คุณสามารถเปลี่ยน pg_hba.conf แล้วโหลด postgresql ใหม่ บางอย่างใน pg_hba.conf อาจเป็นดังนี้:

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

จากนั้นคุณเปลี่ยนผู้ใช้ของคุณเป็น postgresql คุณสามารถเข้าสู่ระบบได้สำเร็จ

su postgresql
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.