当前位置:文档之家› 综合实验4 数据库安全性及用户权限管理

综合实验4 数据库安全性及用户权限管理

综合实验4 数据库安全性及用户权限管理
综合实验4 数据库安全性及用户权限管理

综合实验4 数据库安全性及用户权限管理

一、实验目的:

1、理解SQL Server 2005身份验证模式;

2、学会创建和管理登录账户;

3、学会创建和管理数据库用户;

4、学会管理服务器角色;

5、学会管理和创建数据库角色;

6、学会给用户授予、拒绝和撤销权限的方法。

二、实验内容:

说明:使用T-SQL语句或者系统存储过程完成以下内容,并使用SQL Server Management Studio进行查看与验证。

1、登录账户及服务器角色

(1)创建两个SQL Server身份验证的登录,其中一个账户为Login1,密码为;另一个账户为Login2,密码为。

use sales

go

create login Login1 with password='123456'

create login Login2 with password='123'

(2)创建一个Windows身份验证的登录,其中Windows用户名称为Login3。

create login [20090814-1433\Login3] from Windows

(3)把登录账户Login1重新命名为Login1Test。

alter login login1 with name=Login1Test

(4)更改登录账户Login2的密码为abc。

alter login login2 with password='abc'

(5)禁用登录账户Login2的登录。

alter login login2 disable

(6)启用登录账户Login2的登录。

alter login login2 enable

(7)给登录账户Login2赋予securityadmin角色。

sp_addsrvrolemember'login2','securityadmin'

(8)给以上所创建的Windows身份验证的登录账户赋予sysadmin角色。

sp_addsrvrolemember'20090814-1433\Login3','sysadmin'

(9)分别撤销给登录账户所赋予的服务器角色。

sp_dropsrvrolemember'login2','securityadmin'

sp_dropsrvrolemember'20090814-1433\Login3','sysadmin'

2、数据库用户及数据库角色

(1)创建sales数据库用户User1,其对应的登录账户为Login1Test,角色为

db_accessadmin。

create user user1 for login Login1Test

sp_addrolemember'db_accessadmin','user1'

(2)创建sales数据库用户User2,其对应的登录账户为Login2,角色为db_datawriter。create user user2 for login Login2

sp_addrolemember'db_datawriter','user2'

(3)创建sales数据库角色Role1,其包含db_datareader和db_backupoperator两个角色的功能。

use sales

go

create role Role1

sp_addrolemember'db_datareader','Role1'

sp_addrolemember'db_backupoperator','Role1'

(4)给用户User1和User2都赋予Role1角色。

sp_addrolemember'Role1','user1'

sp_addrolemember'Role1','user2'

(5)撤销给角色Role1所赋予的db_backupoperator角色功能。

sp_droprolemember'db_backupoperator','Role1'

(6)撤销给用户User1和User2所赋予所有角色。

sp_droprolemember'Role1','user1'

sp_droprolemember'Role1','user2'

(7)删除角色Role1。

drop role Role1

3、权限设置

(1)授予用户User1可查看除了Product数据表以外的其他任何数据表、但不可更改所有数据表中内容的权限。

grant select to user1

deny select on product to user1

(2)授予用户User2对Product数据表的查看和插入数据的权限。

GRANT SELECT,insert

on product to user2

(3)授予用户User2创建数据库和数据表的权限。

GRANT ALTER ON SCHEMA:: dbo to user2

GRANT CREATE database TO user2

GRANT CREATE TABLE TO user2

(4)拒绝用户User2对Product数据表的插入数据的权限。

deny insert

on product to user2

(5)撤销用户User1和User2的所有权限。

Revoke all to user2,user1

(6)删除用户User1、User2。

drop user user1

drop user user2

(7)删除登录账户Login1Test、Login2,以及以上所创建的Windows身份验证的登录账户。drop login Login1Test

drop login Login2

drop login [20090814-1433\Login3]

三、实验总结:

数据库安全性及用户权限管理,我们学习到登陆SQLServer服务时必须通过身份验证;其次是设置数据库的用户或者是某一数据库角色,第三是设置数据表的权限。

实验一 Linux基本命令 权限管理

