postgresql查看⽤户密码_PostgreSQL中如何实现密码复杂度
检查
PostgreSQL⾃带了⼀个插件passwordcheck可以满⾜简单的密码复杂度测验, 防⽌使⽤过短, 或者与包含⽤户名的密码,只需要
把’$libdir/passwordcheck’加⼊到f的shared_preload_libraries参数中,然后重启服务器即可,只要通过CREATE ROLE或ALTER ROLE设置⽤户,passwordcheck模块就会检查⽤户的⼝令,如
下:
postgres=# create role test password 'Test#2020';
养胃吃什么食物最好CREATE ROLE为什么无线路由器连不上网
postgres=# alter role test password 'test#2020';
ERROR: password must not contain user name
postgres=# alter role test password 'tes12020';
ALTER ROLE
postgres=# alter role test password '2020';
北京艺考培训中心ERROR: password is too short
postgres=# alter role test password '2020abc';
ERROR: password is too short
postgres=# alter role test password '2020abcd';
ALTER ROLE
postgres=# alter role test password '12345678';
ERROR: password must contain both letters and nonletters
postgres=# alter role test password '';
ERROR: password is too short
postgres=# alter role test password 'abcdffgh';
ERROR: password must contain both letters and nonletters
如果需要实现更复杂的密码检查, 可以让passwordcheck使⽤CrackLib来检查⼝令。
安装过程如下:
1. 安装cracklib以及字典
yum install -y cracklib-devel cracklib-dicts cracklib
1. 检查安装
# rpm -ql cracklib-dicts
/usr/lib64/cracklib_dict.hwm
/usr/lib64/cracklib_dict.pwd
/usr/lib64/cracklib_dict.pwi
/usr/sbin/mkdict
/usr/sbin/packer
/usr/share/cracklib
/usr/share/cracklib/cracklib-small.hwm
/usr/share/cracklib/cracklib-small.pwd
/
usr/share/cracklib/cracklib-small.pwi
/usr/share/cracklib/pw_dict.hwm
/usr/share/cracklib/pw_dict.pwd
/usr/share/cracklib/pw_dict.pwi
1. 如果需要⾃⼰配置⽣成字典,包括此步骤,否则可跳过
[root@test ~]# mkdir /opt/src
[root@test ~]# cd /opt/src
[root@test src]# wget downloads.sourceforge/project/cracklib/cracklib-words/ [root@test src]#
#可以到cracklib-words-20080507添加需要排除的密码,如不允许使⽤Twsm_20200917密码
[root@test src]# echo 'Twsm_20200917' >> cracklib-words-20080507
[root@test src]# create-cracklib-dict -o ./cracklib-dict ./cracklib-words-20080507
1. 下载PostgreSQL源码,配置passwordcheck
如果当前的PG⾮源码安装,或者以前编译源码已清理,需要重新下载对应的PG源码版本
[root@test src]# wget /pub/source/v10.14/postgresql-10.14.tar.bz2
[root@test src]# tar xjvf postgresql-10.14.tar.bz2
[root@test src]# cd /opt/src/postgresql-10.14/contrib/passwordcheck/
#修改Makefile, 把注释去掉, 并修改字典⽂件(不要带.pwd后缀).
对此可以酣高楼[root@test passwordcheck]# vi Makefile
#把下⾯两⾏注释去掉
十大名牌奶粉#修改字典⽂件/usr/lib/cracklib_dict为步骤3⽣产的字典
PG_CPPFLAGS = -DUSE_CRACKLIB '-DCRACKLIB_DICTPATH="/opt/src/cracklib-dict"'
SHLIB_LINK = -lcrack蜗牛养殖
#修改需要的密码最⼩长度,修改为13
[root@test passwordcheck]# vi passwordcheck.c
#define MIN_PWD_LENGTH 13
1. 编译passwordcheck
...
接下来内容请点击【原⽂】进⾏查看~
更多数据库相关内容,可访问【墨天轮】进⾏浏览。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论