W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
ident 認證方法通過從一個 ident 服務(wù)器獲得客戶端的操作系統(tǒng)用戶名并且用它作為被允許的數(shù)據(jù)庫用戶名(和可選的用戶名映射)來工作。它只在 TCP/IP 連接上支持。
當為一個本地(非 TCP/IP)連接指定 ident 時,將實際使用 peer 認證(見第 20.9 節(jié))。
下列被支持的配置選項用于ident:
map
允許系統(tǒng)和數(shù)據(jù)庫用戶名之間的映射。詳見第 20.2 節(jié)。
“Identification Protocol(標識協(xié)議)”在 RFC 1413 中描述。實際上每個類 Unix 操作系統(tǒng)都帶著一個默認監(jiān)聽 TCP 113 端口的 ident 服務(wù)器。ident 服務(wù)器的基本功能是回答類似這樣的問題:“哪個用戶從你的端口X
發(fā)起了連接并且連到了我的端口Y
?”。因為當一個物理連接被建立后,
PostgreSQL既知道X
也知道Y
, 所以它可以詢問嘗試連接的客戶端主機上的 ident 服務(wù)器并且在理論上可以判斷任意給定連接的操作系統(tǒng)用戶。
這個過程的缺點是它依賴于客戶端的完整性:如果客戶端機器不可信或者被攻破,攻擊者可能在 113 端口上運行任何程序并且返回他們選擇的任何用戶。因此這種認證方法只適用于封閉的網(wǎng)絡(luò), 這樣的網(wǎng)絡(luò)中的每臺客戶端機器都處于嚴密的控制下并且數(shù)據(jù)庫和操作系統(tǒng)管理員操作時可以方便地聯(lián)系。換句話說,你必須信任運行 ident 服務(wù)器的機器。注意這樣的警告:
標識協(xié)議的本意不是作為一種認證或訪問控制協(xié)議。 |
||
--RFC 1413 |
有些 ident 服務(wù)器有一個非標準的選項,它導(dǎo)致返回的用戶名是被加密的,使用的是只有原機器管理員知道的一個密鑰。當與PostgreSQL配合使用 ident 服務(wù)器時,一定不要使用這個選項,因為PostgreSQL沒有任何方法對返回的字符串進行解密以獲取實際的用戶名。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: