Postgresql

新安裝後 postgres 的預設超級使用者使用者名/密碼是什麼?

  • September 21, 2017

我剛剛在 Ubuntu 9.10 上安裝了 postgres 8.4,它從來沒有要求我創建一個超級使用者。是否有預設超級使用者及其密碼?如果沒有,我如何創建一個新的?

注意關於通過“$ sudo passwd postgres”更改“postgres”的 UNIX 密碼的答案不是首選,甚至可能是危險的!

這就是為什麼:預設情況下,UNIX 帳戶“postgres”被鎖定,這意味著它不能使用密碼登錄。如果您使用“sudo passwd postgres”,該帳戶會立即解鎖。更糟糕的是,如果您將密碼設置為較弱的密碼,例如“postgres”,那麼您將面臨巨大的安全隱患。例如,有許多機器人嘗試使用使用者名/密碼組合“postgres/postgres”登錄到您的 UNIX 系統。

你應該做的是遵循Chris James的回答:

sudo -u postgres psql postgres

# \password postgres

Enter new password: 

稍微解釋一下。登錄 PostgreSQL 伺服器通常有兩種預設方式:

  1. 通過以 UNIX 使用者身份執行“psql”命令(所謂的 IDENT/PEER 身份驗證),例如: sudo -u postgres psql. 請注意,sudo -u這不會解鎖 UNIX 使用者。
  2. 通過 TCP/IP 連接使用 PostgreSQL 自己管理的使用者名/密碼(所謂的 TCP 身份驗證)(即,不是UNIX 密碼)。

因此,您永遠不想為 UNIX 帳戶“postgres”設置密碼。預設情況下保持鎖定狀態。

當然,如果您將其配置與預設設置不同,情況可能會發生變化。例如,可以將 PostgreSQL 密碼與 UNIX 密碼同步,並且只允許本地登錄。那將超出這個問題的範圍。

引用自:https://serverfault.com/questions/110154