【发布时间】:2020-06-22 02:22:00
【问题描述】:
想象以下情况:数据库管理员创建新用户。我们称他为user1。管理员使用授权选项将权限 A 授予 user1。
GRANT A TO user1
WITH GRANT OPTION
现在 user1 将上述权限授予 user2:
GRANT A TO user2
WITH GRANT OPTION
假设管理员从 user1 撤消了 A:
REVOKE A FROM user1
user2 授予权限后会发生什么?他们还在工作吗?他们被删除了吗?行为是否取决于平台,因此它可能在 Oracle、MS SQL、MySQL 等上有所不同?我知道你可以通过在 MS SQL 中使用 CASCADE 关键字来指定这样的行为,但我听说,当父级被撤销时,其他平台默认删除子级授权。
【问题讨论】:
-
为什么 user2 的权限会改变?您已删除 user1 的。
标签: sql sql-server authorization