梁敬彬梁敬弘兄弟出品
达梦数据库系统提供了完善的用户口令策略管理功能,允许管理员对密码的复杂度、有效期等进行控制,以增强数据库系统的安全性。本文详细介绍达梦数据库的用户口令策略设置及使用方法。
一、用户口令基本信息
达梦数据库对用户密码有以下基本规定:
用户密码最长为48个字节
可以通过创建用户语句中的PASSWORD POLICY子句指定口令策略
二、系统支持的口令策略
达梦数据库通过配置文件DM.INI中的PWD_POLICY参数来设置系统级口令策略。系统支持的口令策略包括:
策略值 含义
0 无策略
1 禁止与用户名相同
2 口令长度不小于9
4 至少包含一个大写字母(A-Z)
8 至少包含一个数字(0-9)
16 至少包含一个标点符号(英文状态输入,除"和空格外)
三、口令策略的组合应用
口令策略可以单独使用,也可以组合应用。组合策略的值是各个单独策略值的和。
例如:
如需同时应用策略4和8(要求密码至少包含一个大写字母和一个数字),则设置口令策略为4+8=12
如需同时应用策略1、2和4(禁止与用户名相同、长度不小于9、至少包含一个大写字母),则设置口令策略为1+2+4=7
需要注意的是,策略值3虽然没有单独列出,但它其实代表了1+2=3,即同时支持"禁止与用户名相同"和"口令长度不小于9"这两个策略。类似地,其它组合值也是各单独策略值的简单相加。
四、实际测试示例
尝试使用口令策略创建用户:
SQL> create user dmuser identified by DAMENG123 PASSWORD_POLICY 7;
create user dmuser identified by DAMENG123 PASSWORD_POLICY 7;
第1 行附近出现错误[-5630]:非安全版本不能进行此操作.
已用时间: 0.997(毫秒). 执行号:0.
从测试结果可以看出,口令策略功能在非安全版本的达梦数据库中不可用,必须使用安全版数据库才能支持此功能。
五、安全增强建议
虽然本文展示的测试环境不支持口令策略功能,但在实际生产环境中,如果使用达梦数据库的安全版本,建议采用以下口令策略最佳实践:
对重要系统,建议设置较高级别的组合策略,如值为31(1+2+4+8+16),即要求密码:
不能与用户名相同
长度不小于9
至少包含一个大写字母
至少包含一个数字
至少包含一个标点符号
对普通系统,可以设置中等级别的组合策略,如值为15(1+2+4+8),要求密码:
不能与用户名相同
长度不小于9
至少包含一个大写字母
至少包含一个数字
总结
达梦数据库提供了灵活的口令策略设置功能,通过不同策略的组合应用,可以有效增强数据库系统的安全性。需要注意的是,此功能仅在达梦数据库的安全版本中可用,在非安全版本中不能进行此操作。
在实际应用中,应根据系统的安全需求,选择合适的口令策略组合,以在保证用户使用便捷性的同时,最大限度地保护数据库安全。
国内一线知名数据库专家、畅销书《收获,不止Oracle》作者梁敬彬老师,做客【达梦会客厅】
公众号:收获不止数据库