Menu Close
6.6. 通过限制对经过身份验证的本地用户的访问来保护 PostgreSQL
PostgreSQL 是一个对象关联的数据库管理系统(DBMS)。在 Red Hat Enterprise Linux 中,PostgreSQL 由 postgresql-server
软件包提供。
您可以通过配置客户端身份验证来降低攻击风险。pg_hba.conf
配置文件存储在数据库集群的数据目录中用来控制客户端身份验证。按照以下步骤为基于主机的身份验证配置 PostgreSQL。
流程
安装 PostgreSQL:
# yum install postgresql-server
使用以下选项之一初始化数据库存储区域:
使用
initdb
工具:$ initdb -D /home/postgresql/db1/
带有
-D
选项的initdb
命令创建您指定的目录(如果尚未存在),例如/home/postgresql/db1/
。此目录随后包含数据库中存储的所有数据,以及客户端身份验证配置文件。使用
postgresql-setup
脚本:$ postgresql-setup --initdb
默认情况下,该脚本使用
/var/lib/pgsql/data/
目录。此脚本可帮助系统管理员具有基本数据库集群管理。
要允许任何通过身份验证的本地用户使用的用户名访问任何数据库,请在
pg_hba.conf
文件中修改以下行:local all all trust
当使用创建数据库用户的层次应用程序且没有本地用户时,这可能会出现问题。如果您不想显式控制系统上的所有用户名,请从
pg_hba.conf
文件中删除本地
行条目。重启数据库以应用更改:
# systemctl restart postgresql
上一命令更新数据库,并且验证配置文件的语法。