- 论坛徽章:
- 0
|
一时没反映过来,刚才看了下手册,客户端认证是通过pg_hba.conf文件来控制的!
默认的是信任所有本地用户!而我添加的规则,是trust无条件地允许联接
手册有个例子:
Example 19-1. pg_hba.conf 记录的例子
# 允许在本机上的任何用户使用 Unix 域套接字(本地连接的缺省)
# 以任何身份联接任何数据库
#
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local all all trust
# 和上面相同,但是使用的是自环的(loopback)TCP/IP 连接
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 127.0.0.1/32 trust
# 和上面一行相同,但是用的是独立的掩码字段
#
# TYPE DATABASE USER IP-ADDRESS METHOD
host all all 127.0.0.1 255.255.255.255 trust
# 允许 IP 地址为 192.168.93.x 的任何主机与数据库
# "template1" 相连,用与他们在自己的主机上相同 ident 的用户名标识他自己
# (通常是他的 Unix 用户名)
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host template1 all 192.168.93.0/24 ident sameuser
# 允许来自主机 192.168.12.10 的用户与 "template1" 数据库联接,
# 只要该用户提供了在正确的口令。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host template1 all 192.168.12.10/32 md5
# 如果前面没有其它 "host" 行,那么下面两行将拒绝所有来自
# 192.168.54.1 的联接请求 (因为前面的记录先匹配),
# 但是允许来自互联网上其它任何地方的有效的 Kerberos 5 认证的联接
# 零掩码表示不考虑主机 IP 的任何位。因此它匹配任何主机:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 192.168.54.1/32 reject
host all all 0.0.0.0/0 krb5
# 允许来自 192.168.x.x 的任何用户与任意数据库联接,只要他们通过 ident 检查
# 但如果 ident 说该用户是 "bryanh" 而他要求以 PostgreSQL 用户 "guest1" 联接,
# 那么只有在 `pg_ident.conf' 里有 "omicron" 的映射,说 "bryanh" 允许以
# "guest1" 进行联接时才真正可以进行联接。
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 192.168.0.0/16 ident omicron
# 如果下面是用于本地联接的仅有的三行,那么它们将允许本地用户
# 只和它们自己的数据库联接(数据库名和用户名同名),
# 只有管理员和组"support"里的成员例外,他们可以联接到任何数据库。
# 文件 $PGDATA/admins 列出了那些允许与所有数据库联接的用户名。
# 在所有情况下都需要口令。
#
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local sameuser all md5
local all @admins md5
local all +support md5
# 上面最后两行可以合起来写成一行
local all @admins,+support md5
# 数据库字段也可以使用列表和文件名,但组不行:
local db1,db2,@demodbs all md5
[ 本帖最后由 For.you 于 2007-9-15 07:18 编辑 ] |
|