PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 附录 F. 额外提供的模块 | 下一页

# F.23. passwordcheck

无论用户是否设置CREATE ROLE或ALTER ROLE，`passwordcheck`模块都会检查用户的密码。如果系统认为密码太弱， 那么将拒绝该密码，并且正在执行的命令会被终止，并带有错误信息。

要启用这个模块，在`postgresql.conf`中添加 `'$libdir/passwordcheck'`到shared_preload_libraries， 然后重启服务器。

你可以通过改变这个模块的源码使其调整为你所需要的样子。例如，你可以使用 CrackLib 检查密码—这只需要在`Makefile`文件中取消两行的注释， 并重新编译该模块。（因为许可证的原因，我们缺省不能包括CrackLib。） 没有CrackLib，该模块为密码强度强制制定一些简单的规则， 这些规则可以根据你认为合适的去修改或扩展。

小心
为了阻止未加密的口令通过网络发送出去，或被写到服务器日志，或被数据库管理员偷走， PostgreSQL允许用户提供预先加密的口令。 许多客户端程序使用这个功能，并在发送到服务器之前加密口令。 这会限制`passwordcheck`模块的有用性，因为那种情况下只能尝试猜测口令。 因为这个原因，如果你的安全需求比较高，那么不建议使用`passwordcheck`。 使用一个额外的认证方法（如GSSAPI）(参阅 第 19 章) 比依赖于数据库中的密码更安全。 或者，你可以修改`passwordcheck`来拒绝预先加密的口令， 但是强制用户以明文的方式设置他们的口令有其自身的安全风险。

上一页 | 起始页 | 下一页
pageinspect | 上一级 | pg_buffercache