如何限制操作系统用户连接postgresql?

问题描述 投票:0回答:1

我有一个在 Linux 操作系统中创建用户的用例。该系统已安装 Postgresql。用户有权访问数据库凭据。我想限制用户以任何方式访问数据库记录。

我正在使用 setfacl 命令来限制用户对 /bin/psql 的访问。但是,用户可以使用 psycopg 等 PostgreSQL 数据库适配器连接数据库。谁能告诉我 psycopg 如何连接到数据库以及如何限制 os 用户使用相同的方法访问数据库?

如果用户尝试以任何其他方式访问数据库,我希望执行失败。

linux postgresql psycopg2 access-control user-management
1个回答
0
投票

不允许通过 TCP 环回接口进行任何连接,并对 Unix 套接字连接使用

peer
身份验证。 示例
pg_hba.conf
文件可能如下所示:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local        all         all                                    peer
host         all         all       127.0.0.1/32                 reject
host         all         all            ::1/128                 reject

那么本地用户无法连接,除非操作系统用户名等于数据库用户名。

© www.soinside.com 2019 - 2024. All rights reserved.