设为首页 收藏本站
查看: 1022|回复: 0

[经验分享] Oracle 权限讨论

[复制链接]

尚未签到

发表于 2018-9-26 09:40:55 | 显示全部楼层 |阅读模式
  今天同事突然问了个问题:“我是个普通用户,怎么看其他用户的权限”,我说当然不能了,那“那管理员怎么看”,我告诉他是dba_user_privs,突然发现我对权限突然很晕,索性仔细看了看联机文档。
  联机文档7 Administering Users and Security 中率先谈到了权限 ,前面的介绍就不说了,先说说权限的分类,Administering Roles当中写到:
  System privileges, object privileges, and roles provide a basic level of database security. They are designed to control user access to data and to limit the kinds of SQL statements that users can execute.
  Oracle 把权限分为系统权限,对象权限和角色权限三种,刚开始学习oracle 时我也看到这句话,自以为理解了,但再次看到这句话时,发现有很多晕乎的地方。继续看,这三种权限定理了用户如何访问数据库,也就是对sql语句的使用限制。
  下面列了一个表,对于三种权限的详细解释。
  System Prinvlege 系统权限,是oracle定义的的一种权限,通常仅仅通过管理员授予,系统权限能够让用户定制自己的数据库。比如能够创建表,用户,会话这些权限;
  Object Privilege 对象权限,定义是这种权限可以用来控制访问对象,例句是select On hr.employees to myuser 或者INSERT ON hr.employees TO myuser 。这里有个技巧,记住这个语句的方法,就是倒着念,如果正着念:查询权限在对象Hr.employees上授予myusers,念着比较费劲。外国人跟咱们说话都是反过来的(简单这么说),倒过来是,授予myuser在hr.employees上的查询权限,就比较顺了。
  Role 角色, 一组权限或者一组角色 oracle创建后,会自动建立一些默认的角色,在联机文档中就有这些默认角色的定义:
  Connect: 连接;这个角色有创建会话 create session的权限;
  Resource: 这个怎么翻译,我不好说,它比connect高级点,联机文档说是extends the privileges of a user beyond those granted by the CONNECT role.扩展了connect权限,resource可以创建存储过程,创建触发器和一些其他的系统权限;
  DBA权限,基本上DBA权限就什么都可以干了
  下面是什么是管理帐户,Administrative Accounts,比如sys,system。
  SYS
  SYS这个帐户很重要,创建数据库时就会自动让你创建,而且是有DBA角色的,我们知道,数据库中数据字典很重要,而数据字典里的表和视图都存储在这个帐户下,通常我们不再SYS帐户下建立任何其他的表,就好像不在windows的C盘上放文件,但不代表我们不能改些表和视图,比如一些参数文件。
  SYSTEM
  SYSTEM默认也是被创建的,就是一个DBA角色,主要是作为内部的一些表、视图与数据库工具的管理,权限比Sys要小,但也不要往里面存不是管理员的的表.
  如果想创建数据库或者开关进程,至少得是sysdba或者sysoper的权限。这两种权限是游离于数据库打开的,意思就是,数据库没开时,你也拥有这些权限来做一些操作。这是很重要的。在排错的时候。
  联机文档中还强调,我们可以把sysdba和sysoper作为一种可授予的权限来登陆,
  比如本地登陆时,我们用  / as sysdba;
  角色 ORLE
  角色就是一组权限,这个比较好理解,比如你给创建一个角色叫销售,然后给销售这个角色一些权限,然后以后就不用挨个给每个销售用户授权了,直接把销售这个角色授予给销售部的员工就行了。角色通常用在应用程序上。
  10.2的联机文档时用em来描述如何创建角色的,其实很简单,就一个语句,没密码的话,直接create role rolename
  
  
  


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-602198-1-1.html 上篇帖子: Oracle 各种“名” 下篇帖子: oracle 建立表空间
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表