实验一Linux基本命令: 权限管理 一、实验目的: 通过实验熟悉Linux操作系统环境,掌握Linux基于多用户的权限管理机制。 二、实验要求: (1) 掌握Linux/bash环境下命令的使用 (2) 掌握Linux用户权限管理 三、实验内容 一: 观察系统的结构和文件属性 以超级用户身份登录系统(用户名root) $ pwd //观察用户主目录 $ cd / //退至根目录 $ ls //观察目录结构 $ cd /dev //进入设备文件目录 $ ls -l //观察设备文件的类型,观察每一行的第一个字符 $ cd /etc //进入系统配置文件目录 $ ls //观察配置文件 $ more inittab //查看系统启动配置文件的内容 $ cd / //退至根目录 $ ls -l //观察文件和目录的属主用户和用户组 $ umask //显示当前用户(root)的权限掩码 $ cd ~ 或者$ cd /root //进入用户主目录 $ ls -l / >list //以重定向方式创建文件list $ ls -l list //分析list文件的默认权限 $ mkdir mydir //创建目录 $ ls -l mydir //观察目录mydir的默认权限 二: 用户、用户组及权限管理 1. 创建用户组 $ groupadd student //创建student组 $ groupadd teacher //创建teacher组 2. 创建用户 创建教师用户 创建教师用户teach01,teacher作为主用户组,student为附加用户组 $ useradd teach01 -g teacher -G student 创建教师用户teach02,属主用户组为teacher,无附加用户组 $ useradd teach02 –g teacher

数据库原理实验报告-实验三-数据完整性与安全性控制

