达梦数据库用户与权限管理

达梦数据库用户与权限管理

  • 用户管理
    • 口令策略
    • 管理用户
    • 资源限制
  • 权限管理
    • 一般权限
    • 特殊权限
  • 角色管理

用户管理

达梦数据库安装后创建的内置用户:

  • SYS:内置用户,不允许登录。该用户下有常用的数据字典;
  • SYSDBA:系统管理员,拥有除审计和强制访问控制之外的所有权限;
  • SYSAUDITOR:系统审计管理员;
  • SYSSSO:系统安全管理员,有强制访问控制的权限;
  • SYSDBO:安全对象操作员,仅安全版本才有。

达梦数据库中支持通过SQL和manager图形化工具两种方式对用户进行管理。

口令策略

达梦用户的登录口令策略由隐含参数PWD_POLICY控制。其值默认为2。

  • 0:无策略;
  • 1:禁止与用户名相同;
  • 2:口令长度需大于等于ini参数PWD_MIN_LEN(默认为9);
  • 4:至少包含一个大写字母(A-Z);
  • 8:至少包含一个数字(0-9);
  • 16:至少包含一个特殊字符(除"和空格以外的英文字符)。

口令策略可以组合设置,如果要同时应用策略1、2、4、8,只需设置策略为1+2+4+8=15即可。

查看生效的口令策略:

select * from v$parameter t where t.name='PWD_POLICY';

修改口令策略:

alter system set 'PWD_POLICY'=15 both;

管理用户

创建用户:

create user HRTEST identified by HRPass2024; --创建用户时指定默认表空间
create user HRTEST identified by HRPass2024 default tablespace DMDATA default index tablespace DMINDEX;--创建用户时指定不限制尝试登录失败的次数(默认连续登录三次失败会锁定账户)
create user HRTEST identified by HRPass2024 limit failed_login_attemps unlimited 
default tablespace DMDATA default index tablespace DMINDEX;

检查用户信息:

select * from dba_users;select p.username,t.* from sysusers t,dba_users p where t.id=p.user_id;

锁定和解锁账户:

alter user HRTEST account lock;alter user HRTEST account unlock;

变更用户信息:

--修改用户密码
alter user HRTEST identified by "NewPass2024";--修改用户默认表空间
alter user HRTEST default tablespace TESTO;

删除用户:

drop user if exists HRTEST;--CASCADE会级联删除用户下的数据库对象信息(慎用!)
drop user if exists HRTEST cascade;

如果不小心忘记了SYSDBA用户口令,可以通过以下两种方法解决:

  1. 通过其他有ALTER USER权限的用户来重置SYSDBA用户口令。

  2. 数据库提前打开了操作系统认证参数 ENABLE_LOCAL_OSAUTH。该参数为静态隐含参数,需要DBA权限修改,修改后重启数据库生效。

资源限制

查看用户的资源限制:

select p.username,t.failed_num,t.failed_attemps, 
t.life_time,t.lock_time,t.sess_per_user
from sysusers t,dba_users p where t.id=p.user_id;select * from sysusers;

有两种方式可以限制用户资源。一是使用LIMIT子句,二是通过Profile管理用户资源。

通过LIMIT子句限制用户失败的次数:

alter user HRTEST limit failed_login_attemps 5, password_lock_time 3;

通过Profile限制用户资源:

create profile PROF_LOGIN_01 limit failed_login_attemps 5, password_lock_time 3, password_life_time 180; alter user HRTEST profile PROF_LOGIN_01;

查询用户的Profile资源限制信息:

select a.pid profile_id, b.name profile_name, a.uid userid, c.name username
from sysuserprofiles a, sysobjects b, sysobjects c
where a.pid = b.id and a.uid = c.id;select * from dba_profiles;
select * from sysusers;

🕷 特殊字符口令:如果用户口令中含有单引号、双引号、$等特殊字符,Linux命令行中可以使用反斜杠进行转义。

权限管理

查询用户所拥有的权限:

select * from dba_sys_privs where grantee='HRTEST';
select * from dba_tab_privs where grantee='HRTEST';
select * from dba_role_privs where grantee='HRTEST';

一般权限

授予和撤销用户的数据库系统权限:

grant create table to HRTEST;
revoke create table from HRTEST;

授予和撤销用户的数据库对象权限:

--授予/撤销表对象权限
grant select,update,insert,delete on DMHR.EMPLOYEE to HRTEST;
revoke select,update,insert,delete on DMHR.EMPLOYEE from HRTEST;--授予/撤销列对象权限
grant select(employee_id,employee_name) on DMHR.EMPLOYEE to HRTEST;
revoke select(employee_id,employee_name) on DMHR.EMPLOYEE from HRTEST;

赋予对象权限时加上 WITH GRANT OPTION 表明权限可以转授。这种赋权撤销时需要加上 CASCADE 关键字。

grant select on DMHR.EMPLOYEE to HRTEST with grant option;--撤销权限报错
revoke select on DMHR.EMPLOYEE from HRTEST;--撤销权限成功
revoke select on DMHR.EMPLOYEE from HRTEST cascade;

特殊权限

默认不能授予用户在其他用户模式下的DDL权限(即使是SYSDBA也不行)。

--授权成功
grant select any table to HRTEST;--授权失败,报错 Grantor no granted privilege
grant create any table,create any index to HRTEST;

该限制由参数ENABLE_DDL_ANY_PRIV控制,默认为0。

select * from v$parameter where name='ENABLE_DDL_ANY_PRIV';--放开DDL的ANY权限限制
alter system set 'ENABLE_DDL_ANY_PRIV'=1 both;--授权成功
grant create any table,create any index to HRTEST;

角色管理

角色是权限的集合。达梦数据库中包含以下几种角色:

  • DBA:拥有除审计和强制访问控制之外的所有权限,默认给SYSDBA用户。
  • PUBLIC:具有对当前模式下对象的DML权限。
  • RESOURCE:具有在当前模式下的DDL权限(建表、索引、视图等)。
  • SOI:具有查询sys开头的系统表的权限。
  • VTI:具有查询v$开头的动态性能视图的权限。
  • DB_AUDIT_开头的:审计相关的权限集合,默认给SYSAUDITOR用户。
  • DB_POLICY_开头的:安全相关的权限集合,默认给SYSSSO用户。

如果查询时收到报错:没有[V$CIPHERS]对象的查询权限,可以授予用户VTI角色。

查询角色信息:

select * from dba_roles;

通过角色授权:

--定义角色
create role R1;
grant create table to R1;
grant select on dmhr.employee to R1;--通过角色授予权限
grant R1 to HRTEST;
grant R1 to HRAPP;

禁用/启用角色:

--禁用角色
call SP_SET_ROLE('R1',0);--启用角色
call SP_SET_ROLE('R1',1);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/788752.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【华为OD机试】启动多任务排序(拓扑排序算法—JavaPythonC++JS实现)

本文收录于专栏:算法之翼 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解代码C/C++题解代码JS题解代码四.代码讲解(Ja…

AssetBundle在移动设备上丢失

1)AssetBundle在移动设备上丢失 2)Unity云渲染插件RenderStreaming,如何实现多用户分别有独立的操作 3)如何在圆柱体类型的地图中编程玩家的输入 4)Mixamo动画的根运动问题 这是第380篇UWA技术知识分享的推送&#xff…

