PostgreSQL遠端連線組態管理/帳號密碼分配(解決:致命錯誤: 使用者 "postgres" Ident 認證失敗)

來源:互聯網
上載者:User

標籤:帳號密碼   密碼認證   oca   Owner   ase   最好   _id   資料   如何   

問題:致命錯誤: 使用者 "postgres" Ident 認證失敗

說明:這個是由於沒有配置遠端存取且認證方式沒改造成的,只需要更改使用帳號密碼認證即可。

解決:找到pg_hba.conf(find / -name pg_hba.conf),METHOD的ident修改為md5,且把ip端改為0.0.0.0/0,或者想要的IP地址即可。修改完成後直接reload即可。

特別吐槽:網上說直接trust,其實這個意思是只驗證使用者名稱,不驗證密碼!千萬不要這樣使用!!!

METHOD指定如何處理用戶端的認證。常用的有ident,md5,password,trust,reject

ident是Linux下PostgreSQL預設的local認證方式,凡是能正確登入伺服器的作業系統使用者(註:不是資料庫使用者)就能使用本使用者映射的資料庫使用者不需密碼登入資料庫。使用者對應檔為pg_ident.conf,這個檔案記錄著與作業系統使用者匹配的資料庫使用者,如果某作業系統使用者在本檔案中沒有映射使用者,則預設的映射資料庫使用者與作業系統使用者同名。比如,伺服器上有名為user1的作業系統使用者,同時資料庫上也有同名的資料庫使用者,user1登入作業系統後可以直接輸入psql,以user1資料庫使用者身份登入資料庫且不需密碼。很多初學者都會遇到psql -U username登入資料庫卻出現“username ident 認證失敗”的錯誤,明明資料庫使用者已經createuser。原因就在於此,使用了ident認證方式,卻沒有同名的作業系統使用者或沒有相應的映射使用者。解決方案:1、在pg_ident.conf中添加映射使用者;2、改變認證方式。

md5是常用的密碼認證方式,如果你不使用ident,最好使用md5。密碼是以md5形式傳送給資料庫,較安全,且不需建立同名的作業系統使用者。

password是以純文字密碼傳送給資料庫,建議不要在生產環境中使用。

trust是只要知道資料庫使用者名稱就不要求輸入密碼或ident就能登入,建議不要在生產環境中使用。

reject是拒絕認證。

在檔案尋找 listen_addresses,他的值說明

如果希望只能從本機電腦訪問PostgreSQL資料庫,就將該項設定為‘localhost‘;
如果希望從區域網路訪問PostgreSQL資料庫,就將該項設定為PostgreSQL資料庫的區域網路IP地址;
如果希望從互連網訪問PostgreSQL資料庫,就將該項設定為PostgreSQL資料庫的互連網IP地址;
如果希望從任何地方都可以訪問PostgreSQL資料庫,就將該配置項設定為“*”;

建立使用者:

# 先建立資料庫使用者dbuserpostgres=# create user dbuser with password ‘密碼‘;# 建立系統使用者adduser dbuser# 修改系統使用者密碼passwd dbuser

修改dbuser的密碼:

# 切換使用者為postgresu postgres# 登入psql# 修改dbuser的密碼postgres=# alter user dbuser with password ‘自己的password‘;
# 或者
postgres=# \password dbuser

給dbuser分配資料庫許可權:

# 建立資料庫時分配postgres=# create database 資料庫名稱 owner dbuser;# 建立資料庫後賦予使用者postgres許可權postgres=# grant all privileges on database 資料庫名稱 to dbuser;

以dbuser的身份串連資料庫:

su dbuserpsql -d 資料庫名

 

參考:

46047483

http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html 

PostgreSQL遠端連線組態管理/帳號密碼分配(解決:致命錯誤: 使用者 "postgres" Ident 認證失敗)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.