• 09-控制用户权限


    数据库安全性:
          系统安全性
          数据安全性
    系统权限: 对于数据库的权限
    对象权限: 操作数据库对象的权限

    数据库管理员具有高级权限以完成管理任务,例如:
                          创建新用户
                          删除用户
                          删除表
                          备份表

    用户创建之后, DBA 会赋予用户一些系统权限:
                        CREATE SESSION(创建会话)
                        CREATE TABLE(创建表)
                        CREATE SEQUENCE(创建序列)
                        CREATE VIEW(创建视图)
                        CREATE PROCEDURE(创建过程)

     1 --DBA 使用 CREATE USER 语句创建用户
     2 CREATE USER  scott
     3 IDENTIFIED BY   tiger;
     4 
     5 --DBA 可以赋予用户特定的权限
     6 GRANT  create session, create table, 
     7        create sequence, create view
     8 TO     scott;
     9 
    10 -- 用户拥有create table权限之外,还需要分配相应的表空间才可开辟存储空间用于创建的表
    11 ALTER USER scott QUOTA UNLIMITED 
    12 ON users
    13 
    14 --创建角色
    15 CREATE ROLE manager;
    16 --为角色赋予权限
    17 GRANT   create table, create view
    18 TO     manager;
    19 --将角色赋予用户
    20 GRANT manager TO DEHAAN, KOCHHAR; 
    21 
    22 --DBA 可以创建用户和修改密码
    23 --用户本人可以使用 ALTER USER 语句修改密码
    24 ALTER USER scott                           
    25 IDENTIFIED BY lion;
    26 
    27 --分配对象权限
    28 --分配表 EMPLOYEES 的查询权限
    29 GRANT  select
    30 ON     employees
    31 TO     sue, rich;
    32 
    33 --分配表中各个列的更新权限
    34 GRANT  update 
    35 ON     scott.departments
    36 TO     bugshi
    37 
    38 --WITH GRANT OPTION 使用户同样具有分配权限的权利
    39 GRANT  select, insert
    40 ON     departments
    41 TO     scott
    42 WITH   GRANT OPTION;
    43 
    44 --向数据库中所有用户分配权限
    45 GRANT  select
    46 ON      alice.departments
    47 TO      PUBLIC;
    48 
    49 --查询权限分配情况
    50 
    51 --使用 REVOKE 语句收回权限
    52 --使用 WITH GRANT OPTION 子句所分配的权限同样被收回
    53 REVOKE  select, insert
    54 ON      departments
    55 FROM    scott;

     

    查询权限分配情况

     

    eg:

     1 --如果用户能够登陆到数据库,至少需要哪种权限?是系统权限还是对象权限
     2 --CREATE SESSION 系统权限
     3 
     4 --创建表需要哪种权限?
     5 CREATE TABLE
     6 
     7 --将表departments的查询权限分配给用户system
     8 GRANT select
     9 ON departments
    10 TO system
    11 
    12 --从system处收回刚才赋予的权限。
    13 REVOKE select
    14 ON departments
    15 FROM system
    16 
    17 --创建角色dvp,并将如下权限赋予该角色
    18 --CREATE PROCEDURE
    19 --CREATE SESSION
    20 --CREATE TABLE
    21 --CREATE SEQUENCE
    22 --CREATE VIEW
    23 CREATE ROLE dvp;
    24 GRANT CREATE PROCEDURE,CREATE SESSION,CREATE TABLE,CREATE SEQUENCE,CREATE VIEW 
    25 TO dvp;
  • 相关阅读:
    [GO] go使用etcd和watch方法进行实时的配置变更
    [GO]go context的deadline方法
    [GO]go使用contextCancel
    [GO]go使用etcd
    js控制复选框checkbox 只能单选
    JQuery.Ajax之错误调试帮助信息
    SQLServer2005创建定时作业任务
    JS/JQuery针对不同类型元素的操作(radio、select、checkbox)
    SQL Server跨库查询
    javax.net.ssl.SSLHandshakeException(Cas导入证书)
  • 原文地址:https://www.cnblogs.com/shici/p/13458364.html
Copyright © 2020-2023  润新知