文章目录
- 环境
- 文档用途
- 详细信息
环境
系统平台:N/A
版本:4.5.10,4.5.9,4.5.8,4.5.7,4.5.6,4.5.1
文档用途
本文介绍了HGDB安全版单机如何修改用户密码
详细信息
日常工作,有时候用户需要修改数据库密码,或者因为输入错误密码次数过多,导致了用户被锁,在安全版,用户分为三权用户和普通用户,当三权打开时,忘记普通用户密码后,可以使用syssso用户修改,如果三权未打开,所有用户可以用sysdba用户修改密码,syssso无权修改用户密码。
三权用户忘记密码处理方法见第二个步骤,该方法可以修改任意用户的密码,但需要停止数据库,需要向客户申请停机时间。
查询三权是否打开
highgo=>selectshow_secure_param();show_secure_param-----------------------------------------hg_sepofpowers=on,+hg_macontrol=min,+hg_rowsecure=off,+hg_showlogininfo=off,+hg_clientnoinput=0min(s),+hg_idcheck.enable=on,+hg_idcheck.pwdlock=5time(s),+hg_idcheck.pwdlocktime=24hour(s),+hg_idcheck.pwdvaliduntil=0day(s),+hg_idcheck.pwdpolicy=high,+hg_sepv4=v4,+hg_sepofpowers为on时三权打开,off为三权关闭,三权打开时,修改普通用户密码使用syssso用户,关闭时使用sysdba用户,修改普通用户密码
查看用户名:
\du highgo=>\du 角色列表 角色名称|属性|成员属于----------+-----------------------------------+----------sddw|密码有效直至infinity|{} sysdba|没有继承,建立角色,建立 DB,复制+|{}|密码有效直至infinity|syssao|没有继承+|{}|密码有效直至infinity|syssso|没有继承+|{}|密码有效直至infinity|test|密码有效直至infinity|{} yao|超级用户+|{}|密码有效直至infinity|yao1||{}或者
highgo=# \duListofroles Role name|Attributes|Memberof-----------+-----------------------------------------------------+-----------sysdba|Noinheritance,Createrole,CreateDB,Replication+|{}|Password valid until infinity|syssao|Noinheritance+|{}|Password valid until infinity|syssso|Noinheritance+|{}|Password valid until infinity|test|Password valid until infinity|{}1、修改用户密码
使用syssso或者sysdba用户修改普通用户密码或者登录用户修改自己的密码
----syssso用户登录psql-U syssso 查看三权是否打开:selectshow_secure_param();---退出\q 如三权打开,可以使用syssso修改普通用户密码,三权用户的密码只能自己修改 如三权未打开,使用sysdba用户可以修改所有用户的密码 无论三权是否打开,用户都可以修改自己的密码---sysdba用户登录psql-U sysdba----修改用户密码alteruser用户 password'新密码';如alteruserywcl password'随机密码';如果用户名有大小写,需要把用户名用双引号选中,双引号中区分大小写:alteruser"YWCL"password'随机密码';alteruser"Test"password'随机密码';三权打开时, 解锁用户(用户名区分大小写):selectuser_unlock('用户名');2、三权用户密码忘记时修改用户密码
修改三权用户密码:
该方法需要停止数据库,无法进行业务,只能在特殊情况下使用,如以下情况:
(1)在syssso密码忘记且需要使用的普通用户密码忘记或者被锁
(2)三权用户密码(sysdba、syssao、syssso)用户密码忘记,且需要使用的时候
步骤如下:
(1)停止数据库(与客户确认停库时间,确认可以停止数据库后停止)
----关闭数据库pg_ctl stop---进入单用户模式postgres--single -D $PGDATA highgo---修改用户密码alteruser用户 password'密码';退出ctrl-D注意,这样修改后用户的有效期不显示,为永久有效,
退出单用户模式使用键盘的Ctrl加D,单用户模式修改密码成功没有任何提示,
再次执行一遍修改同样的密码,报ERROR: The password cannot be the same as the old password.
修改密码完成,退出单用户模式
启动数据库,使用修改的密码登录,确认修改成功
---启动数据库pg_ctlstart--用户使用新密码尝试登录psql-U 用户名附:密码复杂度建议
长度:至少10位
组成:大写字母(A-Z)、小写字母(a-z)、数字(0-9)、特殊字符(!@#$%^&*等)
避免:常见词汇、生日、连续数字、简单重复字符
注意:请妥善保管新密码,避免泄露。