一、实验内容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1)非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命 令-->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’ -->保 存 (3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。 唯一约束:单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加--> 是否唯一改为‘是’-->名称改为‘us_sname’ -->关闭。

(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。 设默认约束:单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存

(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查 条件为:成绩应该在0-100之间。

(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表 和C表,外键名称分别为fk_sno,fk_cno。 2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint) 删除约束:单击数据库Student-->表-->单击S-->展开键、约束。一一删除即可。

数据库实验四作业及答案

实验4数据查询 一、实验目的 1.掌握使用Transact-SQL的SELECT语句进行基本查询的方法。 2.掌握使用SELECT语句进行条件查询的方法。 3.掌握嵌套查询的方法。 4.掌握多表查询的方法。 5.掌握SELECT语句的GROUP BY和ORDER BY子句的作业和使用方法。 6.掌握联合查询的操作方法。 7.掌握数据更新语句INSERT INTO、UPDATE、DELETE的使用方法。 二、实验准备 1.了解SELECT语句的基本语法格式和执行方法。 2.了解嵌套查询的表示方法。 3.了解UNION运算符的用法。 4.了解SELECT语句的GROUP BY和ORDER BY子句的作用。 5.了解IN、JOIN等子查询的格式。 6.了解INSERT INTO、UPDATE、DELETE的格式与作用。 三、实验内容及步骤 0. 创建studentsdb数据库及其相应表,并录入数据。 启动查询分析器,运行下面链接的代码即可。 创建数据库代码 1.在studentsdb数据库中,使用下列SQL语句将输出什么? (1)SELECT COUNT(*) FROM grade (2)SELECT SUBSTRING(姓名,1,2) FROM student_info (3)SELECT UPPER('kelly')

(4)SELECT Replicate('kelly',3) (5)SELECT SQRT(分数) FROM grade WHERE 分数>=85 (6)SELECT 2,3,POWER(2,3) (7)SELECT YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE()) 2.在studentsdb数据库中使用SELECT语句进行基本查询。 (1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。 SELECT*FROM student_info (2)查询学号为0002的学生的姓名和家庭住址。 SELECT姓名,家庭住址FROM student_info WHERE学号=0002 (3)找出所有男同学的学号和姓名。 SELECT学号,姓名FROM student_info

(完整版)linux文件系统管理-权限管理实验4报告

实验报告 课程Linux系统应用与开发教程实验名称linux文件系统管理-权限管理(高级设置) 一、实验目的 1、掌握Linux文件系统权限的设置 2、掌握linux用户帐号与组管理 3、掌握linux 文件共享的设置方法 4、掌握linux 文件共享的权限设置方法 二、实验内容 1、使用root帐号通过系统提供的6个虚拟控制台登陆到linux,或在x-windows开启一个终端。 2、完成以下的实验内容 (1)、假设你是系统管理员:现要在公司linux服务器系统中新增一些用户与一个用户组。 ?使用groupadd account 添加一个名为account的组 ?使用useradd -G account acc-user1,(该命令将添加一个用户名为acc-user1的用户, 同时会建立一个与用户名同名的私有组(该私有组为用户的默认组,这个组中只有一个用户名),并把该用户将加入account的标准组,同时,按同样的方法建立acc-user2、acc-user3、acc-user4。 ?建立用户后,请使用x-window中的用户与组管理工具查看用户与组建立情况,检查用户与组的归属情况。 (2)、开启多个控制台,分别使用acc-user1、acc-user2、acc-user3登陆系统(可以在控制台分别登陆,也可以在X-windows中多开几个终端程序,默认使用root登陆,然后使用su命令通过切换用户的方式登陆,其语法为“su - user-name”,提示可以在登陆成功后运行命令“id”查看当前登陆的用户属于哪些组,当前的默认组是什么?) (3)、为account组建立一个公共共享目录/home/account-share,满足以下的权限设定要求,以及设置何种的umask: ?该目录的拥有者为acc-user1,所属组为account。 ?在该目录下建立一个/home/account-share/full-share的子目录,修改该目录的权限,使得account组的成员均能在对该目录有完全控制权限,account组外的其他用户没有任何权限,即account组的成员都可以在该目录下建立文件,同时在该子目录full-share下建立的文件,只有文件建立者有权限删除,并且每个用户在该子目录full-share下建立的文件也能自动与该account组成员可读共享。 ?在/home/account-share/为每个用户建立一个与用户名同名的子目录(如/home/account-share/acc-user1为用户acc-user1的目录,其拥有者为acc-user1,所在的组为account),配置该子目录的拥有者有完全控制权限,而同组用户只能读取,同时在用户在该目录下建立的文件,可供同组用户读。 (4)、考虑完成以上的共享目录权限设置,应注意哪些设置。包括目录的权限,目录的拥有者,目录所在的组,具体文件的权限,umask设置等。 (5)、实验报告应体现出使用不同身份的用户对所配置目录的访问测试过程。 三、实验环境 安装有vmware或visual pc软件的window主机,系统中有提供turbolinux或redhat的硬盘

201509-实验三:数据库的安全性课案

实验三:数据库的安全性 一、实验目的 熟悉通过SQL对数据进行安全性控制。 二、实验平台 SQL Server 2008 三、实验内容和要求 1、掌握Windows登录名和SQL SERVER登录名的建立与删除方法; 2、掌握数据库用户创建与管理的方法; 3、掌握服务器角色的用法; 4、掌握数据库权限授予、拒绝和撤销的方法; 四、实验步骤 (一)授权与回收。 [例1]授权。在SQL Sever 中建立多个用户,给他们赋予不同的权限,然后查看是否真正拥有被授予的权限了。 1)建立用户U1、U2、U3、U4、U5、U6、U7。 2)以系统管理员身份对这7个用户进行授权。 [例1-1]把查询Student 表的权限授给用户U1。 GRANT SELECT ON Student TO U1; [例1-2]把对Student 表和Course 表的全部操作权限授予用户U2 和U3。 GRANT ALL PRIVILEGES ON Student TO U2,U3; GRANT ALL PRIVILEGES ON Course TO U2,U3; [例1-3]把对表SC 的查询权限授予所有用户。 GRANT SELECT ON SC TO PUBLIC; [例1-4]把查询Student 表和修改学生学号的权限授给用户U4。 GRANT UPDATE (Sno) , SELECT ON Student TO U4; [例1-5]把对表SC 的INSERT 权限授予U5,并允许U5 将此权限再授予其他用户。 GRANT INSERT ON SC TO U5

WITH GRANT OPTION; [例1-6]用户U5 将对表SC 的INSERT 权限授予U6,并允许将权限转授给其他用户。 首先应该以U5 的身份重新登录数据库,然后再进行授权。 GRANT INSERT ON SC TO U6 WITH GRANT OPTION; [例1-7]用户U6 将对表SC 的INSERT 权限授予U7。 首先应该以U6 的身份重新登录数据库,然后再进行授权。 GRANT INSERT ON SC TO U7; 3)在授权之后验证用户是否拥有了相应的权限。 在执行完上面七个语句之后,我们可以分别以不同用户的身份登录数据库,进行相关操作,检查系统是否许可。例如: [例1-8]U4 更新Student 表的学生学号。 UPDATE Student SET SNO = ‘95101’ WHERE SNO = ‘95001’; 显示更新 1 条记录,即U4 用户拥有了对Student 表Sno 的更新权限。[例1-9]U7 向SC 表中插入一条数据:(95020,20,88)。 INSERT INTO SC V ALUES(‘95020’,’20’,88); 显示插入 1 条记录,即用户U7 拥有了对SC 表的插入权限。 [例2]回收权限。将[例1]授予的权限部分收回,检查回收后,该用户是否真正丧失了对数据的相应权限。 1)回收权限。 [例2-1]收回用户U4 修改学生学号的权限。 当前用户为SYSTEM,直接执行下列语句: REVOKE UPDATE (SNO) ON Student FROM U4; [例2-2]收回所有用户对表SC 的查询权限。 REVOKE SELECT ON SC FROM PUBLIC; [例2-3]收回用户U5 对SC 表的INSERT 权限。 将权限INSERT 授予给用户U5 时,允许该用户将权限再授予给其他用户;之后,用户U5 将INSERT 权限转授给了U6,U6 又将权限转授给U7。因此,将用户U5 的INSERT 权限收回的时候必须级联收回,不然系统将拒绝执行该命令: REVOKE INSERT ON TABLE SC FROM U5 CASCADE;

