PostgresQL 是否有任何默认密码策略?

Does PostgresSQL have any default password policy?

我环顾四周,没有找到 PostgreSQL 的基本密码要求(如果有的话)。即允许的字符、长度、大小写等...

有人能告诉我这些吗?

谢谢

你能在服务器上做的最好的事情就是使用 passwordcheck contrib 模块。您可能需要对其进行破解才能满足您的需求。

但是,这通常无法强制执行密码策略,因为 服务器永远不会看到明文密码,除非您使用

更改它
ALTER ROLE xy PASSWORD 'clear_text';

推荐。使用 psql\password 命令等工具更改密码会在将密码 发送到服务器之前对密码进行散列 ,因此服务器无法强制执行任何密码规则。

您将不得不检查客户端上的 密码 ,但客户端自然不受您的控制,除非您严格限制人们可以在他们的机器上做什么(以及人们通常会找到绕过此类限制的方法)。

所以真的没有办法如愿以偿

可以做的是在 passwordcheck 模块中启用 cracklib,这样可以根据字典测试散列密码。

为了良好的安全性,请使用 LDAP 或 Kerberos 身份验证之类的东西并在那里实施您的密码策略。