注册
 找回密码
 注册
江西广告网
查看: 4063|回复: 3
打印 上一主题 下一主题

SQL技巧:取消用户自定义数据库对象的公共读取权限

[复制链接]

该用户从未签到

跳转到指定楼层
发表于 2009-2-19 08:27:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  你的数据库对象允许任何用户访问吗?如果是,那么你的数据库就会有安全缺陷,你需要取消用户自定义数据库对象的公共读取权限。   由于数据库的设计,所有用户都被当作公共成员。从公共数据库中取消用户自定义数据库对象公共读取权限的办法就是创建一个用户自定义数据库。做法如下:      1.把你的用户自定义数据库放入一个系统提供的数据库。系统提供的数据库有:db_owner,db_accessadmin,db_securityadmin,db_ddladmin,db_backupoperator,db_datareader,db_datawriter,db_denydatareader和db_denydatawriter。   2.把你的用户自定义数据库添加到将作为开发环境的db_datareader和db_datawriter中。如果你已经有一个可以添加和/或删除用户自定义数据库对象的开发环境,你就只需要取消这个权限或是把你的用户自定义数据库添加到db_ddladmin系统数据库中。   3.把数据库用户作为数据库成员添加到你的用户自定义数据库中。   4.取消所有的公共权限。   不要向公共用户发出DENY命令。如果你向公共用户发出了DENY命令,用户将不能读取用户自定义数据库的对象。用REVOKE命令代替DENY命令来取消读取公共数据库的权限。这样设置后,数据库的用户就是用户自定义数据库的成员了。用户自定义数据库具有读取用户自定义数据库对象的权限。因此这个用户自定义数据库允许数据库用户读取用户自定义数据库的对象。   以下是实施上面的方法的具体步骤:    <
adidas3592 该用户已被删除
2
发表于 2011-12-26 09:19:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表