数据库实验四(含答案)

实验四使用SQL语句创建和删除数据库、表 一. 实验目的: 1、了解SQL Server 2005数据库的逻辑结构和物理结构。 2、掌握使用SQL 语句创建和删除数据库。 3、学会使用T-SQL语句创建表。 二. 实验准备 1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 2.了解用SQL语句创建和删除数据库的基本语法。 3.是用查询分析器,完成用SQL语句创建和删除基本表。 三. 实验要求 1、熟练使用查询分析器进行数据库的创建和删除操作。 2、用查询分析器,完成用SQL语句创建和删除基本表。 3、完成实验报告。 四. 实验内容 一、数据库 1.以下是创建数据库userdb1的SQL语句, create database userdb1 on (name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1) 运行上诉语句建立数据库userdb1

句,并建立“学生信息”数据库.(.mdf的名字可以修改) 3.数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。 alter database 数据库名 add file() 注括号内格式同下: ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 ,

实验1 目录、文件与用户权限管理

《Linux网络管理课程实验报告书》 实验1 目录、文件与用户权限管理 一、实验目的 1.了解Linux的多用户、多任务的特征与使用方法。 2.掌握Linux bash shell的配置和测试方法。 3.熟练掌握Linux 的基础命令,包括目录与文件的操作、用户与群组操作、用户与文件关联的权限管理等。 二、实验环境 Red Hat Linux计算机一台。使用终端方式完成以下实验内容,建议使用窗口方式重复操作序列并比较效率和感觉。 三、实验内容 1、目录与文件操作 创建目录test并进入test 创建目录d1 进入d1 新建文件tx1 以vi打开tx1,输入内容“This is tx1.”,保存之并查看 复制tx1为tx2 重命名tx2为tx3 以vi打开tx3,更改内容“This is tx3.”,保存之并查看 退出d1

运行步骤及运行结果为: 复制d1为d2 重命名d1为d4 列出test的内容(包括子目录)运行步骤及运行结果为:

创建目录d3 进入d3 新建文件tx3 退出d3 运行步骤及运行结果: 将d2移入d3 列出d3的内容(包括子目录) 列出d3内,文件名包含 tx 的文件(包括子目录)运行步骤及运行结果为: 删除d4内的tx1 完整删除d4 完整删除d3 列出test的内容 运行步骤及运行结果为: 2、用户与群组操作

新增用户u1,并为其设置口令//在以下权限实验中,将成为文件主 新增用户u2,并为其设置口令//将成为文件主的同组成员 查看新增用户信息 查看新增群组信息 运行步骤及运行结果为: 输入cat /etc/passwd 输入cat /etc/group 3、用户与文件关联的权限管理 3.0 文件共享性质分类与文件权限设置 切换到用户u1,进入其主目录/home/u1 以vi新建pub,输入内容“u1's share to all”,保存之并查看。 设置文件属性为rw-rw-rw- 以vi新建prt,输入内容“u1's share to my group”,保存之并查看设置文件属性为rw-rw---- 以vi新建priv,输入内容“u1's secret”,保存之并查看 设置文件属性为rw------- 新建目录d_priv,查看并记录目录属性 运行步骤及运行结果为:

数据库安全性和完整性实验

实验9:数据库安全性实验 一、实验目的 加深对数据库安全性的理解,并掌握SQL Server中有关用户、角色及操作权限的管理方法。 二、实验内容 1.数据库的安全性实验。在SQL Server企业管理器中,设置SQL Server 的安全认证模式,实现对SQL Server的用户和角色的管理,设置和管理 数据操作权限。 三、实验原理和步骤 1.设置SQL Server的安全认证模式,选择混合模式。 右键服务器属性-安全性:选择SQL Server和Windows身份验证模式。 重启服务,生效。 2.账号: sa账号登录 3.登录帐号的管理

