- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章oracle用户权限、角色管理详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
Oracle 权限设置 。
1、权限分类:
系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言).
实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的).
2、系统权限管理:
1、系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构.
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构.
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构.
对于普通用户:授予connect, resource权限.
对于DBA管理用户:授予connect,resource, dba权限.
2、系统权限授权命令:
[系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)] 。
授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...,
[普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。] 。
例:
SQL> connect system/manager 。
。
SQL> Create user user50 identified by user50,
SQL> grant connect, resource to user50,
。
查询用户拥有哪里权限:
SQL> select * from user_sys_PRivs; 查看当前用户所有权限 。
。
SQL> select * from user_tab_privs; 查看所用用户对表的权限 。
。
删除用户:SQL> drop user 用户名 cascade; //加上cascade则将用户连同其创建的东西全部删除 。
3、系统权限传递:
增加WITH ADMIN OPTION选项,则得到的权限可以传递.
。
4、系统权限回收:系统权限只能由DBA用户回收 。
命令:SQL> Revoke connect, resource from user50,
说明:
1)如果使用WITH ADMIN OPTION为某个用户授予系统权限,那么对于被这个用户授予相同权限的所有用户来说,取消该用户的系统权限并不会级联取消这些用户的相同权限.
2)系统权限无级联,即A授予B权限,B授予C权限,如果A收回B的权限,C的权限不受影响;系统权限可以跨用户回收,即A可以直接收回C用户的权限.
3、实体权限管理 。
1、实体权限分类:select, update, insert, alter, index, delete, all //all包括所有权限 。
execute //执行存储过程权限 。
user01
SQL> grant select, update, insert on product to user02,
。
SQL> grant all on product to user02,
。
user02
SQL> select * from user01.product,
。
// 此时user02查user_tables,不包括user01.product这个表,但如果查all_tables则可以查到,因为他可以访问.
。
。
2. 将表的操作权限授予全体用户:
。
[实体权限数据字典]
SQL> select owner, table_name from all_tables; // 用户可以查询的表 。
。
SQL> select table_name from user_tables; // 用户创建的表 。
SQL> select grantor, table_schema, table_name, privilege from all_tab_privs; // 获权可以存取的表(被授权的) 。
SQL> select grantee, owner, table_name, privilege from user_tab_privs; // 授出权限的表(授出的权限) 。
。
3. DBA用户可以操作全体用户的任意基表(无需授权,包括删除):
DBA用户:
SQL> Create table stud02.product( id number(10),name varchar2(20)),
。
SQL> drop table stud02.emp,
SQL> create table stud02.employee 。
as 。
select * from scott.emp,
。
4. 实体权限传递(WITH GRANT OPTION):
user01
。
5. 实体权限回收:
user01
说明 。
。
1)如果取消某个用户的对象权限,那么对于这个用户使用WITH GRANT OPTION授予权限的用户来说,同样还会取消这些用户的相同权限,也就是说取消授权时级联的.
Oracle 用户管理 。
1、创建用户的Profile文件 。
SQL> create profile student limit // student为资源文件名 。
FAILED_LOGIN_ATTEMPTS 3 //指定锁定用户的登录失败次数 。
PASSWORD_LOCK_TIME 5 //指定用户被锁定天数 。
PASSWORD_LIFE_TIME 30 //指定口令可用天数 。
2、创建用户 。
SQL> Create User username 。
。
Identified by password 。
Default Tablespace tablespace 。
Temporary Tablespace tablespace 。
Profile profile 。
Quota integer/unlimited on tablespace,
。
。
例
。
[*]查询用户缺省表空间、临时表空间 。
。
[*]查询系统资源文件名:
。
资源文件类似表,一旦创建就会保存在数据库中.
。
3、修改用户:
SQL>AlterUser用户名 。
。
Identified口令 。
DefaultTablespacetablespace 。
TemporaryTablespacetablespace 。
Profileprofile 。
Quotainteger/unlimitedontablespace,
。
1、修改口令字:
。
2、修改用户缺省表空间:
。
3、修改用户临时表空间 。
。
4、强制用户修改口令字:
。
5、将用户加锁 。
。
4、删除用户 。
。
*1.当前正连接的用户不得删除.
5、监视用户:
1、查询用户会话信息:
。
2、删除用户会话信息:
3、查询用户SQL语句:
。
Oracle角色管理 。
1、何为角色 。
角色。角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限.
2、系统预定义角色 。
预定义角色是在数据库安装后,系统自动创建的一些常用的角色。下介简单的介绍一下这些预定角色。角色所包含的权限可以用以下语句查询:
。
1.CONNECT,RESOURCE,DBA 。
这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色.
2.DELETE_CATALOG_ROLE,EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE 。
这些角色主要用于访问数据字典视图和包.
3.EXP_FULL_DATABASE,IMP_FULL_DATABASE 。
这两个角色用于数据导入导出工具的使用.
4.AQ_USER_ROLE,AQ_ADMINISTRATOR_ROLE 。
AQ:AdvancedQuery。这两个角色用于oracle高级查询功能.
5.SNMPAGENT 。
用于oracleenterprisemanager和IntelligentAgent 。
6.RECOVERY_CATALOG_OWNER 。
用于创建拥有恢复库的用户。关于恢复库的信息,参考oracle文档《Oracle9iUser-ManagedBackupandRecoveryGuide》 。
7.HS_ADMIN_ROLE 。
ADBAusingOracle'sheterogeneousservicesfeatureneedsthisroletoaccessappropriatetablesinthedatadictionary. 。
3、管理角色 。
1.建一个角色 。
。
2.授权给角色 。
。
3.授予角色给用户 。
。
4.查看角色所包含的权限 。
。
5.创建带有口令以角色(在生效带有口令的角色时必须提供口令) 。
。
6.修改角色:是否需要口令 。
sql>alterrolerole1notidentified,
。
sql>alterrolerole1identifiedbypassword1,
7.设置当前用户要生效的角色 。
。
(注:角色的生效是一个什么概念呢?假设用户a有b1,b2,b3三个角色,那么如果b1未生效,则b1所包含的权限对于a来讲是不拥有的,只有角色生效了,角色内的权限才作用于用户,最大可生效角色数由参数MAX_ENABLED_ROLES设定;在用户登录后,oracle将所有直接赋给用户的权限和用户默认角色中的权限赋给用户。) 。
sql>setrolerole1;//使role1生效 。
。
sql>setrolerole,role2;//使role1,role2生效 。
sql>setrolerole1identifiedbypassword1;//使用带有口令的role1生效 。
sql>setroleall;//使用该用户的所有角色生效 。
sql>setrolenone;//设置所有角色失效 。
sql>setroleallexceptrole1;//除role1外的该用户的所有其它角色生效.
sql>select*fromSESSION_ROLES;//查看当前用户的生效的角色.
。
8.修改指定用户,设置其默认角色 。
sql>alteruseruser1defaultrolerole1; sql>alteruseruser1defaultroleallexceptrole1,
。
。
9.删除角色 。
。
角色删除后,原来拥用该角色的用户就不再拥有该角色了,相应的权限也就没有了.
说明
1)无法使用WITHGRANTOPTION为角色授予对象权限 。
2)可以使用WITHADMINOPTION为角色授予系统权限,取消时不是级联 。
最后此篇关于oracle用户权限、角色管理详解的文章就讲到这里了,如果你想了解更多关于oracle用户权限、角色管理详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我会尽可能地解释我正在做的事情,以获得最好的可能的建议/解决方案。这一切都是在 java 中完成的。 我的客户有一个基于 SWING 的桌面应用程序,它将使用 WebStart 加载。我被指派为用户帐
看来这个page包含 Azure CLI 支持的与 Azure API 管理相关的所有功能。但它没有展示如何使用 Azure CLI 管理用户、产品、证书、订阅和 API 等实体。 Azure CLI
我设置了一个 Hadoop 1.2.x 版本,双节点集群。第一节点(NameNode、Jobtracker)和第二节点(Secondary NameNode、Datanode、TaskTracker)
对于内容驱动的网站,设计好坏的关键是关系型数据库。在这个教程中,我们已经使用了MySQL关系型数据库管理系统(RDBMS)建立了我们的数据库。对于网站的开发者来说,MySQL是一个较受欢迎的选择,这
在尝试运行MariaDB之前,首先确定其当前状态,运行或关闭。 有三个选项用于启动和停止MariaDB – 运行mysqld(MariaDB脚本)。 运行mysqld_safe启动脚本。
我在管理界面中遇到 StackedInlines 前缀的问题。我会尝试发布所有必要的代码。 models.py(简要) ##### Base classes class BaseItem(models
我是新来的。到目前为止,我一直在使用 MVC 模型并使用基本的 session 管理模型,即在 session 中存储一个 token 并检查每个请求。 我正在尝试对lift做同样的事情,但我的 se
我在 win 服务中使用 NHiberante。有时我得到 System.ObjectDisposedException: Session is closed! Object name: 'ISess
我正在尝试使用 HtmlUnit 登录 Facebook 页面并查看其 HTML 内容。我正在尝试通过 HtmlUnit 填写登录凭据,但在单击提交按钮时我没有看到正在执行的 session 。 在
我正在为一个相当大的项目开发一个带有 reactjs 的前端,该项目有两个主要接口(interface)。主站点的前端和管理员的前端。 我应该将它们开发为两个不同的项目还是 reactjs 中的一个项
短版 我有一个使用插件基础结构的应用程序。插件具有可配置的属性,可帮助它们了解如何完成工作。插件按配置文件分组以定义如何完成任务,配置文件存储在由 DataContractSerializer 序列化
如何管理 iPhone 应用程序中的用户 session ?我在应用程序的第一页上从用户那里获取了用户名和密码。用户可以随时注销。如何像其他 Web 应用程序一样在 iPhone 应用程序中存储 se
我正在使用 Azure API 管理,其中包含第三方论坛 (Discourse) 的链接。 api管理提供的默认登录系统用于注册用户。我想知道是否可以对 api 管理和论坛使用单点登录,这样用户就不必
我正在使用 Wordpress 建立一个网站,并且我想利用它的 session 。但我没有找到任何插件,甚至文档。在我开始破解之前有什么建议或引用吗? 注意:我问的是 WP 是否以及如何使用标准 PH
我已阅读《Azure in Action》一书中的以下内容:“在 Windows Azure 中,状态服务器或进程外 session 状态提供程序,不支持” 谁能告诉我为什么不支持这个。他们在书中没有
我有一个内联表单集,我想排除一些模型对象在表单集中显示。 例如。模型 B 具有模型 A 的外键,因此它是 1:n(A 对象有许多 B 对象)关系。现在在 A 管理编辑页面上,我已经获得了 B 的内联。
我正在开发一个基于 session 的项目。我在想,与银行类似,我会创建一张支票并为用户提供阻止 session 超时的能力。 我正在考虑创建一个 setInterval 来检查需要身份验证的空白页面
我正在为一位拥有 Magento 商店的客户工作。里面塞满了产品,但这些产品的名称有点乱。他并没有坚持一种命名约定,而是多年来使用了不同的约定。因此,每当他使用“管理”->“管理产品”部分中的“名称”
我使用大约十几个 XSLT 文件来提供大量输出格式。目前,用户必须知道导出的文件格式的扩展名,例如RTF、HTML、TXT。 我还想使用参数来允许更多选项。如果我可以将元数据嵌入 XSL 文件本身,那
我已阅读《Azure in Action》一书中的以下内容:“在 Windows Azure 中,状态服务器或进程外 session 状态提供程序,不支持” 谁能告诉我为什么不支持这个。他们在书中没有
我是一名优秀的程序员,十分优秀!