Oracle用户权限分配

一、权限分类

系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。

实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。

二、系统权限管理

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> drop user 用户名 cascade;  //加上cascade则将用户连同其创建的东西全部删除

3、系统权限传递:

增加WITH ADMIN OPTION选项,则得到的权限可以传递。

SQL> grant connect, resorce to user50 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用户的权限。

三、实体权限管理

1、实体权限分类:select, update, insert, alter, index, delete, all  //all包括所有权限

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> grant all on product to public;  // public表示是所有的用户,这里的all权限不包括drop。

[实体权限数据字典]:
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用户可以操作全体用户的任意基表(无需授权,包括删除):

4. 实体权限传递(with grant option):
user01:

SQL> grant select, update on product to user02 with grant option; // user02得到权限,并可以传递。

5. 实体权限回收:

user01:

SQL>Revoke select, update on product from user02;  //传递的权限将全部丢失。

说明

1)如果取消某个用户的对象权限,那么对于这个用户使用WITH GRANT OPTION授予权限的用户来说,同样还会取消这些用户的

相同权限,也就是说取消授权时级联的。

时间: 2024-12-10 04:38:24

Oracle用户权限分配的相关文章

Oracle 用户权限分配说明

一般来说,Oracle普通用户创建后,不建议分配DBA权限.那么一般分配哪些权限呢? 首先来说,一个Oracle普通用户,我们一般性的要求是:   1.能够在本用户下进行本用户相关的创建表结构,数据维护.   2.能够访问其他用户的表(看系统属性).   所以,一般采用以下语句: grant connect,resource to base;//设置对本地资源的控制权限, grant create session to base;//设置可以通过工具访问该用户 grant select any

Oracle 用户权限管理方法

Oracle 用户权限管理方法 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 二.登陆 sqlplus / as sysdba;//登陆sys帐户 sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott 

网络安全系列之三十一 组策略中的用户权限分配

在Win2003系统中打开组策略编辑器,展开[计算机配置\Windows设置\安全设置\本地策略\用户权限分配]. 通过用户权限分配,可以为某些用户和组授予或拒绝一些特殊的权限,如关闭系统.更改系统时间.拒绝本地登录.允许在本地登录等. 常用的用户权限分配策略主要有以下几个: (1)"从网络访问此计算机" 默认情况下任何用户都可以从网络访问计算机,可以根据实际需要撤销某用户或某组用户从网络访问计算机的权限. (2)"拒绝从网络访问这台计算机" 如果某些用户只在本地使

Web服务器管理系列:13、用户权限分配安全设置

本地策略中的用户权限分配项是一个很重要的设置项: 从网络访问计算机指的是在运行里面通过"\\192.168.1.100"这种形式访问计算机里面的共享资源,这个选项里面的账号建议全部删除,因为我们作为一个Web服务器不需要共享什么文件给别人用. 有些时候我们创建会为某个站点开始一个ftp帐户,这个账户的权限仅限于上传下载某些文件,所以我们需要拒绝他的本地登录权限: 添加需要拒绝本地登录的账户名称: 这样我们在登录系统的时候就不会出现这个账户了. Web服务器管理系列:13.用户权限分配安

【转】Centos系统文件与用户权限分配详解ftp,nginx,php

linux系统中权限是非常完善的一个功能了,我们如果设置不正确文件就无法使用了,像我们以一般情况需要把文件权限设置为777或644了,对于用户权 限就更加了,像素ftp,nginx,php这些我们都可以给它们设置一个用户并且设置不同权限了,下面我们一起来看看文件与用户权限分配 文件权限设置 权限管理 主要的命令有: chmod.chown.chgrp.umask 1). 改变文件或目录的权限 chmod 2). 改变文件或目录的所有者 chown 3). 改变文件或目录的所属组 chgrp 4)

ORACLE用户权限

数据字典 1.动态数据字典是以v$xxx开始的数据字典,在数据库中约有150个左右,这些数据字典反映数据库动态运行状况,在不同时间查询会得到不同的结果. 2.DBA数据字典是以DBA_xxx表示,该数据字典存储数据库结构,查询DBA数据字典可以反映数据库结构设置,管理磁盘空间和表空间.事务与回退段.用户与表空间等信息. 3.用户数据字典是以USER_xxx表示,这些数据字典反应用户所创建的实体信息.如,USER_TABLES.USER_VIEWS,数据库管理员具有操作全体用户所有实体的权限,可以

ORACLE用户权限管理

参考整理自:http://docs.oracle.com/cd/B19306_01/network.102/b14266/admusers.htm#i1006856 只挑干货讲!!! 一 用户管理 1.创建用户 create user dylan identified by 123 default tablespace users  --指定表空间 quota 100m on users       --指定配额 temporary tablespace temp  --指定临时表空间 prof

mysql 5.7中的用户权限分配相关解读!

这篇文章主要介绍了MySQL中基本的用户和权限管理方法,包括各个权限所能操作的事务以及操作权限的一些常用命令语句,是MySQL入门学习中的基础知识,需要的朋友可以参考下 一.简介 各大帖子及文章都会讲到数据库的权限按最小权限为原则,这句话本身没有错,但是却是一句空话.因为最小权限,这个东西太抽象,很多时候你并弄不清楚具体他需要哪些权限. 现在很多mysql用着root账户在操作,并不是大家不知道用root权限太大不安全,而是很多人并不知道该给予什么样的权限既安全又能保证正常运行.所以,本文更多的

数据库(学习整理)----2--关于Oracle用户权限的授权和收权

知识点: 1.Oracle数据库中所用的用户等级是平级的!只是每个用户的权限不同而已! 2.在一个用户登录后,可以在自己的登录状态下访问其他用户的数据缓冲区.表.以及表的操作!(只要该用户用权限!) 3.我们可以在一个有创建用户权限的用户登录后,进行创建(赋予权限等)操作,创建后的用户和当前用户是平级的!权限不同而已!(1).使用 sysDBA登录 创建一个Jason用户,密码:abc123 SQL语句: create user Jason identified by abc123; 执行后效果