1)将Windows帐号添加到SQL Server 2005中 创建操作系统用户- 4.数据库用户的管理 1)dbo用户; 查看banking数据库的dbo用户,查看用户权限。 2)U1用户; 创建banking数据库的U1用户,查看用户权限。 5.权限管理 1)赋予所创建的U1用户db_datareader角色,查看用户权限 2)赋予所创建的U1用户db_datawriter角色,查看用户权限 3)赋予所创建的U1用户db_owner角色,查看用户权限 4)两种方法赋予所创建的U1用户对banking数据库表customer的select 权限,验证并写出sql语句 5)两种方法赋予所创建的U1用户对banking数据库表branch的select 和对branch_name修改的权限,验证并写出sql语句 6)把对loan表的update权限授予所创建的U1用户用户,并允许将此 权限再授予其他用户,验证并写出sql语句 7)两种方法回收所创建的U1用户对banking数据库表customer的select 权限,验证并写出sql语句 8)两种方法回收所有用户对banking数据库表loan的update权限,验 证并写出sql语句 四、实验报告要求 要求写出如下设计报告: 1.用Transact-SQL写出实验操作的语句 2.实验步骤和实验结果。 3.实验中的问题和提高。 4.SQL Server中有的安全性功能。 五、注意事项 1.用户、角色和权限的职能,以及它们之间的关系。

实验5 账户与权限管理

实验六账户与权限管理 1.目的和要求 (1)练习Linux的账号管理命令。 (2)了解计算机用户和工作组的基本概念。 (3)掌握计算机用户的相关管理方法 2.实验环境 硬件:PC机软件:ubuntu操作系统、虚拟机 3.实验步骤 任务1:用户与组管理 1)新建用户student 2)修改student的密码为student123 3)切换到第二个虚拟终端,并以student登录 4)切换到root权限 5)新建组students 6)删除组students 7)新建用户stu,并修改密码为stu123 8)修改stu的主目录为/root 9)请问stu这个用户能登录么?为什么? 10)修改stu用户的主目录为/home/stu 11)切换到另一个虚拟终端,并以stu登录 12)查询目前登陆到系统的用户 13)发送广播hello(发送后切换到其他终端看看收到消息了么?然后切换回来) 14)结束会话。 任务2:权限管理 1)设置文件权限 在用户主目录下创建目录test,进入test 目录创建空文件file1。并以

长格形式显示文件信息,注意文件的权限和所属用户和组。 mkdir touch ll ●对文件file1 设置权限,使其他用户可以对此文件进行写操作。并查看 设置结果。 ●取消同组用户对此文件的读取权限。查看设置结果。 ●用数字形式为文件file1 设置权限,所有者可读、可写、可执行;其他 用户和所属组用户只有读和执行的权限。设置完成后查看设置结果。 ●用数字形式更改文件file1 的权限,使所有者只能读取此文件,其他任 何用户都没有权限。查看设置结果。 ●为其他用户添加写权限。查看设置结果。 ●回到上层目录,查看test 的权限。 ●为其他用户添加对此目录的写权限。 2)改变文件的所有者 ●查看目录test 及其中文件的所属用户和组。 ll; ll –r test/ ●把目录test 及其下的所有文件的所有者改成bin,所属组改成daemon。 查看设置结果。 ●删除目录test 及其下的文件。 4.实验报告要求 按实验步骤执行,在实验报告上详细描述执行流程(使用命令及操作流程),并要求加适当截图来描述操作过程和显示结果。

数据库实验上机答案整理-中国石油大学-龚安

实验四SQL练习2 一、实验目的 1.掌握索引的建立、删除及使用; 2.掌握单表查询、连接查询、嵌套查询和集合查询; 3.掌握插入数据、修改数据和删除数据语句的非常用形式。二、实验学时 2学时 三、实验内容 1.利用Query Analyzer完成以下操作: ⑴在预算日期、结算日期和入账日期上分别建立索引,并在查询操作中体会索引的作用。 ⑵在完成第2题的查询操作后,删除预算日期、结算日期和入账日期上的索引。 2.利用Query Analyzer完成以下操作: ⑴采油一矿二队2016-5-1到2016-5-28有哪些项目完成了预算,列出相应明细。 ⑵采油一矿二队2016-5-1到2016-5-28有哪些项目完成了结算,列出相应明细。 ⑶采油一矿二队2016-5-1到2016-5-28有哪些项目完成了结算,列出相应的材料费消耗明细。 ⑷采油一矿二队2016-5-1到2016-5-28有哪些项目完成了入账,列出相应明细。

⑸列出采油一矿二队2016-5-1到2016-5-28总的预算金额。 ⑹列出采油一矿二队2016-5-1到2016-5-28总的结算金额。 ⑺列出采油一矿二队2016-5-1到2016-5-28总的入账金额。 ⑻列出采油一矿2016-5-1到2016-5-28总的入账金额。 ⑼有哪些人员参与了入账操作。 ⑽列出2016-5-1到2016-5-28进行了结算但未入账的项目。 ⑾列出采油一矿二队的所有项目,按入账金额从高到低排列。 ⑿列出有哪些施工单位实施了项目,并计算各单位所有项目结算金额总和。 ⒀找出消耗了材料三且消耗超过了2000元的项目,列出相应消耗明细(利用子查询)。 ⒁作业公司二队参与了哪些项目。 ⒂作业公司一队和二队参与了哪些项目(利用union)。 ⒃采油一矿的油井是哪些作业队参与施工的。 3.利用Query Analyzer完成以下操作: ⑴建立数据表(包含3个属性列:★施工单位、★年月、◆结算金额)保存各个施工单位每月的结算金额总和。 ⑵用子查询将各个施工单位每月的结算金额总和插入到所建立的数据表中。 ⑶用带子查询的修改语句将采油一矿油井作业项目的结算人改为“李兵”。 ⑷用带子查询的删除语句删除采油一矿油井作业项目。