leetcode热题100.前k个高频元素

作者:晓宜 🌈🌈🌈 个人简介:互联网大厂Java准入职,阿里云专家博主,csdn后端优质创作者,算法爱好者 ❤️❤️❤️ 你的关注是我前进的动力😊 Problem: 347. 前 K 个高频元…

高效率二极管选型参数,结构原理,工艺与注意问题总结

🏡《总目录》 目录 1,概述2,工作原理2.1,正向偏置2.2,反向偏置3,结构特点3.1,材料选择3.2,结构设计3.3,掺杂工艺4,工艺流程4.1,材料准备4.2,设备准备4.3,环境准备4.4

离散化、贪心、双指针、二分、倍增、构造、位运算

八、离散化 1、离散化简介 把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。离散化是一种将数组的值域压缩,从而更加关注元素的大小关系的算法。当原数组中的数字很大、负数、小数时(大多数情况下是数字很大),难以将“元素值”表示为”数组下标“,一…

为什么mac文件拖拽不了 mac文件拖不进硬盘里 macbookpro文件无法拖进移动硬盘 Tuxera NTFS for Mac 2023绿色

如果你是一位Mac用户,你可能会遇到这样的问题:你想把Mac上的文件拖拽到其他位置,比如桌面、文件夹或者外接硬盘,但是却发现无法操作,这是为什么呢?这篇文章将为你解答为什么mac文件拖拽不了,以及…

WebGIS 地铁交通线网数据可视化监控平台

数字孪生技术在地铁线网的管理和运维中的应用是一个前沿且迅速发展的领域。随着物联网、大数据、云计算以及人工智能技术的发展,地铁线网数字孪生在智能交通和智慧城市建设中的作用日益凸显。 图扑软件基于 HTML5 的 2D、3D 图形渲染引擎,结合 GIS 地图&…

