自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PostgreSQL數(shù)據(jù)庫中pg_hba.conf文件的使用詳解

數(shù)據(jù)庫 其他數(shù)據(jù)庫 PostgreSQL
本文我們通過一些實(shí)例詳細(xì)介紹了PostgreSQL數(shù)據(jù)庫中pg_hba.conf文件的使用方法,希望本次的介紹能夠?qū)δ兴鶐椭?/div>

PostgreSQL數(shù)據(jù)庫中pg_hba.conf文件的使用是本文我們主要要介紹的內(nèi)容,因為最近試用PostgreSQL 9.04,將pg_hba.conf配置的一些心得分享。pg_hba.conf是客戶端認(rèn)證配置文件,定義如何認(rèn)證客戶端。

常用的pg_hba.conf配置:

  1. # TYPE  DATABASE        USER            CIDR-ADDRESS            METHOD  
  2. # "local" is for Unix domain socket connections only  
  3. local      all                      all                                                       ident  
  4. # IPv4 local connections:  
  5. host       all                      all                 127.0.0.1/32                  md5  
  6. # IPv6 local connections:  
  7. host       all                      all                 ::1/128                           md5 

TYPE定義了多種連接PostgreSQL的方式,分別是:“local”使用本地unix套接字,“host”使用TCP/IP連接(包括SSL和非SSL),“host”結(jié)合“IPv4地址”使用IPv4方式,結(jié)合“IPv6地址”則使用IPv6方式,“hostssl”只能使用SSL TCP/IP連接,“hostnossl”不能使用SSL TCP/IP連接。

DATABASE指定哪個數(shù)據(jù)庫,多個數(shù)據(jù)庫,庫名間以逗號分隔。“all”只有在沒有其他的符合條目時才代表“所有”,如果有其他的符合條目則代表“除了該條之外的”,因為“all”的優(yōu)先級***。如下例:

  1. local      db1   user1       reject  
  2. local      all      all            ident 

這兩條都是指定local訪問方式,因為前一條指定了特定的數(shù)據(jù)庫db1,所以后一條的all代表的是除了db1之外的數(shù)據(jù)庫,同理用戶的all也是這個道理。

USER指定哪個數(shù)據(jù)庫用戶(PostgreSQL正規(guī)的叫法是角色,role)。多個用戶以逗號分隔。

CIDR-ADDRESS項local方式不必填寫,該項可以是IPv4地址或IPv6地址,可以定義某臺主機(jī)或某個網(wǎng)段。

METHOD指定如何處理客戶端的認(rèn)證。常用的有ident,md5,password,trust,reject。

ident是Linux下PostgreSQL默認(rèn)的local認(rèn)證方式,凡是能正確登錄服務(wù)器的操作系統(tǒng)用戶(注:不是數(shù)據(jù)庫用戶)就能使用本用戶映射的數(shù)據(jù)庫用戶不需密碼登錄數(shù)據(jù)庫。用戶映射文件為pg_ident.conf,這個文件記錄著與操作系統(tǒng)用戶匹配的數(shù)據(jù)庫用戶,如果某操作系統(tǒng)用戶在本文件中沒有映射用戶,則默認(rèn)的映射數(shù)據(jù)庫用戶與操作系統(tǒng)用戶同名。比如,服務(wù)器上有名為user1的操作系統(tǒng)用戶,同時數(shù)據(jù)庫上也有同名的數(shù)據(jù)庫用戶,user1登錄操作系統(tǒng)后可以直接輸入psql,以user1數(shù)據(jù)庫用戶身份登錄數(shù)據(jù)庫且不需密碼。

很多初學(xué)者都會遇到psql -U username登錄數(shù)據(jù)庫卻出現(xiàn)“username ident 認(rèn)證失敗”的錯誤,明明數(shù)據(jù)庫用戶已經(jīng)createuser。原因就在于此,使用了ident認(rèn)證方式,卻沒有同名的操作系統(tǒng)用戶或沒有相應(yīng)的映射用戶。解決方案:1、在pg_ident.conf中添加映射用戶;2、改變認(rèn)證方式。

md5是常用的密碼認(rèn)證方式,如果你不使用ident,***使用md5。密碼是以md5形式傳送給數(shù)據(jù)庫,較安全,且不需建立同名的操作系統(tǒng)用戶。