操作系统实验5文件系统:Linux文件管理

实验5 文件系统:Linux文件管理 1.实验目的 (1)掌握Linux提供的文件系统调用的使用方法; (2)熟悉文件和目录操作的系统调用用户接口; (3)了解操作系统文件系统的工作原理和工作方式。 2.实验内容 (1)利用Linux有关系统调用函数编写一个文件工具filetools,要求具有下列功能:*********** 0. 退出 1. 创建新文件 2. 写文件 3. 读文件 4. 复制文件 5. 修改文件权限 6. 查看文件权限 7. 创建子目录 8. 删除子目录 9. 改变当前目录到指定目录 10. 链接操作 *********** 代码: #include #include #include #include #include #include #include #include void menu(void); void openfile(void); void writefile(void); void readfile(void); void copyfile(void); void chmd(void); void ckqx(void); void cjml(void); void scml(void); void ggml(void); void ylj(void); int main() { int choose; int suliangjin=1;

menu(); scanf("%d",&choose); while(choose!=0) { switch(choose) { case 1:openfile();break; case 2:writefile();break; case 3:readfile();break; case 4:copyfile();break; case 5:chmd();break; case 6:ckqx();break; case 7:cjml();break; case 8:scml();break; case 9:ggml();break; case 10:ylj();break; } menu(); scanf("%d",&choose); } return 0; } void menu(void) { printf("文件系统\n"); printf("1.创建新文件\n"); printf("2.写文件\n"); printf("3.读文件\n"); printf("4.复制文件\n"); printf("5.修改文件权限\n"); printf("6.查看文件权限\n"); printf("7.创建子目录\n"); printf("8.删除子目录\n"); printf("9.改变目前目录到指定目录\n"); printf("10.链接操作\n"); printf("0.退出\n"); printf("请输入您的选择...\n"); } void openfile(void) { int fd; if((fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666))<0) perror("open");

数据库的安全性实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验:数据库的安全性实验 课程:数据库原理及应用B 班级:网络1203 学号: 学生姓名: 任课教师:孟彩霞

一、实验目的 (1)理解SQL Server验证用户身份的过程,掌握设置身份验证模式的方法(2)理解登录帐号的概念,掌握混合认证模式下登录帐号的建立与取消方法 (3)掌握混合认证模式下数据库用户的建立与取消方法 (4)掌握数据库用户权限的设置方法 (5)理解角色的概念,掌握管理角色技术 二、实验内容 (1)在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。 (2)创建、管理数据库服务器的登录账号。 (3)创建、管理数据库用户。 (4)管理用户权限。 (5)创建、管理数据库角色。 三、实验环境 Windows7 SQL SERVER 2012 四、实验前准备 课本 上机使用代码 五、实验步骤 1.在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。 2.创建、管理数据库服务器的登录账号。用T-SQL语句创建、查看、删除登录账号。 创建一个名为Student、密码为111、使用的默认数据库为JWGL的登录账号。 EXEC sp_addlogin ‘student’,’111’,’JWGL’查看登录账号EXEC sp_helplogins 删除登录账号为EXEC sp_droplogins ‘student’ 3.创建、管理数据库用户。 用T-SQL语句创建、查看、删除数据库用户。 为数据库JWGL创建一个用户user1,该用户登录SQL Server服务器的账号为wang,登录密码为secret,相应的程序代码为: EXEC sp_addlogin ‘wang’, ‘secret’, ‘JWGL’ GO EXEC sp_grantdbaccess ‘wang’, ‘user1’查看数据库用户为EXEC sp_helpuser 删除数据库中的“wang”用户为EXEC sp_revokedbaccess ‘wang’ 4.管理用户权限。 使用T-SQL语句完成第3章习题12中(1)~(3)的用户管理和用户权限管理。企业管理器: (1)允许用户李明对Orders表进行插入、删除操作。 GRANT INSERT ,DELETE ON Orders TO ‘李明’

实验五、用户管理与权限管理

实验五、用户管理和权限管理 一、实验目的 1、掌握对系统用户和组的建立与管理。 2、掌握linux的文件访问权限和访问权限类型。 3、掌握如何设置文件访问权限。 二、实验重点与难点 1、学会使用useradd、usermod和userdel命令 2、学会使用chmod设置文件权限 三、实验内容及步骤 1)查看/etc/passwd文件和/etc/shadow文件内容,识别该文件中记录的信 息内容。 2)使用YaST创建新用户user1和用户组group1,将用户user1加入到组 group1。 3)用useradd命令建立2个用户admin和geeko(注意要求创建用户主目 录),设定好对应的用户密码,再用groupadd命令建立一个用户组school。 4)使用命令将admin用户改名为administrator。 5)使用命令将administrator账户锁定,然后再使用该账户登录系统,观 察会发生什么?然后再将账号解除锁定。 6)将linux系统注销使用geeko账号登录,在geeko的主目录下创建两个 新的文件K1,K2。在/tmp目录下创建两个文件W1,W2。 7)删除geeko账号及其主目录。并尝试删除所有属于geeko用户的文件。 8)在/tmp目录中创建两个新文件newfile,test,将newfile文件访问权限 设置为rwxrw-rw-,test文件访问权限设置为rwxr--r-- 。 9)使用su命令将用户身份切换至administrator,将“I can read and write”写入newfile文件中,并保存。是否可以对test文件进行编辑? 10)如果要实现其他用户对test文件的编辑权限,应该如何设置该文件的 权限?写出操作的命令。 11)创建一个目录directory,将目录访问权限设置为rwxrwxrw-。

数据库实验四(含答案)

