欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

PostgreSQL本地登录trust、ident认证权限控制

程序员文章站 2024-02-12 08:01:16
...

感觉不大可思议,这种登录方式类似Oracle中的 sqlplus / as sysdba命令,不同的是,对于非安装用户以这种方式登录时,Oracle返回

前几天偶然发现任意OS用户无需密码就可以获取PG数据库管理员权限。感觉这个也太BUG了,如果DBA配置不当,岂不是很容易就数据泄露了。

通过合理配置pg_hba.conf,pg_ident.conf禁止非数据库OS用户登录以trust方式登录,对于某些需要支持本地认证的同学可能有用。

前置条件:

1.我的PG数据库是由Linux用户 ithomer创建的私有数据库

2.数据库认证方式pg_hba.conf中,本地用户登录认证方式为trust

# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust

问题重现:

1.以任意Linux用户如homerwu登录OS(该用户无任何数据库权限,与ithomer也不在同一组)

2.homerwu用户下载PG客户端可执行程序,以本地套接字认证方式登录PG,指定用户,不指定密码