赞
踩
PostgreSQL数据库密码复杂度设置可以通过安装passwordcheck扩展插件来实现,该插件默认的密码复杂度规则是密码长度必须大于等于8、必须包含字母和非字母、密码不能包含用户名。如果这些规则仍然不能满足你的密码强度要求,那么还可以安装cracklib以及字典来提高密码强度。
passwordcheck扩展插件就包含在PostgreSQL数据库的源码安装包中,所以你需要先下载与你数据库版本一致的安装包。
安装包下载地址:http://www.postgresql.org/ftp/source/
# 解压安装包
tar -zxvf postgresql-14.7.tar.gz
解压后的postgresql-14.7/contrib/passwordcheck目录就是passwordcheck插件的文件目录
如果passwordcheck插件的默认密码规则无法满足你的需求,那么你需要本步操作,安装cracklib以及字典。
yum install –y cracklib-devel cracklib-dicts cracklib
进入postgresql的源安装包文件夹,进入contrib目录,找到passwordcheck文件夹
cd postgresql-14.7/contrib/passwordcheck
编辑修改passwordcheck.c文件中的MIN_PWD_LENGTH,可根据实际需要更改最小密码长度,默认值为8,建议更改为20或更大。注意:此处的#号并非注释,不要去掉。
修改Makefile文件, 把下图红框的2行注释去掉, 并修改字典文件和路径(文件不要带.pwd后缀,如下图)。如果你不知道cracklib_dict文件的路径。可以使用find命令查询,请确保路径正确。
find / -name cracklib_dict*
使用make命令编译安装插件。
make && make install
打开${PGDATA?}/postgresql.conf文件,修改shared_preload_libraries参数以包含’passwordcheck’,重启数据库。
# 注意配置文件路径
vi /pgsql/postgresql/data/postgresql.conf
创建用户测试密码复杂度是否设置成功。提示下图的“ERROR: password is too short”表示设置成功。
create user admin001 with password '123abc';
设置密码复杂度时注意路径和权限,根据报错排查问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。