pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
目录
数据库安全在若干个层面上加以处理:
数据库文件保护。数据库中存储的所有文件都受到保护, 除Postgres超级用户账户外, 任何其他账户都不能读取。
默认情况下,从客户端到数据库服务器的连接只允许通过 本地 Unix 套接字进行,而不允许通过 TCP/IP 套接字。 后端必须以-i选项启动才能允许 非本地客户端连接。
可以通过pg_hba.conf文件(位于 PG_DATA中)按 IP 地址和/或用户名 限制客户端连接。
客户端连接可以通过其他外部软件包进行认证。
Postgres中的每个用户都被分配一个 用户名和(可选的)口令。默认情况下,用户对不是他们创建的 数据库没有写权限。
用户可以被分配到组, 表访问可以基于组权限加以限制。
认证 是后端服务器和postmaster 确保请求访问数据的用户确实是其声称的那个人 的过程。 所有调用Postgres的用户都会对照 pg_user类的内容进行检查,以确保他们 被授权这样做。不过,用户实际身份的验证可以通过多种 方式进行:
从用户 shell 启动的后端服务器会先记录用户的(有效) 用户 id,然后执行setuid 切换到用户postgres的用户 id。 有效用户 id 被用作访问控制检查的依据。不进行 其他认证。
如果Postgres系统构建为分布式, 任何人都可以访问postmaster 进程的 Internet TCP 端口。DBA 配置 PGDATA 目录中的 pg_hba.conf 文件,根据发起连接的主机以及所连接的 数据库来指定要使用的认证系统。可用认证系统的 描述见pg_hba.conf(5)。 当然,在 Unix 中基于主机的认证也不是万无一失的。 意志坚定的入侵者也可能伪装来源主机。这些安全问题 超出了Postgres的范围。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。