PostgreSQL - 密码更改后的到期日期值
PostgreSQL - Expiry date value AFTER password is changed
我们公司制定了定期更改密码的政策,这可以使用 UNIX O/S 命令轻松完成。他们有套路,对长度、最小位数等有严格要求,还有有效期提示修改密码,改密码时设置新的有效期。
我们正在使用 PostgreSQL 10 数据库,并且也想为其中的 ODBC 用户帐户设置到期日期。我知道有 ALTER USER {username} VALID UNTIL {date}
选项。我担心的一个问题是,如果用户(或任何人)发出 \password
命令,我们设置的到期日期会发生什么变化。我似乎找不到任何地方提到的。
示例:3月4日,我设置用户“odbcuser”,设置密码有效期至7月4日。7月1日,用户发出\password odbcuser
,设置新密码。 VALID UNTIL
是否仍设置为 7 月 4 日,或者该值是否重置为 NULL 或无穷大?还是三天后就过期了,刚刚改了密码?
足够容易测试:
create role pwd_valid with password '1234' valid until '08/09/2020';
rolname rolvaliduntil
------- -------------
pwd_valid 08/09/2020 00:00:00 PDT
alter role pwd_valid with password 'testpass';
rolname rolvaliduntil
------- -------------
pwd_valid 08/09/2020 00:00:00 PDT
所以到期日期保持不变。
谢谢阿德里安,
有趣的是你提到了这一点。在发布我的问题后,我做了那个测试并确认我使用的 PostgreSQL 10 没有改变 valuntil 列。但我想我会留下这个问题,以防有人对这个主题有一些额外的了解。好像 PG12 或其他我没有发现的变化。
我猜 pg_ 系统表之一也没有设置说明上次更改密码是什么时候?
因为即使设置了有效期,我也不知道是否有人更改了密码。我必须制定一个密码程序来更改密码并将有效期重置为现在 + 180 天。
我们公司制定了定期更改密码的政策,这可以使用 UNIX O/S 命令轻松完成。他们有套路,对长度、最小位数等有严格要求,还有有效期提示修改密码,改密码时设置新的有效期。
我们正在使用 PostgreSQL 10 数据库,并且也想为其中的 ODBC 用户帐户设置到期日期。我知道有 ALTER USER {username} VALID UNTIL {date}
选项。我担心的一个问题是,如果用户(或任何人)发出 \password
命令,我们设置的到期日期会发生什么变化。我似乎找不到任何地方提到的。
示例:3月4日,我设置用户“odbcuser”,设置密码有效期至7月4日。7月1日,用户发出\password odbcuser
,设置新密码。 VALID UNTIL
是否仍设置为 7 月 4 日,或者该值是否重置为 NULL 或无穷大?还是三天后就过期了,刚刚改了密码?
足够容易测试:
create role pwd_valid with password '1234' valid until '08/09/2020';
rolname rolvaliduntil
------- -------------
pwd_valid 08/09/2020 00:00:00 PDT
alter role pwd_valid with password 'testpass';
rolname rolvaliduntil
------- -------------
pwd_valid 08/09/2020 00:00:00 PDT
所以到期日期保持不变。
谢谢阿德里安,
有趣的是你提到了这一点。在发布我的问题后,我做了那个测试并确认我使用的 PostgreSQL 10 没有改变 valuntil 列。但我想我会留下这个问题,以防有人对这个主题有一些额外的了解。好像 PG12 或其他我没有发现的变化。
我猜 pg_ 系统表之一也没有设置说明上次更改密码是什么时候?
因为即使设置了有效期,我也不知道是否有人更改了密码。我必须制定一个密码程序来更改密码并将有效期重置为现在 + 180 天。