password是以明文密碼傳送給數(shù)據(jù)庫,建議不要在生產(chǎn)環(huán)境中使用。

trust是只要知道數(shù)據(jù)庫用戶名就不需要密碼或ident就能登錄,建議不要在生產(chǎn)環(huán)境中使用。reject是拒絕認(rèn)證。

本地使用psql登錄數(shù)據(jù)庫,是以unix套接字的方式,附合local方式。

使用PGAdmin3或php登錄數(shù)據(jù)庫,不論是否本地均是以TCP/IP方式,附合host方式。如果是本地(數(shù)據(jù)庫地址localhost),CIDR-ADDRESS則為127.0.0.1/32。

例如:

1、允許本地使用PGAdmin3登錄數(shù)據(jù)庫,數(shù)據(jù)庫地址localhost,用戶user1,數(shù)據(jù)庫user1db:

 

  1. host       user1db                      user1                 127.0.0.1/32                  md5 

 

2、允許10.1.1.0~10.1.1.255網(wǎng)段登錄數(shù)據(jù)庫:

 

  1. host       all                      all                 10.1.1.0/24                  md5 

 

3、信任192.168.1.10登錄數(shù)據(jù)庫:

 

  1. host       all                      all                 192.168.1.10/32                  trust 

 

pg_hba.conf修改后,使用pg_ctl reload重新讀取pg_hba.conf文件,如果pg_ctl找不到數(shù)據(jù)庫,則用-D /.../pgsql/data/ 指定數(shù)據(jù)庫目錄,或export PGDATA=/.../pgsql/data/ 導(dǎo)入環(huán)境變量。

需要注意的是:PostgreSQL默認(rèn)只監(jiān)聽本地端口,用netstat -tuln只會看到“tcp 127.0.0.1:5432 LISTEN”。修改postgresql.conf中的listen_address=*,監(jiān)聽所有端口,這樣遠(yuǎn)程才能通過TCP/IP登錄數(shù)據(jù)庫,用netstat -tuln會看到“tcp 0.0.0.0:5432 LISTEN”。

關(guān)于PostgreSQL數(shù)據(jù)庫中pg_hba.conf文件的使用的相關(guān)知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

【編輯推薦】

  1. Oracle數(shù)據(jù)庫進(jìn)程之從屬進(jìn)程詳解
  2. Oracle數(shù)據(jù)庫進(jìn)程之后臺進(jìn)程詳解
  3. Oracle數(shù)據(jù)庫進(jìn)程之服務(wù)器進(jìn)程詳解
  4. Access 2010數(shù)據(jù)類型的相關(guān)知識詳解
  5. SQL Server數(shù)據(jù)庫托管代碼的使用詳解
責(zé)任編輯:趙鵬 來源: 博客園
相關(guān)推薦

2011-08-25 09:56:05

PostgreSQLpg_ident.co

2024-09-10 08:00:00

PostgreSQL數(shù)據(jù)庫

2022-10-12 13:33:25

PostgreSQL數(shù)據(jù)庫

2009-05-13 10:28:30

OracleDUAL數(shù)據(jù)庫

2011-08-22 13:28:56

FOR XMLSQL Server

2019-11-20 09:08:46

PostgreSQL數(shù)據(jù)庫

2010-04-01 09:45:38

NoSQL

2011-08-24 09:15:36

SQL Server數(shù)FOR XML AUT

2013-08-29 13:31:07

PostgreSQL數(shù)據(jù)庫數(shù)據(jù)庫日期

2011-08-11 16:55:34

Oracle數(shù)據(jù)庫AWR

2010-09-08 16:03:57

SQL臨時表數(shù)據(jù)庫

2018-07-30 15:00:05

數(shù)據(jù)庫MySQLJOIN

2011-08-03 13:28:08

Oracle數(shù)據(jù)庫數(shù)據(jù)庫控制文件

2010-05-26 10:15:11

MySQL數(shù)據(jù)庫

2024-11-13 08:00:00

PostgreSQ插件開發(fā)

2011-08-22 15:05:03

MySQLEXPLAIN

2009-02-09 12:52:32

文件加密Oracle數(shù)據(jù)庫

2011-04-02 11:02:54

SQL Server數(shù)文件恢復(fù)

2011-08-24 12:49:56

SQL Server托管代碼

2011-08-25 17:49:14

MySQLmysqlcheck
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號