数据库安全管理---实验报告6
以Windows身份验证登录后,收回查询“教师档案表”的权限
revoke select on教师档案表from MyUser2
用户“MyUser2”不能再查询“教师档案表”,因为该权限被收回
select * from教师档案表
四、出现的问题及解决方案
1、创建新用户“MyUser2”以及对用户授予权限管理均只能在Windows身份认证下超级用户才可以完成。
该用户创建表成功,因为被授予该权限
create table aaa(aa varchar(8)not null primary key,bb varchar(8))
运行结果如图所示:
该用户可以查询“教师档案表”,因为被授予该权限
select * from教师档案表
运行结果如图所示:
该用户查询“学生档案”被拒绝,因为没被授予该权限
数据库原理与应用实验报告
课程名称:数据库原理与应用
年级:06
实验日期:08-10-21
姓名:
学号:03
班级:2班
实验名称:数据库安全管理
实验序号:实验六
成员人数:1
一、实验目的及要求
实验目的:
掌握用的创建和授权方法。
实验要求:
1、理解和体会数据库安全性的内容,加强对DBMS功能的认识;
2、学会创建登陆用户并向其授予数据库访问权限;
以“MyUser”账号登陆
查询“学生档案”中的记录
select * from学生档案
运行结果如图所示:
查询“学生成绩表”中的记录被拒绝,因为没被授予该权限
select * from教师档案表
删除“学生成绩表”中的记录被拒绝,因为没被授予该权限
7_4_2使用Transact-SQL命令进行用户的创建和权限管理
3、熟练对用户权限的授予和收回操作。
二、实验环境
Microsoft SQL Server 2000
三、实验内容及完成情况
7_4_1使用企业管理器进行用户的创建和权限管理
设置“MyUser”登录账号的常规选项
设置“MyUser”登录账号的“数据库访问”选项卡
设置用户账号
为用户“MyUser”授予查询权限
运行结果如图所示:
查询用户所拥有的权限
exec sp_helprotect null,'MyUser2'
运行结果如图所示:
以用户“MyUser2”登录
改用户创建数据库被拒绝,因为没有相关权限
create database教学管理
on
primary
(name =教学管理_dat,
filename ='C:\数据库应用实验教程\数据\教学管理.mdf',
创建新的登录用户
sp_addlogin 'MyUser2',null,'教学管理'
向用户授予数据库访问权限
sp_grantdbaccess 'MyUser2'
给用户授予创建表和查询表的权限
grant create table to MyUser2
grant select on教师档案表to MyUser2
size = 5MB,
maxsize = 50MB,
filegrowth = 2MB)
log on
(name =教学管理_log,
filename='C:\数据库应用实验教程\日志文件\教学管理.ldf',
size =5MB,
maxsize =100MB,
filegrowth=2MB)
运行结果如图所示:
2、在使用Transact-SQL命令进行用户的创建和权限管理中,其代码不太明白,希望老师可以讲解下。
五、教师评语
SQL server实验六 数据库的安全性
实验六数据库的安全性
一、实验目的
使学生加深对数据库安全性的理解,并掌握SQL SERVER中有关用户、角色及操作权限的管理方法。
二、实验内容及过程
(1)首先创建一个windows登陆用户login,密码为123456,再使用SQL SERVER企业管理器将windows登录用户增加到SQL SERVER登录账户中,为windows身份验证。
(2)使用企业管理器查看登录账户login。
(3)使用企业管理器为登录账户login创建数据库用户login。
(4)使用企业管理器为登录账户login创建与管理服务器角色。
(5)使用企业管理器为数据库用户login创建与管理数据库角色。
(6)使用企业管理器为数据库用户login创建与删除用户自定义数据库角色。
三、实验过程
1、创建windows登录账户,并增加到SQL SERVER登陆账户中。
2、使用企业管理器查看登录账户login
3、使用企业管理器为登录账户login创建数据库用户login
4、使用企业管理器为登录账户login创建与管理服务器角色
5、使用企业管理器为数据库用户login创建与管理数据库角色
6、使用企业管理器为数据库用户login创建与删除用户自定义数据库角色。
四、实验总结
这次实验主要是利用SQL server 2000的企业管理器对数据库的用户的管理操作,主要学习了如何新建用户、添加已有用户、管理用户的权限以及删除用户等操作,以使用户和管理员权力更加平衡、管理更加规范、数据库更加安全。
实验三数据库安全性实验报告
实验三数据库安全性实验报告第一篇:实验三数据库安全性实验报告一实验目的1.熟悉通过SQL语句对数据进行安全性控制;2.针对具体应用要求,完成授权和收回权限的操作;二实验工具SQL Server 2005利用SQL Server 2005 SSMS及其SQL查询编辑器。
三实验内容和要求使用SQL对数据进行安全性控制,包括:授权和权力回收。
操作完成后看看已授权的用户是否真正具有授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回的数据操作的权力。
根据以上要求认真填写实验报告,记录所有的实验用例。
具体操作可以参照课件中的实例。
具体操作内容:创建以下两个关系模式,并分别插入相应的数据。
职工(职工号,姓名,年龄,职务,工资,部门号)部门(部门号,名称,经理名,地址,电话号码)(1)请用SQL的Grant和Revoke语句(加上视图机制)完成以下授权定义或存取控制功能,并进行相应的安全性测试;(a)用户王明对两个表有select权力;(b)用户李勇对两个表有insert和delete权力;(c)每个职工只对自己的记录有select权力;(d)用户刘星对职工表有select权力,对工资字段具有更新权力;(e)用户张新具有修改这两个表的结构的权力;(f)用户周平具有对两个表所有权力(对,插,改,删数据),并具有给其他用户授权的权利;(g)用户杨兰具有从每个部门职工中select最高工资,最低工资,平均工资的权力,他不能查看每个人的工资。
(2)把上面(a)~(g)的每一种情况,撤销各用户所授予的权力。
四实验报告4.1 实验环境:Windows XPMicrosoftSQL server Management Studio 20054.2 实验内容与完成情况:--新建数据库create database workgouse work--创建以下两个关系模式,并分别插入相应的数据。
--Worker(职工号,姓名,年龄,职务,工资,部门号)gocreate table Worker(职工号varchar(10),姓名char(10),年龄int,职务 char(15),工资 int,部门号 char(50))--Section(部门号,名称,经理名,地址,电话号码)create table Section(职工号char(10),名称char(10),经理名char(10),地址 char(50),电话 char(15));go--插入部门信息insert into Section values('a001','市场部门','李永','白理工','***');insert into Section values('a002','营销部门','李刚','白理工','***');--插入职工信息insert into Worker values('a001001','王明',20,'市场营销员',2000,'a001');insert into Worker values('a001002','李村',29,'市场营销员',2000,'a001');insert into Worker values('a001003','李永',20,'经理',5000,'a001');insert into Worker values('a002001','罗杰',18,'销售员',2000,'a002');insert into Worker values('a002002','李红',24,'销售员',2000,'a002');insert into Worker values('a002003','李刚',32,'经理',5000,'a002');--查询部门表和职工表的数据select *from Worker;select *from Section;--授权use workgo--(a)用户王明对两个表有select权力;create login [王明] with password=N'1234';create user [王明] for login [王明];grant select on Worker to [王明];grant select on Section to [王明];--插入数据权限测试insert into Worker values('a002004','罗红',28,'销售助理',4000,'a002');--查询数据权限测试select *from Worker;--(b)用户李勇对两个表有insert和delete权力;use workgocreate login [李勇] with password=N'1234';create user [李勇] for login [李勇];grant insert,delete on Worker to [李勇];grant insert,delete on Section to [李勇];--插入数据权限测试insert into Worker values('a002005','罗莉',52,'销售助理',4000,'a002');--查询数据权限测试select *from Worker;--删除权限测试delete Worker from where 职工号='a002001';--(c)每个职工只对自己的记录有select权力;use workgocreate view Myself as select * from Workerwhere 姓名=user;grant select on Myself to public;--(d)用户刘星对职工表有select权力,对工资字段具有更新权力;use workgocreate login [刘星] with password=N'1234';create user [刘星] for login [刘星];grant select,update(工资)on Worker to [刘星];--更新修改权限测试update Worker set 工资=3500 where 职工号='a002001'--查询数据权限测试select *from Worker;--(e)用户张新具有修改这两个表的结构的权力;use workgocreate login [张新] with password=N'1234';create user [张新] for login [张新];grant all PRIVILEGES on Worker to 张新;grant all PRIVILEGES on Section to 张新;--(f)用户周平具有对两个表所有权力(对,插,改,删数据),并具有给其他用户授权的权利;use workgocreate login [周平] with password=N'1234';create user [周平] for login [周平];grant all PRIVILEGES on Worker to 周平with grant option;grant all PRIVILEGES on Section to 周平with grant option;--(g)用户杨兰具有从每个部门职工中select最高工资,最低工资,平均工资的权力,他不能查看每个人的工资。
数据库管理系统实验报告
数据库管理系统实验报告数据库管理系统实验报告引言:数据库管理系统(Database Management System,简称DBMS)是一种用于管理和组织数据的软件系统。
它可以帮助用户存储、检索、更新和管理数据,提供高效的数据处理和数据访问功能。
在本次实验中,我们使用了一款名为MySQL的开源数据库管理系统,通过实际操作来深入了解数据库的基本原理和功能。
一、实验目的本次实验的目的是通过使用MySQL数据库管理系统,掌握数据库的创建、表的设计、数据的插入和查询等基本操作,进一步理解数据库的结构和运行机制。
二、实验环境本次实验使用的实验环境如下:1. 操作系统:Windows 102. 数据库管理系统:MySQL 8.03. 开发工具:MySQL Workbench三、实验过程1. 数据库的创建在MySQL Workbench中,我们首先创建了一个名为"mydb"的数据库。
通过SQL语句"CREATE DATABASE mydb;"实现数据库的创建。
在创建数据库时,我们可以指定数据库的名称、字符集、排序规则等参数。
2. 表的设计在数据库中,数据以表的形式进行组织和存储。
在本次实验中,我们创建了一个名为"students"的表,用于存储学生的信息。
表的设计包括了学生的学号、姓名、性别、年龄等字段。
通过SQL语句"CREATE TABLE students (id INT PRIMARY KEY, name VARCHAR(20), gender VARCHAR(10), age INT);"实现表的创建。
在创建表时,我们需要指定表的名称、字段的名称和类型、字段的约束等。
3. 数据的插入在表的设计完成后,我们可以向表中插入数据。
通过SQL语句"INSERT INTO students (id, name, gender, age) VALUES (1, '张三', '男', 20);"实现向表中插入一条学生记录。
数据库管理系统实验报告doc
数据库管理系统实验报告篇一:数据库_图书馆管理系统实验报告数据库课程设计报告专业:计算机科学与技术班级: 03 组长:张云60 组员:王冉28指导教师:袁道华成绩:XX年12月16日一、课程设计概述1. 课程设计背景课程需要开发一个图书管理系统,要求在读者登记处可以将读者的信息添加,信息系统中保存,当读者信息发生变化,对计算机内容进行修改,当读者办理退卡手续要删除此读者信息,图书管理负责图书和出版社的管理,读书借还处进行借书管理,还书管理,库存查询,图书排行榜,生成超期未还书的读者,进行通知.给不同用户设置不同权限,供用户访问数据库。
2. 编写目的熟练掌握mysql中的创建数据库、创建表、显示、查询、select语句、视图、存储过程、创建检索、对表的添加、删除、修改和用户权限的设置等基本运用,并通过编写这个图书管理系统来实际演练。
3. 软件定义Mysql是目前最流行的开源的中小型关系数据管理系统,目前被广泛的应用于internet上得中小型网站中,它由mysql AB公司开发、发布并支持。
本实验用的是mysql 5.1版本4. 开发环境本实验用的是mysql 5.1版本,windowsXX二、需求分析1. 问题的提出1:怎么通过mysql和信息之间的关系来创建图书管理系统的数据库及表? 2:怎样来实现对插入读者信息并保存、修改及删除? 3:怎么来实现对图书的管理?4:怎样实现对借书后在读书借还处添加读者借书信息和还书后删除读者借还处中的借书信息且更新图书管理处的图书数量?5:怎么实现对超期读者进行罚款操作和生成这些读者的名单,以方便通知? 6:怎样实现图书的借书排行榜和查看库存书量?7:怎么样来根据不同用户对数据库的等级的不同来设置这些用户的权限?2. 需要完成的功能及各部分功能概述1:读者登记建卡处的功能是对读者基本信息进行登记,读者信息发生变化对读者基本信息进行修改,读者要求退还借书卡时对读者信息进行删除等操作。
数据库实验6
云南大学软件学院实验报告实验6 数据库完整性实验6-1 完整性约束1、创建规则(用图形或者语句方法创建)(1)创建入学日期规则“Enter_University_date_rule”,假定该学校于1923年4月30日创建。
要求:入学日期必须大于等于学校创建日期,并且小于等于当前日期(2)创建学生年龄规则“Age_rule”。
要求:学生年龄必须在15~30岁之间(3)创建学生性别规则“Sex_rule”。
要求:性别只能为“男”或“女”(4)创建学生成绩规则“Score_rule”。
要求:学生成绩只能在0~100之间(5)用图形方法查看学生成绩规则“Score_rule”,截图为:(6)用语句方法查看学生成绩规则“Score_rule”,语句为:2、删除规则Enter_University_date_rule3、创建默认(用图形或者语句方法创建)(1)创建默认时间“Time_default”为当前系统时间(2)创建默认入学年龄“Age_default”为18岁(3)用图形方法查看默认入学年龄“Age_default”,截图为:(4)用语句方法查看默认入学年龄“Age_default”,语句为:4、删除默认入学年龄“Age_default”5、创建声明式默认:在创建表的过程中创建声明式默认(1)创建表“default_example”,表中包含字段pid、name、sex、age。
要求设定sex的默认值为“男”、age的默认值为18。
(2)在表中增加新的默认,将编号默认为100。
插入一条记录,执行结果为:6、在“学生管理数据库”各个数据表中建立相应的主键、外键、惟一值、以及check约束,要求:学生的年龄必须是两位数,其中第一位是1或2:删除check 约束:7、完成教科书456页如下习题:[7.1]a:实验6-2 触发器1、使用触发器(1)创建一个触发器trig_update,返回对“学生表”进行更新操作后,被更新的记录条数(2)执行触发器(3)修改触发器trig_update,除返回被更新的记录条数外,再返回学生的所有基本信息2、使用触发器的两个特殊表:插入表(inserted)和删除表(deleted)。
数据库安全性分析实验报告
数据库安全性分析实验报告1. 引言在当今数字化时代,数据库扮演着重要的角色,很多重要的信息和数据都储存在数据库中。
然而,随之而来的是数据库安全性问题的增加。
本实验报告旨在对数据库安全性进行分析,以帮助企业或组织提升其数据库的安全性水平。
2. 实验目标本实验的目标是通过对已有数据库进行安全性分析,识别存在的潜在风险和弱点,并提出相应的解决方案,以加强数据库的安全性。
3. 实验设计实验采用了以下的设计步骤:3.1 数据库审计:审计数据库,了解数据库的结构和数据存储情况。
3.2 安全性检查:对数据库进行安全性检查,包括用户权限、访问控制、数据加密和备份等方面。
3.3 弱点分析:根据安全性检查的结果,发现数据库存在的潜在风险和弱点。
3.4 解决方案提出:针对每个弱点,提出相应的解决方案以加强数据库的安全性。
4. 数据库审计通过对数据库的审计,我们了解到数据库的结构和数据存储情况。
数据库中包含以下表格和字段:4.1 用户表:记录了所有用户的信息,包括用户名、密码、权限等。
4.2 客户表:存储了客户的个人信息,如姓名、地址、联系方式等。
4.3 订单表:包含了订单的详细信息,如订单号、产品信息、数量等。
5. 安全性检查在对数据库的安全性进行检查时,我们主要关注以下几个方面:5.1 用户权限:检查用户的权限设置是否合理,是否存在权限溢出或权限不足的情况。
5.2 访问控制:审查数据库的访问控制策略和机制,确保未经授权的用户无法访问数据库。
5.3 数据加密:检查数据库中敏感数据的加密情况,如用户密码和个人信息等。
5.4 数据备份:确认数据库是否进行了定期的数据备份,以防止数据丢失或数据库故障。
6. 弱点分析基于安全性检查的结果,识别以下弱点和潜在风险:6.1 弱密码:部分用户使用弱密码,容易被破解或暴力破解。
6.2 权限不足:某些用户被赋予了过高的权限,存在权限溢出的风险。
6.3 缺乏访问控制:数据库的访问控制策略和机制不够完善,存在未经授权的访问隐患。
数据库安全性实验报告
数据库安全性实验报告
本实验旨在观测和检查数据库系统的安全性。
实验环境为一台Windows 10电脑,使用MySQL 5.7作为数据库引擎,并在服务器上搭建Web服务。
实验开始之前,首先检查MySQL服务器的安全设置,确保服务器上所有用户只能使用有效的帐户并实施有效的权限控制。
我们通过强制安装安全工具,设置数据库用户帐户的密码,以及将复杂的权限规则应用于数据库,来实现数据库安全的基本要求。
紧接着,我们尝试利用用于攻击 SQL 服务器的 5 种不同类型的攻击:SQL 注入、SQL 拒绝服务攻击、信息提取攻击、越权访问攻击和数据库操纵攻击。
实验结果显示,攻击失败,MySQL 服务器没有受到任何攻击,证明服务器安全设置是稳健的。
此外,我们还检查了MySQL服务器的空的漏洞、网络连接防火墙的配置、WAN 上的
IP 过滤等,以确保安全可靠的网络连接。
同样,实验结果显示,MySQL服务器的安全性在这些方面也是稳健的。
总之,本次实验表明,MySQL服务器的安全性能得到了有效保障,经过反复测试和检查,几乎没有发现任何安全漏洞。
数据库实验——安全管理
运行结果:可以看到在这个实例中创建了一个数据库mydb1,并在mydb1中创建了表StudentInfo2.1.2 创建一个登录并将创建的数据库设置为该登录的默认数据库create database mydb1 on primary (name = 'mydb1', filename = 'E:\Homework\E1\mydb1.mdf', size = 10240KB, maxsize = unlimited, filegrowth = 10% )log on (name = 'mydb1_log', filename = 'E:\Homework\E1\mydb1_log.ldf', size = 1024KB, maxsize = 4096KB, filegrowth = 1024KB )go use mydb1create table StudentInfo (id char (10) primary key , name varchar (10) not null )go123456789101112131415161718192021代码:结果可以看到该数据库实例中多出了登陆ff2.1.3 设置登录在默认数据库中的用户映射代码结果create login ff with password = 'ff', default_database = mydb1 gouse mydb1create user db_ff for login ff go 1234123在ff 的映射中出现了到mydb1的映射2.1.4 尝试将登录加入到两个不同的数据库服务器角色中对默认数据库进行操作(如创建表Score ,查询表StudentInfo等)。
注意每次只使用一个数据库服务器角色来验证授权。
首先赋予ff 授权sysadmin角色代码:结果:exec sp_addsrvrolemember 'ff', 'sysadmin' go1 2然后使用ff 登陆,创建表Score ,并在StudentInfo 中插入thf 和zyc 两条数据,并查询id = 1的数据代码:结果:use mydb1create table Score (id char(10) primary key,val int not null check(val >= 0 and val <= 100))insert into StudentInfo values(1, 'thf')insert into StudentInfo values(2, 'zyc')select * from StudentInfo where id = 1go1 2 3 4 5 6 7 8 9 10 11接下来收回ff 的sysadmin 权限,赋予securityadmin 权限代码:结果:执行上面的操作代码:exec sp_dropsrvrolemember 'ff', 'sysadmin'exec sp_addsrvrolemember 'ff', 'securityadmin'go123结果:发现操作被拒绝,说明权限不够。
数据库实验安全管理
学号:201211041110姓名:杨凯班级:信息12-3成绩:上机练习一、实验目的1.掌握SQL Server安全控制的两种模式2.学会管理SQL Server登录账号、数据库用户、各种权限3.学会使用角色管理用户及权限二、实验环境安装SQL Server 2005 的PC机一台。
三、实验内容1.用SSMS工具建立SQL Server身份验证模式的登录名:log1、log2和log3。
Log2 、log3建立如同上图2.利用10章建立的“students数据库”,用log1建立一个新的数据库引擎查询,在“可用数据库”下拉列表框中是否能看到并选中“students数据库”?为什么?可以看到。
因为所用的数据库服务器名称是一样的,所以该数据库服务器上的数据库就可以看到,但是没有访问权限。
3.将log1、log2和log3映射为“students数据库”中的用户,用户名同登录名。
Log2 、log3建立如同上图4.再次用log1建立一个新的数据库引擎查询,这次在“可用数据库”下拉列表中是否能看到并选中“students数据库”?为什么?答:可以看到,因为给其设置了访问权限。
5.用log1用户在“students数据库”中执行下述语句,能否成功?为什么?SELECT * FROM Course答:不能成功。
因为LOG1没有对课程6.授予log1具有对Course表的查询权限,授予log2具有对Course表的插入权限。
答:对log2设置插入权限时只需将Insert权限的授予选中即可。
7.在SSMS中,用log2建立一个新的数据库引擎查询,执行下述语句(根据自建数据库修改表名、列数等),能否成功?为什么?INSERT INTO 课程表VALUES(‘C001’,’数据库基础’,4,5)答:可以,因为给予其插入权限,所以可以插入新内容。
再执行下述语句,能否成功?为什么?SELECT * FROM 课程表答:不能成功。
数据库原理实验报告-数据库的安全性
实验题目三数据库的安全性
一、实验目的
熟悉SQL Server中有关用户、角色及操作权限的实用,加深学生对数据库安全性的理解。
二、实验内容和要求
1.理解SQL Server的安全控制机制;
2.对SQL Server的登录名、用户和角色进行管理;
3.学习通过SQL语言的数据控制功能,设置和管理数据操作权限;
三、实验主要仪器设备和材料
1.计算机及操作系统:PC机,Windows 2000/XP或更高版本;
2.数据库管理系统:SQL Server 2005或更高版本;
四、实验方法、步骤及结果测试
对teaching数据库完成以下操作。
1.新建登录名“UserA(+学号)”,选择“SQL Server身份验证模式”并设置密码。
设置页面
2.使用“UserA”登录名登录,查看teaching数据库中student表的学生信息。
执行结果
3. 使用“sa”重新登录。
修改“UserA”的属性:服务器角色面板中,勾选
sysadmin 两项;用户映射中,赋予对数据库teaching和master的“db_owner”角色权限。
设置界面设置界面
4. 使用“UserA”登录数据库,查询teaching数据库中student表的学生信息,验证是否
执行结果
在服务器级别上新建两个“SQL Server身份验证”的登录名:login1(学号)、
执行结果
数据库新建两个用户:User1(学号)、Use_2(学号)分别对应login1
五、思考题
1.解释说明SQL Server 中的登录名、用户、服务器角色、数据库角色。
