Postgresql

“sudo -u postgres psql postgres”不要求輸入密碼

  • February 16, 2018

我已經接管了一個使用 postgres 的系統。登錄時,如果我使用…

sudo -u postgres psql postgres

…它不要求輸入密碼。但是,如果我這樣做…

psql -U postgres -h localhost postgres

…它要求輸入密碼。

為什麼?這種差異是如何配置的?可以為不同的使用者配置以這種方式登錄嗎?

(注意:使用者postgres不在sudoers文件中,也不在 sudo 組中。

Postgres 有一種稱為peer的身份驗證類型。如果您查看 pg_hba.conf,您可能會看到類似

local   all             postgres                       peer

或喜歡

local   all             all                            peer

您沒有被要求輸入密碼的事實與使用 sudo 無關,並且與您連接到與使用者名匹配的數據庫有關,並且在 pg_hba.conf 中啟用了對等身份驗證。

如果這是一台測試機器並且不需要安全性,您可以使用信任而不是對等,這樣就不需要密碼。壓力不夠,信任只是開發和測試機器的一個不錯的選擇。永遠不應該在生產機器上使用信任。

引用自:https://dba.stackexchange.com/questions/198125