Sql Server 安全性实验
来源:互联网 发布:linux 502端口映射 编辑:程序博客网 时间:2024/05/22 15:46
实验目的
探究不同等级的用户对数据库的操作权限,从而
使得数据库在多用户操作是的安全。
实验内容
1.首先创建三个用户
create login T with password = '123456';create login M with password = '123456';create login J with password = '123456';
用户创建成功
2.分别为三个登录名在“saft”数据库映射三个数据库用户,数据库用户名为Tom,Mary和John,使这三个登录名可以访问“saft”数据库。
use saftgocreate user Tom for login Tcreate user Mary for login Mcreate user John for login J
3.授予用户John创建表的权限。
grant alter on schema :: dbo to John
grant create table
to John
4.创建三个表格
转换到用户John
USE saft;CREATE TABLE A(id int PRIMARY KEY,name VARCHAR NOT NULL,class VARCHAR NOT NULL,taechar VARCHAR NOT NULL);CREATE TABLE B(mid int PRIMARY KEY,major VARCHAR(30) NOT NULL,lader VARCHAR(30) NOT NULL,);CREATE TABLE C(cid int PRIMARY KEY,sub VARCHAR(30) NOT NULL,teach VARCHAR(30) NOT NULL,);
5.完成以下授权:
(1)把对表A的INSERT权力授予用户Tom,并允许他再将此权限授予其他用户。
grant inserton Ato Tomwith grant option
转换用户为Tom
use saftinsert into A (id,name,class,teachar)values (1,'name_1','1525','Guo')
成功的添加。
(2)用户Mary对S,P,J三个表有SELECT和INSERT权力 grant
grant select,inserton Ato Marygrant select,inserton Bto Marygrant select,inserton Cto Mary
转换用户为Mary
use saftinsert into A (id,name,class,teachar)values (2,'name_2','1525','bai')insert into B(mid,major,lader)values ('1','软件工程','li')insert into C(cid,sub,teach)values ('1','数据库','guo')select * from Aselect * from Bselect * from C
授权成功
(3)用户Tom对ABC表有DELETE权力,对CLASS字段具有UPDATE权力。
grant delete,update(calss)on Ato Tomgrant delete,update(calss)on Bto Tomgrant delete,update(calss)on Cto Tom
转换用户为Tom
update Aset class=class+1where id = 2delete from Awhere id=2
成功删除id=2还有更改id=1的class的值
(4)把对用户Tom授予的所有权力收回
revoke delete,update(class)on Afrom Tomrevoke inserton Afrom Tom cascade
(5)对用户Mary增加A表的SELECT权力。
grant selecton Ato Marygrant selecton Bto Marygrant selecton Cto Mary
转换成Mary用户
select * from A where id=1select * from B where mid=1select * from C where cid=1
查询功能授权成功
(6)拒绝Mary对表B的INSERT权限。
deny inserton Bto Mary
转换成Mary用户
insert into B(mid,major,lader)values (2,'数据结构','wang')
成功撤销Mary的添加功能。
出现问题
出现用户无法登录,通过查询百度找到了解决方案。
如何解决sql server18456错误
只需要重新设置密码就可以。
如果需要彻底解决问题,需要重新设置属性。
右击数据库引擎,选择属性
数据身份验证选择sql server身份验证,
右键点击数据库引擎,选择重新启动,重启后就可以登陆了。
打开运行按钮,输入gpedit.msc,进入本地组策略编辑器
选择计算机配置,选择windows设置,选择安全设置,选择账户策略下的秘密策略,右边框有一个密码最长使用期限,改的时间长一点就行了或者设置为0则密码不过期。
实验总结
通过这次实验,了解了SQL SERVER的授权机制,对数据库安全性有了更深刻的了解。对数据库所需环境配置,windows系统更加了解。收获颇丰。
0 0
- Sql Server 安全性实验
- SQL Server 安全性部分实验
- SQL Server 2005 安全性
- SQL Server数据库的安全性
- SQL SERVER 2005 安全性设置
- SQL SERVER 2005 安全性设置
- SQL Server 2005 安全性增强
- SQL server 实验三
- SQL server 上机实验
- SQL Server数据库的安全性控制策略
- 如何提高SQL Server的安全性?
- 保护SQL Server:为安全性而安装
- SQL Server数据库的安全性控制策略
- 如何提高SQL Server的安全性
- 如何提高SQL Server的安全性?
- 如何提高SQL Server 的安全性
- SQL Server安全性专题一:简介
- 远程检测ms sql server账号安全性
- Java CAS 和ABA问题
- numpy 高阶函数 —— np.histogram
- PAT-A-1093. Count PAT's (25)
- Docker基础入门及示例
- 用idea搭建SSH框架--校内测试
- Sql Server 安全性实验
- 客观世界的音乐和人的关系
- 用c语言编写小游戏:贪吃蛇
- Linux防火墙iptables
- 杨辉三角
- 极光推送开发第二弹——极光推送API
- Ubuntu根目录结构说明
- Java8:Stream
- C语言练习