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 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 GRANT OPTION
    2. JEFF 给了SELECT 权限在EMP 上 TO EMI
    3. 后来,撤消JEFF的SELECT 权限

结果:
EMI 的权限也被撤消了

原文地址:https://www.cnblogs.com/lllini/p/11955288.html