zoukankan      html  css  js  c++  java
  • 达梦数据库学习(五、用户管理)

    达梦数据库学习(五、用户管理)

    上期回顾:

    达梦数据库学习(一、linux操作系统安装及数据库安装)

    达梦数据库学习(二、管理数据库实例) 

    达梦数据库学习(三、体系结构) 

    达梦数据库学习(四、表空间管理) 

    用户管理是安全管理的一部分

    达梦数据库的多权分立(实际上可以参考美国三权分立,不用深究

    SQL>select username from dba_users;

    SYSDBA                       数据库管理员

    SYS                             内置管理员,不能登录数据库

    SYSSSO                       数据库安全员(安全版使用)

    SYSAUDITOR               数据库审计员

    达梦数据库的版本:开发版(默认为1年free期限),标准版(不支持集群),企业版(可配置集群),安全版(配置安全策略)

    每个用户去完成各自的任务。(多权分立)

    一、规划用户

                  命名:

                         字母开头,可以包含字母和数字以及这三个特殊符号#$_

                         不能超过128个字符

                  存储位置:

                         规划用户的表空间--default tablespace XX

                  密码策略

                         密码的有效期 --password_life_time

                         密码尝试登录次数--failed_login_attemps

                         密码历史--

                         密码宽限期

                  资源管理

                         会话的空闲时间

                         私有内存

                         磁盘空间

                  权限管理

                         系统权限(可以对数据库做什么)

                         对象权限(能够对数据库对象做什么)

          

    案例1:创建一个用户user1,密码的有效期180天,尝试登录次数2次。每次锁定1分钟,存储到tbs4表空间中,用户可以创建表,可以查询dmhr.city表。

    SQL>create user user1 identified by 1234567890 limit password_life_time 180,FAILED_LOGIN_ATTEMPS 2,password_lock_time 1 default tablespace tbs4;

    注意:

    系统默认口令策略:0:无策略;1:禁止与用户名相同;2:口令长度不小于0;4:至少包含一个大写字母(A-Z);8:至少包含一个数字(0-9);16:至少包含一个标点符号(英文输入法状态下,除“和空格外的所有符号)若为其他数字,则表示配置值的和,如3=1+2,表示同时启用第1项和第2项策略。注意当COMPATIBLE_MODE=1时,实际PWD_POLICY的实际值为0

    SQL>select para_name,para_value from v$dm_ini where para_name=’PWD_POLICY’;

    兼容模式:

    是否兼容其他数据库模式。0:不兼容,1:兼容SQL92标准;2:部分兼容ORACLE数据库;3:部分兼容MS SQL SERVER,4:部分兼容MYSQL,5:兼容MD6,6:部分兼容TERADATA

    修改:

    sp_set_para_value(2,’COMPATIBLE_MODE’,’2’);

    SQL>select username,account_status from dba_users;

    OPEN 表示打开状态.LOCKED表示锁定状态

    SQL>alter user user1 account lock;--锁定用户

    SQL>alter user user1 account unlock;--解锁用户

    查看当前的用户:

    SQL>select user;

    查看用户默认的角色:

    SQL>select grantee,granted_role from dba_role_privs where grantee=’user1’;

    查看角色的权限:

    SQL>select grantee,granted_role from dba_sys_privs where grantee in (‘PUBLIC’,’SOI’);

    授权系统权限:

    SQL>grant create table to user1;

    授权对象权限:

    SQL>grant select on dmhr.city to user1;

    注意:

    系统权限和对象权限不能写在同一条语句中。

           案例2:创建用户user2,存储位置tbs4,空闲会话为2分钟,私有内存为200M,可以创建视图,可以更新dmhr.city(注意可以更新一个表意味着必须首先可以查看这个表)

    SQL>create user user2 identified by 1234567890 limit CONNECT_IDLE_TIME 2,mem_space 200 default tablespace tbs4;

    授权可创建视图

    SQL>grant create view to user2;

    授权查看dmhr.city表(然后才能授权更新这个表)

    SQL>grant select on dmhr.city to user2;

    授权更新dmhr.ciyt表

    SQL>grant update on dmhr.city to user2;

    撤销权限:

    数据库对象权限:

    SQL>revoke select on dmhr.city from user1;

    数据库系统权限:

    SQL>revoke create table from user1;

    二、角色管理

           角色是一类权限的集合,方便管理。

           角色主要类型:DBA、PUBLIC、RESOURCE

         不建议把DBA角色给普通用户,权限过大(但是实际生产往往都这样搞……

           PUBLIC角色是创建用户时默认分配的。

           一般情况下,把RESOURCE角色分配给用户,基本可以满足系统权限的需求。

           自定角色:

           SQL>create role R1;

           把权限分给角色:

           SQL>grant select on dmhr.city to R1;

           把角色分配给用户:

           SQL>grant R1 to user1;

           删除角色和用户

           删除角色:

    SQL>drop role R1;

           删除用户:

    SQL>drop user user1;

    注意因为用户中存在表,因此会报错提示“[-2639]:试图删除被依赖对象”      

    SQL>drop user user1 cascade;--进行级联删除

  • 相关阅读:
    Bzoj 2134: [国家集训队2011]单选错位(期望)
    洛谷 P1230 智力大冲浪
    洛谷 P2695 骑士的工作
    洛谷 P1551 亲戚
    洛谷 P1111 修复公路
    洛谷 P1599 结算日
    HDU 1166 敌兵布阵
    洛谷 P2212 [USACO14MAR]浇地Watering the Fields
    洛谷 P1506 拯救oibh总部
    洛谷 P1396 营救
  • 原文地址:https://www.cnblogs.com/moonliu/p/14294547.html
Copyright © 2011-2022 走看看