EFK(elasticsearch+filebeat+kibana)日志分析平台搭建

本文是记录一下EFK日志平台的搭建过程 项目背景: 此次搭建的日志分析平台主要是采集服务器上的java服务的log日志(输出的日志已经是json格式),这些日志都已经按照不同环境输出到/home/dev /home/test1 /home/test2 目录下了,按照不同的应…

redis链表结构和简单动态字符串(SDS)

1.双向链表 redis中的普通链表是双向链表。通过链表节点结构体可知有全驱节点和后继节点。 1.链表节点和链表 //adlist.h typedef struct listNode {struct listNode *prev; //前驱节点struct listNode *next; //后继节点void *value; //节点值 } list…

27.ReentrantLock

1.与synchronized不同点: 可中断可以设置超时时间可以设置公平锁,公平锁就是为了解决饥饿线程,让线程排队,先进先出,先来的线程先执行。支持多个条件变量 2.与synchronized相同点都支持锁的可重入。 基本格式&#…

JavaScript 超详细学习思路

JavaScript 是一种轻量级的编程语言,它可以在网页中嵌入,用来实现网页的动态效果和用户交互功能。它是 Web 开发中不可或缺的一部分,与 HTML 和 CSS 并称为 Web 技术的三大基石。下面我会根据您的要求,对每个部分进行详细的讲解。…

“崖山数据库杯”深圳大学程序设计竞赛(正式赛)M题 一图秒

“崖山数据库杯”深圳大学程序设计竞赛(正式赛)_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com) —————— 可以去牛客看题解: 题解 | #暂时没想法#_牛客博客 (nowcoder.net) —————— 上面的就是题解了。…

Web CSS笔记3

一、边框弧度 使用它你就可以制作盒子边框圆角 border-radius:1个值四个圆角值相同2个值 第一个值为左上角与右下角,第二个值为右上角与左下角3个值第一个值为左上角, 第二个值为右上角和左下角,第三个值为右下角4个值 左上角,右…

大数据时代的生物信息学:挖掘生命数据,揭示生命奥秘

在当今科技日新月异的时代,大数据如同一座蕴藏无尽宝藏的矿山,而生物信息学则是那把锐利的探矿锤,精准有力地敲击着这座“生命之矿”,揭示出隐藏在其深处的生命奥秘。随着基因测序技术的飞速进步与广泛应用,生物医学领…

springboot之MybatisPlus

文章目录 一、ORM二、mybatis实际操作三、mybatis-plus 一、ORM 简单来说ORM就是一个能够帮我们把java中Bean类映射到数据库中。 使用mybatis-plus。 配置架包 <!-- MyBatisPlus依赖 --><dependency><groupId>com.baomidou</groupId><art…

垄断与商品化背景下的网络安全三大整合策略

我国的网络安全产业已经发展了20余年&#xff0c;大大小小的企业几乎覆盖了网络安全的所有领域。随着安全需求的逐渐递增&#xff0c;安全产品也朝着平台化、规模化发展&#xff0c;这就倒逼着安全厂商需要整合越来越多的安全能力&#xff0c;并与其产品相融合。这个过程&#…

安装transforers时报错:error: can‘t find Rust compiler

报错&#xff1a; error: cant find Rust compilerIf you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compil…

【VSCode+Keil5+STM32CubeMX】开发环境配置

一、软件下载 二、软件安装 三、配置环境 四、验证开发环境 五、Keil与VS Code的同步 从0到1搭建VS Code Keil5 STM32CubeMX开发环境 优点 支持标准库HAL库LL库代码编辑更“现代化”&#xff1a;代码提示、函数跳转、更高自由度的定制主题等优点多端同步&#xff0c;VS Code和…

【LAMMPS学习】七、加速性能(3)通用技巧

7. 加速性能 7.1.基准测试 7.2.测试性能 7.3.通用技巧 以下是提高模拟性能的通用技巧。它们中的大多数只适用于当前性能中的某些模型和某些瓶颈&#xff0c;因此让您生成的计时数据作为指导。要预测这些选项会产生多大的差异&#xff0c;即使不是不可能&#xff0c;也是很难…

Pathlib库的有哪些神奇功能在Python中

解锁Python利器pathlib的神奇功能 什么是 pathlib&#xff1f; pathlib 是 Python 中用于处理文件路径的模块&#xff0c;它提供了面向对象的方法来操作文件系统路径。使用 pathlib 可以更加直观和安全地处理文件和目录路径。 功能 一些 pathlib 提供的功能包括&#xff1a;…