实验四使用SQL语句创建与删除数据库、表 一、实验目的: 1、了解SQL Server 2005数据库的逻辑结构与物理结构。 2、掌握使用SQL 语句创建与删除数据库。 3、学会使用T-SQL语句创建表。 二、实验准备 1.明确能够创建数据库的用户必须就是系统管理员,或就是被授权使用CREATE DATABASE语句的用户。 2.了解用SQL语句创建与删除数据库的基本语法。 3.就是用查询分析器,完成用SQL语句创建与删除基本表。 三、实验要求 1、熟练使用查询分析器进行数据库的创建与删除操作。 2、用查询分析器,完成用SQL语句创建与删除基本表。 3、完成实验报告。 四、实验内容 一、数据库 1.以下就是创建数据库userdb1的SQL语句, create database userdb1 on (name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 'g:\xygl\userdb4、mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M )--数据文件每次增长1M log on ( name=userdb4_log, 'g:\xygl\userdb4、ldf ' , size=2 , maxsize=5 , ) 运行上诉语句建立数据库userdb1

2.根据步骤1的sql语句,写出创建实验二中“学生信息”数据库的sql语句,并建立“学生信息”数据库、(、mdf的名字可以修改) 3、数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。 alter database 数据库名 add file() 注括号内格式同下: ( name=userdb4_log, 'g:\xygl\userdb4、ldf ' , size=2 , maxsize=5 ,

数据库安全性与完整性实验

数据库原理及应用 实验报告 题目:数据库安全性与完整性实验 专业:网络工程 班级: 学号: 姓名: 太原工业学院计算机工程系 2016年10 月15日一、实验目的与要求 目的: 使学生加深对数据安全性与完整性实验的理解,并掌握SQL Server中有关用户,角色及操作权限的管理方法,熟悉通过SQL语句副i数据进行完整性控制。 要求: 1.数据库的安全性实验,在SQL Server企业管理器中设置SQL server的安全认证模式,实现对SQL server的用户和角色管理,设置和管理数据操作权限。 2.指出用户和角色的区别 二、实验内容 1.设置SQL server的安全认证模式(windows或SQL server和Windows(s)认证模式)、。 2.登陆的管理 创建一个登录用户 3.数据库用户的管理 登录用户只有成为数据库(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。 4.角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。 5.在学生表中定义主键、外键约束 6.在课程表的“课程名”字段上定义唯一约束 7.在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100. “课程号”字段只能输入数字字符 8.定义规则,并绑定到学生表的“性别”字段,使之只能取“男、女”值 9.在学生表中增加出生年月字段,定义缺省,并绑定到学生表的出生日期上,使之只能取当前日期。

综合实验4 数据库安全性及用户权限管理

综合实验4 数据库安全性及用户权限管理 一、实验目的: 1、理解SQL Server 2005身份验证模式; 2、学会创建和管理登录账户; 3、学会创建和管理数据库用户; 4、学会管理服务器角色; 5、学会管理和创建数据库角色; 6、学会给用户授予、拒绝和撤销权限的方法。 二、实验内容: 说明:使用T-SQL语句或者系统存储过程完成以下内容,并使用SQL Server Management Studio进行查看与验证。 1、登录账户及服务器角色 (1)创建两个SQL Server身份验证的登录,其中一个账户为Login1,密码为;另一个账户为Login2,密码为。 use sales go create login Login1 with password='123456' create login Login2 with password='123' (2)创建一个Windows身份验证的登录,其中Windows用户名称为Login3。 create login [20090814-1433\Login3] from Windows (3)把登录账户Login1重新命名为Login1Test。 alter login login1 with name=Login1Test (4)更改登录账户Login2的密码为abc。 alter login login2 with password='abc' (5)禁用登录账户Login2的登录。 alter login login2 disable (6)启用登录账户Login2的登录。 alter login login2 enable (7)给登录账户Login2赋予securityadmin角色。 sp_addsrvrolemember'login2','securityadmin' (8)给以上所创建的Windows身份验证的登录账户赋予sysadmin角色。 sp_addsrvrolemember'20090814-1433\Login3','sysadmin' (9)分别撤销给登录账户所赋予的服务器角色。 sp_dropsrvrolemember'login2','securityadmin' sp_dropsrvrolemember'20090814-1433\Login3','sysadmin' 2、数据库用户及数据库角色 (1)创建sales数据库用户User1,其对应的登录账户为Login1Test,角色为 db_accessadmin。 create user user1 for login Login1Test sp_addrolemember'db_accessadmin','user1' (2)创建sales数据库用户User2,其对应的登录账户为Login2,角色为db_datawriter。create user user2 for login Login2

数据库原理实验报告四(有答案)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验四查询设计实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)了解查询的目的,掌握SELECT语句的基本语法和查询条件的表示方法。 (2)掌握数据排序和数据联接查询的方法。 (3)掌握SQL Server查询分析器的使用方法。 2.实验要求 (1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下单表查询 操作,并将将调试成功的T-SQL命令,填入实验报告中。 a)查询所有课程的详细情况。 b)查询来自江苏或山东的学生学号和姓名,并以中文名称显示输出的列名。 c)查询选修了课程的学生学号(一人选了多门课程的话,学号只显示一次)。 d)查询选修课程号为07253001的学号和成绩,并要求对查询结果按成绩降 序排列,如果成绩相同则按学号升序排列。 e)查询所有学生的学号、姓名和年龄。 f)查询选修课程号为07253001的成绩在85-95之间的学生学号和成绩,并 将成绩乘以0.7输出。 g)查询数学与信息技术学院(DEPT_ID为07)或物理与电子工程学院 (DEPT_ID为09)姓张的学生的信息。。 h)查询所有核心课程(课程名中带*的)的情况。 i)查询缺少了成绩的学生的学号和课程号,查询结果按课程号升序排列。 (2)在SQL Server查询分析器中,用T-SQL语句实现下列数据联接查询操作: a)查询每个学生的情况以及他(她)所选修的课程。 b)查询学生的学号、姓名、选修的课程名及成绩。 c)查询选修C语言程序设计且成绩为85分以上的学生学号、姓名及成绩。 d)查询和学生柏文楠是同一个民族的学生(用自身联接实现)。 e)分别用等值联接和内联接查询有授课记录的老师的姓名。 f)用外联接查询所有老师的授课情况,输出老师的工号、姓名、职称、院 系、担任的课程号和授课的学期,结果按院系和职称升序排列。如果该 老师没有授课历史,在课程号和授课的学期中显示空值 (3)在SQL Server Management Studio中新建查询,完成以上查询命令的同时,熟悉SQL编 辑器工具栏中各快捷按钮的作用。 (4)按要求完成实验报告。

操作系统实验5文件系统:Linux文件管理制度

操作系统实验5文件系统:Linux 文件管理制度

————————————————————————————————作者:————————————————————————————————日期:

实验5 文件系统:Linux文件管理 1.实验目的 (1)掌握Linux提供的文件系统调用的使用方法; (2)熟悉文件和目录操作的系统调用用户接口; (3)了解操作系统文件系统的工作原理和工作方式。 2.实验内容 (1)利用Linux有关系统调用函数编写一个文件工具filetools,要求具有下列功能:*********** 0. 退出 1. 创建新文件 2. 写文件 3. 读文件 4. 复制文件 5. 修改文件权限 6. 查看文件权限 7. 创建子目录 8. 删除子目录 9. 改变当前目录到指定目录 10. 链接操作 *********** 代码: #include #include #include #include #include #include #include #include void menu(void); void openfile(void); void writefile(void); void readfile(void); void copyfile(void); void chmd(void); void ckqx(void); void cjml(void); void scml(void); void ggml(void); void ylj(void); int main() { int choose; int suliangjin=1;

相关主题
文本预览
相关文档 最新文档