Oracle数据库学习(2)——基本操作(权限管理)

开篇:–什么是权限?:定义可以执行的操作

Oracle的权限系统主要分为两大块:

  • 系统权限(粗粒度):登录权限(create session)、创建表权限(create table)、使用表空间权限(unlimited tablespace)、查看任意表权限(select any table)等;

  • 对象权限(细粒度):控制指定用户只能查看某一张表、只能修改某一张表中的某一个字段等;

一、系统权限:

1、给某个用户授予系统权限(此类授权工作必须由超级管理员账号完成):grant 系统权限名 to 用户名 [with admin option]

    ——在授予系统权限时,如果后面追加“with admin option”,代表此权限可以传递给其他用户:

CREATE USER zhangsan IDENTIFIED by 123;
GRANT CREATE SESSION to zhangsan;
CREATE USER lisi IDENTIFIED by 123;

image.png

可以看到,被授予了“CREATE SESSION”登录权限的zhangsan就可以正常登录Oracle系统,而lisi就不可以正常登录;

2、回收指定用户的系统权限:revoke 系统权限名 from 用户名

REVOKE CREATE SESSION FROM zhangsan;

此时,在尝试去连接zhangsan,发现zhangsan已经没有登录的权限了

image.png

3、查看指定账户下,拥有哪些权限:

SELECT * FROM user_sys_privs;

4、给shangsan授予登陆权限,后面追加[with admin option],然后由zhangsan将登录全新传递给lisi:

GRANT CREATE SESSION TO zhangsan WITH admin OPTION;

然后使用zhangsan用户登录系统,将权限传递给lisi:

grant create session to lisi

image.png

可以看到zhangsan已经顺利地将登录系统的权限传递给了lisi,而且自己权限依然保留,现在shangsan和lisi都可以登录系统了;

jiguiquan@163.com

文章作者信息...

2 Comments

  • 哎呀太好看了博主多多更新啊

  • 额地马,欢迎大牛光顾

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