更新时间:2024-11-29 GMT+08:00

锁定及解锁用户

系统支持自动或手动锁定及解锁某用户的功能,可设置用户密码错误超过一定次数时,自动锁定,及被锁定的时间超过设定值后,自动解锁。

默认密码错误超过10次(failed_login_attempts)时自动锁定,锁定时间超过1天(password_lock_time)后自动解锁,也可以根据如下方法设置默认值及手动锁定和解锁用户。

自动锁定及解锁阈值设置

  1. 以操作系统用户omm登录数据库主节点。
  2. 执行如下命令启动环境变量。

    source ${MOTSERVER_HOME}/.motservice_profile

  3. 使用如下命令连接数据库。

    gsql -d postgres -p 20105 -W 数据库密码

  1. 查看阈值。

    • 查看已配置的用户密码错误次数阈值。

      SHOW failed_login_attempts;

    • 查看已配置的自动解锁时间阈值。

      SHOW password_lock_time;

  1. 执行如下命令设置阈值。

    • 设置自动锁定密码错误次数阈值

      gs_guc reload -D $GAUSSDATA -c "failed_login_attempts=密码错误次数阈值"

    • 设置自动解锁时间阈值

      gs_guc reload -N all -I all -c "password_lock_time=自动解锁时间阈值"

  • failed_login_attempts:密码错误次数,默认10次,最小值为0,最大值为1000。设置为“0”时,表示自动锁定功能不生效。
  • password_lock_time:锁定用户后自动解锁的时间,默认1天。整数部分表示天数,小数部分可以换算成时、分、秒,如password_lock_time=1.5,表示1天零12小时。设置为“0”时,表示自动锁定功能不生效。

因此,只有两个配置参数都为正数时,才可以进行常规的密码失败检查、用户锁定和解锁操作。用户可以根据需要重新设置参数,提高安全等级。建议用户使用默认值。

手动锁定及解锁用户

  1. 以操作系统用户omm登录数据库主节点。
  2. 执行如下命令启动环境变量。

    source ${MOTSERVER_HOME}/.motservice_profile

  3. 使用如下命令连接数据库。

    gsql -d postgres -p 20105 -W 数据库密码

  4. 锁定或解锁指定用户。

    • 执行以下命令锁定用户

      openGauss=# ALTER USER 要锁定的用户名 ACCOUNT LOCK;

      ALTER ROLE

    • 执行以下命令解锁用户:

      openGauss=# ALTER USER 要解锁的用户名 ACCOUNT UNLOCK;

      ALTER ROLE