1. with admin option是用在系统权限上的,with grant option是用在对象权限上的。
SQL> grant create synonym to scott with grant option;
grant create synonym to scott with grant option
*
第 1 行出现错误:
ORA-01939: 只能指定 ADMIN OPTION
SQL> grant create synonym to scott with admin option;
授权成功。
SQL> grant update on scott.emp to hr with admin option;
grant update on scott.emp to hr with admin option
*
第 1 行出现错误:
ORA-00993: 缺失 GRANT 关键字
SQL> grant update on scott.emp to hr with grant option;
授权成功。
2.with admin option
with 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 create session from B.
3.with grant option
with grant option的意思是:权限赋予/取消是级联的,如将with grant option用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用with grant option授权的用户对象权限时,权限会因传播而失效,如grant select on table with grant option to A,A用户把此权限授予B,但管理员收回A的权限时,B的权限也会失效,但管理员不可以直接收回B的SELECT ON TABLE 权限。