<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    GHawk

    PostgreSQL的主機認(rèn)證配置

    轉(zhuǎn)自 http://www.linuxsir.org/bbs/showthread.php?t=32116

    pg_hba.conf 文件
    客戶端認(rèn)證是由 $PGDATA 目錄里的文件pg_hba.conf 控制的,也就是說, /usr/local/pgsql/data/pg_hba.conf. (HBA 的意思是 host-based authentication:基于主機的認(rèn)證.) 在initdb初始化數(shù)據(jù)區(qū)的時候,它會 安裝一個缺省的文件.

    文件 pg_hba.conf 的常用格式是一套記錄, 每行一條。空白行或者井號(“#”)開頭的行被忽略。一條記錄 是由若干用空格和/或 tab 分隔的字段組成。

    每條記錄可以下面三種格式之一

    local database authentication-method [ authentication-option ]
    host database IP-address IP-mask authentication-method [ authentication-option ]
    hostssl database IP-address IP-mask authentication-method [ authentication-option ]

    各個字段的含義如下:

    local
    這條記錄適用于通過 Unix 域套接字的聯(lián)接.

    host
    這條記錄適用于通過 TCP/IP 網(wǎng)絡(luò)的聯(lián)接.請注意,除非服務(wù)器是 帶著 -i 選項或者等效的配置參數(shù)集啟動的,否則 TCP/IP 聯(lián)接將完全被禁止掉.

    hostssl
    這條記錄適用于試圖建立在 TCP/IP 上的 SSL 之上的聯(lián)接. 要使用這個選項,服務(wù)器必須帶著 SSL 支持編譯.而且在服務(wù)器啟動的時候, 必須用 -l 選項 或等效的配置設(shè)置打開 SSL.

    database
    聲明記錄所適用的數(shù)據(jù)庫。值 all 表明該記錄應(yīng)用于所有數(shù)據(jù)庫, 值 sameuser 表示于正在聯(lián)接的用戶同名的數(shù)據(jù)庫。 否則它就是某個具體的 Postgres 數(shù)據(jù)庫名字.

    IP address, IP mask
    這兩個字段以各主機的 IP 地址為基礎(chǔ), 控制一條 host 記錄應(yīng)用于哪個主機. (當(dāng)然,IP 地址可能會被欺騙(spoofed),但是這個考慮 超過了 Postgres 的考慮范圍.) 準(zhǔn)確的邏輯是,對于匹配的記錄

    (actual-IP-address xor IP-address-field) and IP-mask-field
    必需為零.

    authentication method(認(rèn)證方法)
    聲明一個用戶在與該數(shù)據(jù)庫聯(lián)接的時候必須使用的認(rèn)證方法. 可能的選擇如下,詳細(xì)情況在 Section 4.2.


    trust
    無條件地允許聯(lián)接.這個方法允許任何有登錄客戶機權(quán)限的用戶以任意 Postgres 數(shù)據(jù)庫用戶身份進行聯(lián)接.

    reject
    聯(lián)接無條件拒絕.常用于從組中“過濾”某些主機.

    password
    要求客戶端在嘗試聯(lián)接的時候提供一個口令, 這個口令與為該用戶設(shè)置的口令必須匹配.

    在 password 關(guān)鍵字后面可以聲明一個可選的文件名. 這個文件包含一個用戶列表,列表記錄的是那些適用口令認(rèn)證記錄的用戶, 以及可選的候選口令.

    口令是以明文的方式在線路上傳輸?shù)模绻玫谋Wo,請使用 crypt 方法.

    crypt
    類似 password 方法,但是口令是用一種簡單的 口令對應(yīng)協(xié)議加密后在線路上傳送的.這么做在密碼學(xué)理論上是不安全的, 但可以防止偶然的線路偵聽.在 crypt 關(guān)鍵字后面 可以有一個文件,文件里包含適用口令認(rèn)證記錄的用戶列表.

    krb4
    用 Kerberos V4 認(rèn)證用戶.只有在進行 TCP/IP 聯(lián)接的時候才能用. (譯注:Kerberos,"克爾波洛斯",故希臘神話冥王哈得斯的多頭看門狗. Kerberos 是 MIT 開發(fā)出來的基與對稱加密算法的認(rèn)證協(xié)議和/或密鑰 交換方法.其特點是需要兩個不同用途的服務(wù)器,一個用于認(rèn)證身份, 一個用于通道兩端用戶的密鑰交換.同時 Kerberos 對網(wǎng)絡(luò)時間同步 要求比較高,以防止回放攻擊,因此通常伴隨 NTP 服務(wù).)

    krb5
    用 Kerberos V5 認(rèn)證用戶.只有在進行 TCP/IP 聯(lián)接的時候才能用. (譯注:Kerberos V5 是上面 V4 的改良,主要是不再依賴 DES 算法, 同時增加了一些新特性.)

    ident
    服務(wù)器將詢問客戶機上的 ident 服務(wù)器以核實正在聯(lián)接的用戶身份. 然后 Postgres 核實該操作系統(tǒng)用戶是否被允許以其請求的數(shù)據(jù)庫用戶身份與數(shù)據(jù)庫聯(lián)接. 只有在使用 TCP/IP 聯(lián)接的時候才能用這個選項. 跟在 ident 關(guān)鍵字后面的 authentication option 聲明一個 ident map(身份映射), 該文件聲明那些操作系統(tǒng)用戶等效于數(shù)據(jù)庫用戶.見下文獲取詳細(xì)信息.


    authentication option(認(rèn)證選項)
    這個字段根據(jù)不同的認(rèn)證方法(authentication method)有不同的 解釋.

    認(rèn)證時使用與聯(lián)接請求的客戶端 IP 地址和所要求的 數(shù)據(jù)庫名字匹配的第一條記錄. 請注意這里沒有 “fall-through(越過)” 或者 “backup(備份)”:如果選定了一條記錄但認(rèn)證失敗, 那么將不會繼續(xù)考慮下面的記錄.如果沒有匹配的記錄,則拒絕訪問.

    在每次聯(lián)接的請求時,文件 pg_hba.conf 都會被重新讀取.因此很容易就能在服務(wù)器運行的時候修改訪問權(quán)限.

    在 Example 4-1 里是 pg_hba.conf 的一個例子. 閱讀下文理解不同認(rèn)證方法的細(xì)節(jié).

    Example 4-1. 一個 pg_hba.conf 文件的例子

    # TYPE DATABASE IP_ADDRESS MASK AUTHTYPE MAP

    # 允許在本機上的任何用戶以任何身份聯(lián)接任何數(shù)據(jù)庫
    # 但必須是通過 IP 進行聯(lián)接

    host all 127.0.0.1 255.255.255.255 trust

    # 同樣,但用的是 Unix-套接字聯(lián)接

    local all trust

    # 允許 IP 地址為 192.168.93.x 的任何主機與數(shù)據(jù)庫
    # "template1" 相連,用與他們在自己的主機上相同 ident 的用戶名標(biāo)識他自己
    # (通常是他的 Unix 用戶名)

    host template1 192.168.93.0 255.255.255.0 ident sameuser

    # 允許來自主機 192.168.12.10 的用戶與 "template1" 數(shù)據(jù)庫聯(lián)接,
    # 只要該用戶提供了在 pg_shadow 里正確的口令.

    host template1 192.168.12.10 255.255.255.255 crypt

    # 如果前面沒有其它 "host" 行,那么下面兩行將拒絕所有來自
    # 192.168.54.1 的聯(lián)接請求 (因為前面的記錄先匹配
    # 但是允許來自互聯(lián)網(wǎng)上其它任何地方有效的 Kerberos V5 認(rèn)證的聯(lián)接
    # 零掩碼表示不考慮主機 IP 的任何位.因此它匹配任何主機:

    host all 192.168.54.1 255.255.255.255 reject
    host all 0.0.0.0 0.0.0.0 krb5

    # 允許來自 192.168.x.x 的任何用戶與任意數(shù)據(jù)庫聯(lián)接,只要他們通過 ident 檢查
    # 但如果 ident 說該用戶是 "bryanh" 而他要求以 PostgreSQL 用戶 "guest1" 聯(lián)接,
    # 那么只有在 `pg_ident.conf' 里有 "omicron" 的映射,說 "bryanh" 允許以
    # "guest1" 進行聯(lián)接時才真正可以進行聯(lián)接.

    host all 192.168.0.0 255.255.0.0 ident omicron

    posted on 2006-06-07 10:42 GHawk 閱讀(1214) 評論(0)  編輯  收藏 所屬分類: 其他

    主站蜘蛛池模板: 久久99国产综合精品免费| 男性gay黄免费网站| 香蕉成人免费看片视频app下载| 亚洲国产黄在线观看| 免费国产黄网站在线看| 亚洲国产一区二区三区| 黄色三级三级免费看| 亚洲人午夜射精精品日韩| 一级毛片aa高清免费观看| 中文字幕亚洲无线码a| 怡红院免费全部视频在线视频| 亚洲av无码不卡一区二区三区| 免费91麻豆精品国产自产在线观看 | 免费鲁丝片一级在线观看| 亚洲熟伦熟女专区hd高清| 情侣视频精品免费的国产| 日韩在线观看免费| 国产亚洲日韩在线三区| 国产精品99久久免费观看| 亚洲日韩中文字幕| 国产精品99久久免费| 一级特级女人18毛片免费视频 | 亚洲天堂一区二区三区| 免费看片免费播放| 一级特级aaaa毛片免费观看| 亚洲av综合avav中文| 18禁网站免费无遮挡无码中文| 亚洲a∨国产av综合av下载 | 国产国拍亚洲精品福利 | 精品国产免费一区二区三区| 亚洲成av人影院| 国产成人免费爽爽爽视频| 免费的黄色的网站| 91精品国产亚洲爽啪在线观看| 好大好深好猛好爽视频免费| 亚洲免费在线观看| 国产精品亚洲片夜色在线| 亚洲精品色婷婷在线影院| 91福利视频免费观看| 特级aa**毛片免费观看| 久久精品国产亚洲av影院|