Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.3.12. Securing PostgreSQL

PostgreSQL 是对象存储的数据库管理系统(DBMS)。在红帽企业 Linux 7 中,postgresql-server 软件包提供 PostgreSQL。如果没有安装,以 root 用户身份输入以下命令安装它:
~]# yum install postgresql-server
您必须先初始化磁盘上的数据库存储区域,然后才能开始使用 PostgreSQL。这称为数据库群集。若要初始化数据库集群,可使用随 PostgreSQL 安装的 initdb 命令。数据库集群所需的文件系统位置通过 -D 选项来指示。例如:
~]$ initdb -D /home/postgresql/db1
initdb 命令将尝试创建您指定的目录(如果该目录尚不存在)。本例中使用名称 /home/postgresql/db1/home/postgresql/db1 目录包含数据库中存储的所有数据和客户端身份验证配置文件:
~]$ cat pg_hba.conf
# PostgreSQL Client Authentication Configuration File
# This file controls: which hosts are allowed to connect, how clients
# are authenticated, which PostgreSQL user names they can use, which
# databases they can access.  Records take one of these forms:
#
# local      DATABASE  USER  METHOD  [OPTIONS]
# host       DATABASE  USER  ADDRESS  METHOD  [OPTIONS]
# hostssl    DATABASE  USER  ADDRESS  METHOD  [OPTIONS]
# hostnossl  DATABASE  USER  ADDRESS  METHOD  [OPTIONS]
pg_hba.conf 文件中的以下行允许任何经过身份验证的本地用户使用其用户名访问任何数据库:
local   all             all                                     trust
当您使用创建数据库用户而不是本地用户的分层应用时,这可能会造成问题。如果您不想显式控制系统上的所有用户名,请从pg_hba.conf文件中删除这一行