PostgreSQL查询用户密码&&密码解密&&修改密码

1、切换用户 postgres

su postgres

2、登录postgres

psql

3、查看用户信息和密码

SELECT rolname,rolpassword FROM pg_authid;

这里创建了两个用户:admin和postgres,密码用MD5加密了

在这里插入图片描述

4、在线MD5解密

在线MD5解密:

将加密后的密码复制到在线解密网(注意去掉md5前缀)

解密后的密码是:postgrespostgres,本机设置的密码是postgres

部分密码无法解密,可以尝试其他在线解密网站。


2024年12月19日补充:这里面其实有个地方会误解,用户名和密码都是postgres,不知道原理的人可能就会混淆了;我把下面这个逻辑放上来就清晰多了,然后解密就是反着来就行了。

# pg_authid.rolpassword (加密后)密码的组成
SELECT 'md5'|| md5('your password'||'your rolname');

新建用户测试一下就更清楚了!

create user test_user with password 'test_user_password';
SELECT 'md5'|| md5('test_user_password'||'test_user');
--md514054c8a18b669d03b1384f984ac8b14

-- 查看数据(确实如此!)
SELECT rolname,rolpassword from pg_authid;
rolname	rolpassword
test_user	md514054c8a18b669d03b1384f984ac8b14

5、修改密码

将postgres用户密码设置为postgres

su postgres 

psql

\password postgres

ALTER USER postgres WITH PASSWORD 'postgres1';

转自:https://blog.csdn.net/qq262593421/article/details/108619039
2024年12月19日 修改了部分内容。

### 如何重置 PostgreSQL 数据库管理员账户密码 #### 准备工作 为了能够安全有效地重置 PostgreSQL 的超级用户 `postgres` 账户的密码,需要确保拥有操作系统级别的访问权限以及对 PostgreSQL 配置文件的操作权。 #### 修改认证方式 编辑位于数据目录下的 `pg_hba.conf` 文件,将涉及本地连接的那一行中的方法字段暂时更改为 `trust` 或者 `peer`(取决于环境),以便允许无需提供口令即可建立会话。此更改仅用于恢复过程,在完成密码更新后应立即改回原设置以维持安全性[^1]。 ```bash # 打开 pg_hba.conf 进行编辑 sudo nano /etc/postgresql/16/main/pg_hba.conf ``` 找到如下类似的配置项: ``` # TYPE DATABASE USER ADDRESS METHOD local all postgres peer ``` 将其修改为: ``` # TYPE DATABASE USER ADDRESS METHOD local all postgres trust ``` 保存并关闭文件。 #### 启动或重启 PostgreSQL 服务 根据不同的 Linux 发行版和服务管理工具,可以采用以下任一命令来重启 PostgreSQL 服务器,使新的认证策略生效。 对于使用 systemd 的系统: ```bash sudo systemctl restart postgresql ``` 对于较旧版本或其他类型的 Unix-like 系统,则可能是这样的命令: ```bash sudo service postgresql restart ``` #### 登录数据库并重设密码 现在可以通过 psql 客户端程序无密钥地作为超级用户登录到 PostgreSQL 实例中去执行必要的 SQL 命令来进行密码变更。 ```bash sudo -u postgres psql ``` 一旦进入交互模式下,就可以通过 ALTER ROLE 来改变目标用户密码了;这里假设要给默认创建出来的名为 "postgres" 的角色设定新密码: ```sql ALTER ROLE postgres PASSWORD 'new_secure_password'; ``` 记得替换 `'new_secure_password'` 成一个强健且不易被猜测的新密码字符串! 退出 psql 终端返回 shell 提示符处。 #### 恢复原始的安全性设置 最后一步是要把之前调整过的 `pg_hba.conf` 中有关身份验证的方法参数重新变更为原来的值 (`md5`, `scram-sha-256`) ,从而再次启用基于密码的身份验证机制,并让这些改动即时应用起来。 重复上述提到的相关指令序列,但这次要把 METHOD 设置成更加严格的选项之一,比如 md5 或 scram-sha-256: ``` # TYPE DATABASE USER ADDRESS METHOD local all postgres md5 ``` 再运行一次相应的服务控制命令使得最新的配置得到加载。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值