M 普通版本默认三权分立,默认创建如下用户:
SYSDBA:数据库管理员
SYSAUDITOR:数据库审计员,设置数据库审计功能
SYSSSO:数据库安全员
SYS:内置用户,不能直接登录
安全版本会增加 SYSDBO(安全操作员)

 

系统支持的口令策略有:
0 无策略
1 禁止与用户名相同
2 口令长度不小于 9
4 至少包含一个大写字母(A-Z)
8 至少包含一个数字(0-9)
16 至少包含一个标点符号(英文输入法状态下,除“和空格外的所有符号)

 

select * from v$dm_ini t where t.para_name like 'PWD_POLICY';
设置系统口令策略:
sp_set_para_value(1,'PWD_POLICY', 15);

 

安全版本支持对单个用户设置口令策略。

 

 

创建用户,注意密码复杂度要满足系统口令策略。
create user hrtest identified by Dameng123;

 

达梦 docker 权限 达梦默认sysdba用户密码_数据库

 

系统口令策略只对新用户生效:
select t.PASSWORD_VERSIONS, t.USERNAME from dba_users t;

 

达梦 docker 权限 达梦默认sysdba用户密码_IP_02

 

创建用户时需规划:
规划用户名、密码、密码复杂度
数据存储(默认表空间)、权限、资源限制、连接限制等
默认用户登录失败三次,则用户会被锁定。

达梦 docker 权限 达梦默认sysdba用户密码_IP_03

 

达梦 docker 权限 达梦默认sysdba用户密码_权限管理_04

 

相关数据字典:
select * from dba_users;
select * from SYSUSERS;
修改用户默认表空间:
alter user hrtest DEFAULT TABLESPACE tbs DEFAULT INDEX TABLESPACE
TBSTEST;
修改用户密码(用户默认可以修改自己的密码,如果要修改其他用户的密码需要有 alter user
的权限):
alter user hrtest IDENTIFIED by Dameng345;
用户资源使用限制(限制登录失败次数和锁定时长)
alter user hrtest limit FAILED_LOGIN_ATTEMPS 5, PASSWORD_LOCK_TIME  10;

 

oracle使用PROFILE文件管理用户资源
alter profile default limit failed_login_attempts 5;
限制登录 IP(设置白名单和黑名单):
alter user hrtest ALLOW_IP "127.0.0.1";
取消登录 IP 限制:
alter user hrtest ALLOW_IP null;
解锁/锁定用户:
alter user hrtest ACCOUNT unlock;
alter user hrtest ACCOUNT lock;
删除用户(默认用户下如果存在对象不能直接删除,需要增加 cascade 关键字级联删除,生产
环境需慎用 cascade 关键字):
drop user hrtest;
drop user hrtest cascade;

 

权限管理

查询当前用户当前会话的权限:
select * from  session_privs;
权限相关数据字典:
select * from DBA_ROLE_PRIVS t where T.GRANTEE ='R1';
select * from DBA_SYS_PRIVS t where T.GRANTEE ='R1';
select * from dba_tab_privs t where T.GRANTEE ='R1';
select * from sysgrants;
用户的权限管理和角色的权限管理相同,参考角色权限管理。
赋予查询某张表的某个字段的权限:
grant select(department_id, department_name) on dmhr.department to
hrtest;
select * from dba_COL_PRIVS;

 

 

用户的权限管理和角色的权限管理相同,参考角色权限管理。
赋予查询某张表的某个字段的权限:
grant select(department_id, department_name) on dmhr.department to
hrtest;
select * from dba_COL_PRIVS;

 

角色管理

 

默认 DM 创建的角色:
DBA:管理员,几乎拥有创建数据库的所有权限,但没有审计数据库和指定强制访问控制的
权限。
RESOURCE:具有在自己模式下创建表、视图等对象的权限,也具有操作自己模式下对象数
据的权限。
PUBLIC:具有在自己模式下操作数据的权限(增删改查表等)。
SOI:查询系统表的权限(SYS 开头的表);
VTI:具有查询动态视图(V$开头的视图)。

 

角色相关数据字典:
select * from DBA_ROLES;
创建角色
create role r1;
角色权限管理
赋予系统权限(数据库权限):
grant create table to r1;
grant create index to r1 with admin option;
回收系统权限:
revoke create table from r1;

 

赋予对象权限:
grant SELECT on dmhr.employee to r1;
grant select on dba_tablespaces to r1 with GRANT option;
回收对象权限:
revoke SELECT on dmhr.employee from r1;
revoke SELECT on dmhr.employee from r1 CASCADE;

 

赋予对象权限时使用了 grant option,权限回收时需要增加 cascade 级联回收对象权限。

 

达梦 docker 权限 达梦默认sysdba用户密码_数据库_05

赋予角色权限:
grant vti to r1;
回收角色权限:
revoke vti from r1;

角色禁用对应的权限将不在生效(拥有该角色的用户此角色权限不再生效)。

sp_set_role('R1',0);

达梦 docker 权限 达梦默认sysdba用户密码_数据库_06

当用户 HRUSER 同时拥有 CREATE TABLE 权限和 R2 角色权限(R2 具有 CREATE TABLE
权限),此时禁用 R2 的权限,用户 HRUSER 仍然具有 CREATE TABLE 权限,所以可以创建表:

达梦 docker 权限 达梦默认sysdba用户密码_数据库_07

删除角色:
drop role r1;