免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7140 | 回复: 3
打印 上一主题 下一主题

关于postgresql默认用户的安全问题请教!(已解决) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-14 05:17 |只看该作者 |倒序浏览
我的系统是freebsd 6.2,ports安装postgresql 8,会自动添加一个pgsql的用户!
问题在:
pgsql密码好像是空的,我从客户机连接也是不需要密码就可以连上了!这个pgsql好像是数据库的管理员用户吧?这样是不是存在安全性?
使用ALTER USER pgsql WITH PASSWORD 'XXXX',而且也尝试过修改pgsql用户的系统的密码,但还是照样空密码能连接!

[ 本帖最后由 For.you 于 2007-9-15 07:09 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-09-14 13:12 |只看该作者
pg_hba.conf

论坛徽章:
0
3 [报告]
发表于 2007-09-14 22:36 |只看该作者
客户端是远程连接到pg服务器的!修改了pg_hda.conf,postgresql.conf,如果不修改这个的话,默认应该是本地!那本地的话?比如pg服务器,服务器上的普通用户编个脚本不就能直接调用,使用pgsql用户来执行超级权限了?
那我想连接时pg服务器时,希望pgsql用户需要使用密码才能连接?这么样才能做到呢?

论坛徽章:
0
4 [报告]
发表于 2007-09-15 07:08 |只看该作者
一时没反映过来,刚才看了下手册,客户端认证是通过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 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP