瀚高数据库解锁
HighGo瀚高數據庫用戶密碼安全策略
HigoGo默認創建的用戶是有有效期的,默認只有5次失敗重試和7天有效期
管理員登錄
$ psql -U highgo -d highgo
highgo=#
查看安全策略配置
highgo=# select show_secure_param();
? ? ? ? ? ?show_secure_param ? ? ? ? ??
---------------------------------------
?hg_idcheck.pwdlock = 5 time(s), ? ? ?+
?hg_idcheck.pwdlocktime = 24 hour(s), +
?hg_idcheck.pwdvaliduntil = 7 day(s), +
查看用戶密碼有效期(要用管理員賬號登錄)
$ psql -U highgo -d highgo
highgo=# select * from pg_shadow where usename='test';
?usename | usesysid | usecreatedb | usesuper | userepl | usebypassrls | ? ? ? ? ? ? ? passwd ? ? ? ? ? ? ? ?| ? ? ? ? ? valuntil ? ? ? ? ? ?| useconfig?
---------+----------+-------------+----------+---------+--------------+-------------------------------------+-------------------------------+-----------
?test ? ?| ? ?16384 | f ? ? ? ? ? | f ? ? ? ?| f ? ? ? | f ? ? ? ? ? ?| md5986bd3b1dd894221851efd79376f7d8a | 2021-10-22 02:54:43.356614+08 |?
密碼過期后的解鎖
方法1)管理員用戶登錄對指定鎖定的用戶進行解鎖操作
$ psql -U highgo
highgo=# select user_unlock('test');
方法2)用戶本地登錄,alter修改自己的密碼后,有效期會自動重置。因此,通過修改用戶密碼,也能達到解鎖效果
$ psql -U test -d testdb01
testdb01=> alter user test with encrypted password 'xxx';
highgo=# select * from pg_shadow where usename='test';
?usename | usesysid | usecreatedb | usesuper | userepl | usebypassrls | ? ? ? ? ? ? ? passwd ? ? ? ? ? ? ? ?| ? ? ? ? ? valuntil ? ? ? ? ? ?| useconfig?
---------+----------+-------------+----------+---------+--------------+-------------------------------------+-------------------------------+-----------
?test ? ?| ? ?16384 | f ? ? ? ? ? | f ? ? ? ?| f ? ? ? | f ? ? ? ? ? ?| md53f666a86359cee35648f33918c41aae9 | 2021-10-22 18:23:10.041647+08 |?
最好在initdb完成后就查看&修改默認的安全策略,默認密碼過期時間只有7天
$ psql -U highgo
select show_secure_param();
select set_secure_param('hg_idcheck.pwdlock','10');
select set_secure_param('hg_idcheck.pwdlocktime','2D');
select set_secure_param('hg_idcheck.pwdvaliduntil','365');
highgo=# select show_secure_param(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? show_secure_param ? ? ? ? ? ?
-----------------------------------------
?hg_idcheck.pwdlock = 10 time(s), ? ? ? +
?hg_idcheck.pwdlocktime = 2 day(s), ? ? +
?hg_idcheck.pwdvaliduntil = 365 day(s), +
如果針對已存在的用戶修改有效期:
alter user highgo with valid until '2025-12-30';
alter user test with valid until '2022-12-30';
highgo=# select * from pg_shadow where usename='test' or usename='highgo';
?usename | usesysid | usecreatedb | usesuper | userepl | usebypassrls | ? ? ? ? ? ? ? passwd ? ? ? ? ? ? ? ?| ? ? ? ?valuntil ? ? ? ?| useconfig?
---------+----------+-------------+----------+---------+--------------+-------------------------------------+------------------------+-----------
?highgo ?| ? ? ? 10 | t ? ? ? ? ? | t ? ? ? ?| t ? ? ? | t ? ? ? ? ? ?| md5233ff6aa4fd7d77a02f8650fbbcb72c7 | 2025-12-30 00:00:00+08 |?
?test ? ?| ? ?16384 | f ? ? ? ? ? | f ? ? ? ?| f ? ? ? | f ? ? ? ? ? ?| md53f666a86359cee35648f33918c41aae9 | 2022-12-30 00:00:00+08 |?
設置密碼永不過期
alter user highgo with valid until 'infinity';
highgo=# select * from pg_shadow where usename='test' or usename='highgo';
?usename | usesysid | usecreatedb | usesuper | userepl | usebypassrls | ? ? ? ? ? ? ? passwd ? ? ? ? ? ? ? ?| ? ? ? ?valuntil ? ? ? ?| useconfig?
---------+----------+-------------+----------+---------+--------------+-------------------------------------+------------------------+-----------
?test ? ?| ? ?16384 | f ? ? ? ? ? | f ? ? ? ?| f ? ? ? | f ? ? ? ? ? ?| md53f666a86359cee35648f33918c41aae9 | 2022-12-30 00:00:00+08 |?
?highgo ?| ? ? ? 10 | t ? ? ? ? ? | t ? ? ? ?| t ? ? ? | t ? ? ? ? ? ?| md5233ff6aa4fd7d77a02f8650fbbcb72c7 | infinity ? ? ? ? ? ? ? |?
————————————————
版權聲明:本文為CSDN博主「sunny05296」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/sunny05296/article/details/120780379
總結
- 上一篇: Kubernetes之(十七)网络模型和
- 下一篇: 汽车 ECU 升级初探