一、用户管理
达梦数据库的非安全版本是三权分立,安全版本为是权分立。
----查看达梦数据库系统中的所有用户信息
select * from dba_users;
达梦数据库内置用户如下:
SYSSSO:系统安全员
SYSDBA:系统管理员
SYS:内置用户,不能直接登录
SYSAUDITOR:系统审计员,用于审计相关功能。
----查看用户的口令策略参数信息
select * from v$dm_ini t where t.para_name = ‘PWD_POLICY’;
----更改用户口令策略参数值
alter system set ‘PWD_POLICY’ = 15 BOTH;
参数值含义
设置系统默认口令策略。
0: 无策略;
1: 禁止与用户名相同;
2: 口令长度不小于 9;
4: 至少包含一个大写字母(A-Z);
8 :至少包含一个数字(0-9);
16:至少包含一个标点符号(英文输入法状态下,除“和空格外的所有符号);
若为其他数字,则表示配置值的和,如 3=1+2,表示 同时启用第 1 项和第 2 项策略。
口令策略
系统默认口令策略是创建用户时的口令策略,不是数据库用户当前的口令策略。
----查看数据库用户的口令策略 dba_users.PASSWORD_VERSIONS
select t.ACCOUNT_STATUS, t.USERNAME, t.USER_ID, t.PASSWORD_VERSIONS from dba_users t;
默认情况下,用户登录密码错误超过三次,用户就会被锁定。
----查看用户的资源限制
select * from sysusers;
----以下操作基本与Oracle相同
修改用户密码
alter user hrtest identified by dameng111;
修改用户默认表空间
alter user hrtest02 default tablespace tbstest;
修改用户资源限制
alter user hrtest LIMIT FAILED_LOGIN_ATTEMPS 5, PASSWORD_LOCK_TIME 15 ;
锁定/解锁用户
alter user hrtest account unlock;
alter user hrtest account lock;
权限管理
权限包含系统权限和对象权限。
基于某个数据库对象的查询、操作等为对象权限。
相关数据字典
select * from DBA_SYS_PRIVS t where T.GRANTEE = ‘HRUSER’; ----系统权限
select * from DBA_TAB_PRIVS t where T.GRANTEE = ‘HRUSER’; ----对象权限
select * from DBA_ROLE_PRIVS t where T.GRANTEE = ‘HRUSER’; ----角色
select * from DBA_COL_PRIVS t where T.GRANTEE = ‘HRUSER’; ----列权限
查看当前用户拥有的权限信息
select * from session_privs;
授权操作
grant create table to hruser WITH admin OPTION;
grant r1 to hruser;
revoke r1 from hruser;
–对象级联授权和回收
如果在授予对象权限时指定 with grant option,则回收时需要增加 cascade 关键字级联回收权限。
grant select on dmhr.department to hruser WITH grant OPTION;
revoke select on dmhr.department from hruser CASCADE;
–列权限
赋予查询某张表部分列的权限
grant select (employee_id, employee_name, email) on dmhr.employee to hruser;
角色管理
–查看系统所有角色信息
select * from dba_roles;
–内置角色分类
DB_AUDIT 开头为审计相关角色,默认赋给了 SYSAUDITOR;
DB_POLICY 开头的为安全相关角色,默认赋给 SYSSSO;
其他 DBA、RESOURCE、PULIBC、SOI、VTI 等默认赋给了 SYSDBA。
DBA:系统管理员角色,拥有除审计和强制访问控制之外的几乎所有权限,
RESOURCE:拥有 CREATE 创建表、索引、视图等对象定义的权限和数据操作权限(DML 操作)。
PULIBC:拥有数据操作权限(增删改查操作),没有创建表、视图等对象定义权限。
SOI:具有查询系统表(SYS 开头的)查询权限。
VTI 具有查询动态视图(v$开头的)权限。
角色禁用和启用
SP_SET_ROLE
角色禁用后,对应的权限也不再生效。
创建角色
create role r2;
赋予角色权限(可以是对象权限、系统权限,也可以是角色权限)
grant r1 to r2;
grant create table to r2;
grant select on dmhr.department to r2;
create user u1 IDENTIFIED by Dameng123;
grant r2 to u1;
评论
