下图为服务器为centos服务器中postgresql数据库,通过其他服务器navicat远程连接,navicat填写的IP为内网服务器IP😐
show shared_preload_libraries;//密码策略
有shared_preload_libraries = ' pg_stat_statements,passwordcheck'才行(没有密码策略就只会有前面的这个即pg_stat_statements)
Passwordcheck代表的密码策略如下:
1.密码长度至少为8位
2.密码中必须同时包含字母和非字母(非字母可以是数字或特殊字符)
3.密码中不能包含用户名
Select * from pg_shadow;//查看密码加密方式
下图为md加密
select * from pg_user; //密码有效期
通过命令查看字段valuntil,即可查看密码有效期
select * from pg_settings ps where ps.name like '%timeout%'; //登录超时
查看字段idle_in_transaction_session_time即为会话超时时间
我的测评的服务器是centos然后利用navicat连接的postgresql数据库,于是在centos服务器中输入命令find / -name postgresql,即可找到postgresql数据库对应的路径,找到其中的配置文件路径conf
查看pgpresql.conf配置文件,cat pgpresql.conf//登录失败
找到参数share_prelload_libraries若为空,将该参数的参数值中加入auth_delay模块,同时找到auth_delay.milliseconds参数,设置延迟时间,单位为毫秒,示例5000代表5秒,若文件中没有该参数,添加即可,10分钟则为5000*12*10=6000000
shared_preload_libraries = 'auth_delay'
auth_delay.milliseconds='5000'
如图代表没有设置登录失败策略,该文档是复制的服务器中postgresql数据库配置文件
show * from pg_roles;//查找用户权限
rolname:角色名称
rolsuper:角色拥有超级管理员权限
rolcreaterole:角色可以创建更多角色
rolcreatedb:角色可以创建数据库
show ssl//查看是否启用ssl协议
show logging_collector//查看是否开启日志
show log_directory//查看日志路径
如图代表为默认位置,可通过前面这个命令find / -name 查询到postgresql数据库的路径来找到对应的日志
Show server_version//查找数据库版本