如PostgreSQL wiki(https://wiki.postgresql.org/wiki/Client_Authentication)中所述,我可以编辑pg_hba.conf
文件,为用户设置身份验证方法,以便信任"。
有没有办法用任何可编写脚本的命令(可能是ALTER
)设置此方法,而不是手动编辑配置文件?
(我使用PostgreSQL-9.3,如果重要的话)
答案 0 :(得分:1)
取决于你想要做多少坏事,你对系统的控制程度:)
这样的战术怎么样...... 使用fdw读取文件:
CREATE EXTENSION file_fdw;
CREATE SERVER file_fdw_server FOREIGN DATA WRAPPER file_server;
CREATE FOREIGN TABLE pghba (
username text,
pass text,
uid int4,
gid int4,
gecos text,
home text,
shell text
) SERVER file_server
OPTIONS (format 'text', filename current_setting('hba_file'), delimiter E'\t', null '');
使用SQL解析内容(为OP执行练习)并使用
写回文件COPY () TO current_setting('pghba_file')
语句。
使用以下命令重新加载配置文件:
SELECT pg_reload_conf();
这显然不是一个完整的工作示例,它更像是一个可以让你到达目的地的策略。也就是说,如果你想去那里那么糟糕。