达梦的用户口令策略及限制

梁敬彬梁敬弘兄弟出品

达梦数据库系统提供了完善的用户口令策略管理功能,允许管理员对密码的复杂度、有效期等进行控制,以增强数据库系统的安全性。本文详细介绍达梦数据库的用户口令策略设置及使用方法。

一、用户口令基本信息

达梦数据库对用户密码有以下基本规定:

用户密码最长为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》作者梁敬彬老师,做客【达梦会客厅】

公众号:收获不止数据库

系列回顾
“大白话人工智能” 系列
“数据库拍案惊奇” 系列
“世事洞明皆学问” 系列

### 达梦数据库用户权限设置与管理方法 达梦数据库(DM Database)的用户权限管理是其安全体系的重要组成部分。以下是关于用户权限设置和管理的具体方法: #### 1. 操作系统级别的用户和组创建 在安装达梦数据库之前,需要在操作系统上创建相应的用户和组以支持数据库的安全运行。根据引用内容,需创建以下用户组[^2]: - **dmdba**:对应数据库中的 SYSDBA 角色,负责数据库的最高权限管理。 - **dmsso**:对应 SYSSSO 角色,用于单点登录功能。 - **dmauditor**:对应 SYSAUDITOR 角色,用于审计功能。 - **dmusers**:普通用户组。 如果仅需要基于操作系统的本地验证登录,则只需创建 dmdba 用户组即可。 #### 2. 数据库用户创建 通过 SQL 命令可以创建数据库用户并分配权限。以下是具体步骤[^3]: ```sql -- 创建用户 CREATE USER USER_NAME; -- 授予 DBA 角色 GRANT DBA TO USER_NAME; -- 设置用户密码 ALTER USER USER_NAME IDENTIFIED BY "用户口令"; -- 设置默认表空间 ALTER USER USER_NAME DEFAULT TABLESPACE "表空间名"; -- 设置索引表空间 ALTER USER USER_NAME DEFAULT INDEX TABLESPACE "表空间名"; ``` #### 3. 用户权限分配 用户权限可以通过 `GRANT` 和 `REVOKE` 命令进行分配和回收。例如,为用户授予查询、插入、删除和更新视图的权限[^4]: ```sql -- 授予用户 BOOKSHOP_USER1 对视图 V_PRODUCT 的权限 GRANT SELECT, INSERT, UPDATE, DELETE ON V_PRODUCT TO BOOKSHOP_USER1; -- 将 BOOKSHOP_USER2 和 BOOKSHOP_USER3 的权限交由 BOOKSHOP_USER1 控制 GRANT SELECT, INSERT, UPDATE, DELETE ON V_PRODUCT TO BOOKSHOP_USER2, BOOKSHOP_USER3 WITH GRANT OPTION; ``` #### 4. 密码策略管理 为了确保数据库的安全性,建议对用户的密码策略进行调整。默认情况下,密码可能具有有效期限制,需通过以下命令修改[^3]: ```sql -- 修改用户 SYSSSO 的密码策略 ALTER USER "SYSSSO" LIMIT FAILED_LOGIN_ATTEMPS UNLIMITED; ALTER USER "SYSSSO" LIMIT PASSWORD_LIFE_TIME UNLIMITED; ALTER USER "SYSSSO" LIMIT PASSWORD_LOCK_TIME UNLIMITED; -- 修改用户 SYSDBA 的密码策略 ALTER USER "SYSDBA" LIMIT FAILED_LOGIN_ATTEMPS UNLIMITED; ALTER USER "SYSDBA" LIMIT PASSWORD_LIFE_TIME UNLIMITED; ALTER USER "SYSDBA" LIMIT PASSWORD_LOCK_TIME UNLIMITED; ``` #### 5. 角色管理 达梦数据库中预定义了多个角色,包括 SYSDBA、SYSSSO 和 SYSAUDITOR 等。角色管理可以通过以下命令实现[^4]: ```sql -- 授予角色 GRANT SYSDBA TO USER_NAME; -- 回收角色 REVOKE SYSDBA FROM USER_NAME; ``` ### 注意事项 - 在创建用户时,确保为其分配合适的表空间和索引表空间,以避免存储空间不足的问题[^3]。 - 密码策略的调整需根据实际需求进行,避免因过于宽松的策略导致安全隐患。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

收获不止数据库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值