with admin option 与with grant option

在赋予user 权限或者role 时,常常会用到with admin option 和with grant option,
而在使用中,可能会很容易出现混淆的情况,现把他们的相同点和不同点总结如下:
相同点:
- 两个都可以既可以赋予user
权限时使用,也可以在赋予role 时用
GRANT CREATE SESSION TO emi WITH ADMIN OPTION;
GRANT
CREATE SESSION TO role WITH ADMIN OPTION;
GRANT role1 to role2 WITH ADMIN
OPTION;
GRANT select ON customers1 TO bob WITH GRANT OPTION;
GRANT select
ON customers1 TO hr_manager(role) WITH GRANT OPTION;
-
两个受赋予者,都可以把权限或者role 再赋予other users
- 两个option 都可以对DBA 和APP ADMIN
管理带来方便性,但同时,都带来不安全的因素

不同点:
- with admin option 只能在赋予 system privilege 的时使用
- with grant option 只能在赋予 object privilege 的时使用
- 撤消带有admin option 的system privileges 时,连带的权限将保留
例如:
1. DBA 给了CREATE TABLE 系统权限给JEFF WITH
ADMIN OPTION
2. JEFF CREATES TABLE
3. JEFF grants the CREATE TABLE
系统权限给EMI
4. EMI CREATES A table
5. DBA 撤消CREATE TABLE
系统权限从JEFF
结果:
JEFF‘S TABLE 依然存在,但不能创建新的TABLE 了
EMI’S TABLE 依然存在,他还保留着CREATE TABLE 系统权限。
- 撤消带有grant option 的object privileges 时,连带的权限也将撤消
例如:
1. JEFF 给了SELECT object privileges 在EMP 上 WITH ADMIN
OPTION
2. JEFF 给了SELECT 权限在EMP 上 TO EMI
3. 后来,撤消JEFF的SELECT 权限
结果:
EMI 的权限也被撤消了

结论:撤销用户A的系统权限时,则A用户授于B用户的权限将保留;授权用户A的对象权限时,则A用户授于B用户的对象权限将同时被撤销

时间: 2025-01-11 14:18:44

with admin option 与with grant option的相关文章

with admin option和with grant option的用法

1.with admin optionwith admin option的意思是被授予该权限的用户有权将某个权限(如create any table)授予其他用户或角色,取消是不级联的.如授予A系统权限create session with admin option,然后A又把create session权限授予B,但管理员收回A的create session权限时,B依然拥有create session的权限.但管理员可以显式收回B create session的权限,即直接revoke cr

Oracle 级联with admin option 和 with grant option

· 授权通过grant 语法:GRANT object_priv[(columns)][ON object] TO {user|role|public} [WITH GRANT OPTION] · 回收通过revoke 语法:REVOKE object_priv[(columns)][ON object] FROM {user[,user...]|role|public} [CASCADE CONSTRINTS] 撤销具有ADMIN OPTION 的系统权限(权限回收无级联 适用系统权限和角色)

with grant option与with admin option区别

相同点: - 两个都可以既可以赋予user 权限时使用,也可以在赋予role 时用 GRANT CREATE SESSION TO emi WITH ADMIN OPTION; GRANT CREATE SESSION TO role WITH ADMIN OPTION; GRANT role1 to role2 WITH ADMIN OPTION; GRANT select ON customers1 TO bob WITH GRANT OPTION; GRANT select ON cust

实验理解ADMIN OPTION和GRANT OPTION的用法

使用GRANT赋予用户权限的时候通常有ADMIN OPTION和GRANT OPTION这两个OPTION.下面使用简单的实验来体会下这两种授权的用途. 一.ADMIN OPTION参数 实验: 1. 创建测试用户user_a和user_b: 2. 默认情况下,user_a和user_b是没有建表权限: 3. SYS账户GRANT CREATE TABLE权限给user_a,但user_a则是没有权限授予user_b建表权限: 4. SYS账户GRANT CREATE TABLE权限给user_

Oracle Database - ORA-01720 - grant option does not exist for 'AnObject'

Description 当一个不是 MY_TABLE 这个表的 Owner - NOT_OWNER_USER  试图 grant MY_TABLE 的权限时,报错: Error report: SQL Error: ORA-01720: grant option does not exist for 'OWNER_SCHEMA".MY_TABLE' 01720. 00000 - "grant option does not exist for '%s.%s'" *Cause:

专门讲讲这个MYSQL授权当中的with grant option的作用

对象的owner将权限赋予某个用户(如:testuser1) grant select ,update on bd_corp to testuser1 [with grant option ]1.如果带了 with grant option 那么用户testuser1可以将select ,update权限传递给其他用户( 如testuser2)grant select,update on bd_corp to testuser22.如果没带with grant option  那么用户testu

Mysql Grant权限(WITH GRANT OPTION)

mysql>grant all on *.* to [email protected]'192.168.1.20' identified by '123456' mysql>flush privileges; 结果显示:Grant_priv为"N" 解决方法:在最后加上With Grant Option mysql>grant all on *.* to [email protected]'192.168.1.20' identified by '123456' WI

ORACLE 角色授权

直接例子: 1.CREATE USER 用户名 identified by 密码 default tablespace 表空间名;GRANT CONNECT TO 用户名; GRANT RESOURCE TO 用户名; grant alter,delete,update,insert,select on 表名 to 用户名; 2.直接用上面的用户登录PLSQL(例如用户名是User1,密码是User1,授权的表是Table1,Table1是用system账户创建的)    然后我们发现授权的表名

oracle用户创建及权限设置

权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> conn / as sysdba; SQL>create user username identified by password SQL> grant dba to username; SQL> conn username/password SQL> select * from u