达梦数据库的非安全版本是三权分立,安全版本为是权分立。
----查看达梦数据库系统中的所有用户信息
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’ = 7 BOTH;
设置系统默认口令策略。
0: 无策略;
1: 禁止与用户名相同;
2: 口令长度不小于 9;
4: 至少包含一个大写字母(A-Z);
8 :至少包含一个数字(0-9);
16:至少包含一个标点符号(英文输入法状态下,除“和空格外的所有符号);
若为其他数字,则表示配置值的和,如 7=1+2+4,表示 同时启用“禁止与用户名相同”,“口令长度不小于 9”,“至少包含一个大写字母(A-Z)”策略。
系统默认口令策略是创建用户时的口令策略,不是数据库用户当前的口令策略。
----查看数据库用户的口令策略 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 u1 identified by Dameng123;
修改用户默认表空间
alter user u1 default tablespace tbstest;
修改用户资源限制
alter user u1 LIMIT FAILED_LOGIN_ATTEMPS 5,PASSWORD_LOCK_TIME 15 ;
锁定/解锁用户
alter user u1 account unlock;
alter user u1 account lock;
权限包含系统权限和对象权限。
基于某个数据库对象的查询、操作等为对象权限。
相关数据字典
select * from DBA_SYS_PRIVS t where T.GRANTEE = ‘TESTUSER’; ----系统权限
select * from DBA_TAB_PRIVS t where T.GRANTEE = ‘TESTUSER’; ----对象权限
select * from DBA_ROLE_PRIVS t where T.GRANTEE = 'TESTUSER; ----角色
select * from DBA_COL_PRIVS t where T.GRANTEE = ‘TESTUSER’; ----列权限
查看当前用户拥有的权限信息
select * from session_privs;
授权操作
grant create table to u1 WITH admin OPTION;
grant r1 to u1;
revoke r1 from u1;
----对象级联授权和回收
如果在授予对象权限时指定 with grant option,则回收时需要增加 cascade 关键字级联回收权限。
grant select on dmhr.department to u1 WITH grant OPTION;
revoke select on dmhr.department from u1 CASCADE;
----列权限
赋予查询某张表部分列的权限
grant select (employee_id, employee_name, email) on dmhr.employee to u1;
----查看系统所有角色信息
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(‘R1’,0)
角色禁用后,对应的权限也不再生效。
创建角色
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;
文章
阅读量
获赞