内容摘要:postgresql的访问认证配置主要涉及到两个主要的配置文件:postgresql.conf和pg_hba.conf。
安装postgresql是一件很简单的事,但是当我第一次安装了postgresql以后,它的安全设置曾经让我困扰过一阵,现在我将以我的经历为线索来讲述如何配置postgresql的访问认证,postgresql的版本是7.3.1,老一点的版本在配置文件上会有稍许不同,请自己注意区别。另外,在阅读中,请注意区分数据库用户和系统用户的区别,以免混淆。
postgresql的访问认证配置主要涉及到两个主要的配置文件:postgresql.conf和pg_hba.conf。
postgresql.conf包含了许多的选项,这些选项控制了postgresql.conf的方方面面,中间影响访问认证的选项是:
unix_socket_group
设置 Unix 域套接字的组所有人,(套接字的所有权用户总是启动 postmaster 的用户)与 UNIX_SOCKET_PERMISSIONS 选项一起使用可以给这种套接字类型增加额外的访问控制机制, 缺省时是一个空字串,也就是使用当前用户的缺省的组, 这个选项只能在服务器启动时设置。
unix_socket_permissions
给 Unix 域套接字设置访问权限,Unix 域套接字使用通常的 Unix 文件系统权限集。可选的值可以是一个 chmod 和 umask 系统调用可以接受的数字模式。(要使用客户化的八进制格式,该数字必须以 0 (零)开头)
缺省权限是 0777,意即任何人都可以联接,合理的选则可能是0770 (只有用户和组, 参阅UNIX_SOCKET_GROUP)和 0700 (只有用户)。(请注意对于 Unix 套接字而言,实际上只有写权限有意义,而且 也没有办法设置或者取消读或执行权限)
这个选项只能在服务器启动时设置。
pg_hba.conf是设置访问认证的主要文件,格式为每条记录一行,每行指定一条访问认证。设定一条访问认证包含了7个部分:连接方式(type)、数据库(database)、用户名(user)、ip地址(ip-address)、子网掩码(ip-mask)、认证方法(authentication method)、认证配置(authentication-option),以下是这7个部分的详细说明:
责编:豆豆技术应用