关于sql server的权限管理的问题
使用sql server有一段时间了,但对它的revoke和deny两个命令总是不太明白他们具体的区别是什么。今天在网站上看到这么一段话,就更让我有点糊度了。原文如下:
在SQL Server 7.0中,如果你想阻止某人查看某一个表,你可以使用DENY来禁止他的SELECT权限。使用DENY语句时应当非常小心。举个例子:假如你在AUTHORS表上有SELECT和INSERT的权限,而且作为某个NT组的成员,你还拥有UPDATE权限。然而,你所在的另一个NT组被DENY语句禁止了INSERT和UPDATE权限。结果是,你只有SELECT权限了。DENY语句会禁止对数据库对象的访问,因此你要确保没有对PUBLIC组使用DENY语句,因为任何用户都总是PUBLIC组中的成员。许多没有经验的管理员这样做了,然后他们只好打电话来向我们求助。
那位高手能解释一下revoke和deny的具体的工作原理。
问题点数:50、回复次数:2Top
1 楼nononono(null,null)回复于 2000-11-24 00:38:00 得分 30
我的理解:revoke和deny两个命令的区别:
revoke类似“减”操作,deny类似“乘”操作。
revoke去掉一个成员的某个权限,该成员可以从他所属的组中“继承”获得这个权限。但你要用deny去掉这个成员的某个权限,该成员就被“点名”不能再拥有这个权限了。
你在SQL-EM中管理权限时,点一下出现“勾”,再点一下出现“叉”,再点一下。。。
这个“叉”就是deny了吧?
Top
2 楼wuccc(不懂)回复于 2000-11-25 10:14:00 得分 20
Deny对应与NT用户的拒绝访问,其他的权限是累加的,即在不同的组中不同的权限以高的为准,
(高权限覆盖较低权限)
可是一旦指定了Deny,该用户被显式拒绝,Deny可以覆盖其他权限.Top




