第12章 管理SQL Server 2005的安全性.ppt_第1页
第12章 管理SQL Server 2005的安全性.ppt_第2页
第12章 管理SQL Server 2005的安全性.ppt_第3页
第12章 管理SQL Server 2005的安全性.ppt_第4页
第12章 管理SQL Server 2005的安全性.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数 据 库 原 理 与 应 用(SQL Server 2005),第12章 管理SQL Server 2005的安全性,第1章 管理SQL Server 2005的安全性,任务目标: 掌握管理两类SQL Server 2005登录帐户的方 法 掌握管理SQL Server 2005数据库用户的方法 掌握管理服务器角色的方法 掌握管理数据库角色的方法 掌握管理权限的方法,第12章 管理SQL Server 2005的安全性,12.1 SQL Server 的安全体系 12.2 服务器级别的安全机制 12.3 数据库级别的安全性 12.4 数据库对象级别的安全性 习题与实验,12.1 SQL Se

2、rver 的安全体系,12.1.1操作系统级别安全性,图12-1 SQL Server的安全性控制策略四层体系,SQL Server 2005安全性体系由四层构成:操作系统的安全性、服务器的安全性、数据库的安全性以及表和列级的安全性,可以用图12-1表示。,在用户使用客户计算机通过网络实现对SQL Server服务器的访问时,用户首先要获得客户计算机操作系统的使用权。 一般来说,在能够实现网络互连的前提下,用户没有必要向SQL Server服务器的主机进行登录,除非SQL Server服务器就运行在本地计算机上。SQL Server可以直接访问网络端口,所以可以实现对Windows NT或Wi

3、ndows 2000 Server安全体系以外的服务器及其数据库的访问。操作系统的安全性是操作系统管理员或网络管理员的任务。,12.1 SQL Server 的安全体系,12.1.1操作系统级别安全性,SQL Server服务器的安全性是建立在控制服务器登录帐号和口令的基础上的。SQL Server采用了标准的SQL Server 登录和集成Windows登录两种方法。无论是哪种登录方式,用户在登录时提供的登录帐号和口令决定了用户能否获得对SQL Server 服务器的访问权,以及在获得访问权后用户可以利用的资源。设计和管理合理的登录方式是SQL Server数据库管理员(DBA)的重要任务,

4、在SQL Server的安全体系中,DBA是发挥主动性的第一道防线。 SQL Server事先设计了许多固定的服务器角色,可供具有服务器管理员资格的用户分配和使用,拥有固定服务器角色的用户可以拥有服务器级的管理权限。,12.1 SQL Server 的安全体系,12.1.2 服务器级别的安全性,在用户通过SQL Server服务器的安全性检查以后,将直接面对不同的数据库入口。这是用户接受的第三次安全性检查。默认情况下,只有数据库的所有者才可以访问该数据库内的对象,数据库的所有者可以给其他用户分配访问权限,以便让其他用户也拥有针对该数据库的访问权。一个用户在取得合法的登录帐号,只表明该帐号可以通

5、过Windows认证或SQL Server认证,其在当前服务器上可以访问哪些数据库,以及对数据库内的数据及数据对象进行哪些操作,与该帐号对应的数据库用户所有的权限有关。 SQL Server提供了许多固定的数据库角色,可以用来在当前数据库内向用户分配部分权限。同时,还可以创建用户自定义的角色,来实现特定权限的授予。,12.1 SQL Server 的安全体系,12.1.3数据库级别的安全性,数据库对象的安全性是核查用户权限的最后一个安全等级。在创建数据库对象时,SQL Server自动将该数据库对象的所有权赋予该对象的创建者。对象的所有者可以实现以该对象的完全控制。 默认情况下,只有数据库的所

6、有者可以在该数据库下进行操作。当一个普通用户想访问数据库内的对象时,必须事先由数据库的所有者赋予该用户关于某指定对象的指定操作权限。例如,一个用户想访问某数据库表的信息,则他必须在成为数据库的合法用户的前提下,获得由数据库所有者分配的针对该表的访问许可。,12.1 SQL Server 的安全体系,12.1.4数据库对象级别的安全性,SQL Server 2005提供了两种确认用户的验证模式:即“Windows身份验证模式”和“SQL Server和Windows身份验证模式”。 1Windows身份验证 Windows身份验证模式是指只允许使用Microsoft Windows登录账户连接S

7、QL Server服务器。这是默认的身份验证模式。它要求用户登录到Windows,当用户访问SQL Server数据库时,不必再次等进行登录验证,这就表明服务器将客户机的身份验证任务完全交给了Windows操作系统。Windows身份验证通过强密码的复杂性验证提供密码策略强制,提供帐户锁定支持,并且支持密码过期。,12.2 服务器级别的安全机制,12.2.1 选择身份验证模式,2SQL Server和Windows身份验证模式(混合模式) 混合模式是指允许用户使用Windows身份验证或SQL Server身份验证进行连接SQL Server服务器。用户使用Windows身份验证与上面相同。用

8、户使用SQL Server身份验证时,用户登录到Windows,当用户再访问SQL Server数据库时,它要求必须提供一个已存在的SQL Server登录帐户和密码,这些登录信息存储在系统表syslogins中,与Windows登录帐户无关。SQL Server自己执行认证处理,如果输入的登录信息与系统表syslogins中的某条记录相匹配,则表明登录成功。 如果必须选择“混合模式身份验证”并要求使用SQL Server登录,则应该为所有SQL Server帐户设置强密码。这样密码不容易被人猜出,也不容易受到恶意程序的攻击,从而提高了数据库服务器的安全性。,12.2 服务器级别的安全机制,1

9、2.2.1 选择身份验证模式,任务12-1 更改身份验证模式。 任务分析:SQL Server 2005安装时,默认的身份验证模式是“Windows身份验证模式”,若在安装时未更改身份验证模式,可以通过在SSMS做相应地设置来更改身份验证模式。此时用户必须使用系统管理员帐号,登录SSMS来做如下操作。,12.2 服务器级别的安全机制,12.2.1 选择身份验证模式,1)打开SSMS,右击SQL Server服务器名称,在弹出的快捷菜单中选择“属性”选项,打开“服务器属性”对话框。在窗口左端选择“安全性”选择页,如图12-2所示。,12.2 服务器级别的安全机制,12.2.1 选择身份验证模式,

10、(2)根据需要单击“服务器身份验证”下面对应的“Windows身份验证模式”或“SQL Server和Windows身份验证模式”单选按钮,并单击“确定”按钮.。,1、登录帐号类型 在SQL Server 2005中有两类登录帐号:Windows登录帐号和SQL Server登录帐号。 1)Windows登录帐号是由Windows服务器负责验证SQL Server登录帐号用户身份的身份验证方式,由Windows帐号或组控制用户对SQL Server系统的访问。 2)SQL Server登录帐号是SQL Server 2005自身负责验证身份的登录帐号。当使用SQL Server登录帐号和口令的

11、用户连接SQL Server服务器时,由SQL Server 2005验证该用户是否在syslogins表中,且其口令是否与以前记录的口令匹配。,12.2 服务器级别的安全机制,12.2.2 使用SSMS创建和管理登录帐号,2、创建登录帐号 任务12-2 使用SSMS为Windows用户Mary创建登录,授权其登录SQL Server。 任务分析:只有sysadmin或securityadmin服务器角色的成员可以创建、修改和删除登录帐号。,12.2 服务器级别的安全机制,12.2.2 使用SSMS创建和管理登录帐号,2、创建登录帐号 任务12-3 使用SSMS创建SQL Server帐号Ro

12、se。 任务分析:如果某用户不具备当前Windows系统的使用权限,即没有合法的Windows帐户,但必须使用当前Windows服务器上的SQL Server服务,此时可以为其创建SQL Server帐号。,12.2 服务器级别的安全机制,12.2.2 使用SSMS创建和管理登录帐号,3、拒绝或禁用登录帐号 任务12-4 使用SSMS拒绝Windows登录帐号Mary。 任务分析:有时可能需要暂时拒绝或禁用一个登录帐户连接到SQL Server服务器,过一段时间后再恢复,此时可以在暂时修改该登录名的状态。,12.2 服务器级别的安全机制,12.2.2 使用SSMS创建和管理登录帐号,4、删除登

13、录帐号 任务12-5 使用SSMS删除 Windows登录帐号Mary。 任务分析:如果某些帐户不再需要了,为了方便管理可以将其删除,可以使用SSMS直接删除登录帐号。,12.2 服务器级别的安全机制,12.2.2 使用SSMS创建和管理登录帐号,1创建登录帐号 创建Windows登录的基本语法如下: CREATE LOGIN 域名用户名 FROM WINDOWS 创建SQL Server登录的基本语法如下: CREATE LOGIN 登录名 WITH PASSWORD=密码 对于SQL Server登录,可以在创建登录时指定如下选项: MUST_CHANGE:指定用户在下次登录时必须更改密码

14、; CHECK_EXPIRATION:指定将检查Windows过期策略; CHECK_POLICY:指定将应用本地Windows密码策略。,12.2 服务器级别的安全机制,12.2.3 使用T-SQL创建和管理登录帐号,任务12-6 使用T-SQL语句创建SQL Server登录帐号John,密码为Abc123。 实现本任务的脚本及运行结果如图12-3所示。,12.2 服务器级别的安全机制,12.2.3 使用T-SQL创建和管理登录帐号,图12-3 创建SQL Server登录帐号John,2修改登录帐号 如果需要改变登录属性,可以使用ALTER LOGIN语句。,12.2 服务器级别的安全机

15、制,12.2.3 使用T-SQL创建和管理登录帐号,ALTER LOGIN 登录名 WITH PASSWORD=新密码,任务12-7 使用T-SQL语句方式修改SQL Server帐户John密码为Abc123#S。 实现本任务的脚本及运行结果如图12-4。,12.2 服务器级别的安全机制,12.2.3 使用T-SQL创建和管理登录帐号,图12-4 修改SQL Server帐户John的密码,3、删除登录帐号 如果需要删除一个登录名,可以使用DROP LOGIN语句: DROP LOGIN 登录名 也可以使用如下语句删除一个Windows登录名: DROP LOGIN 域名用户名,12.2 服

16、务器级别的安全机制,12.2.3 使用T-SQL创建和管理登录帐号,图12-9 创建SQL Server登录帐号John,任务12-8 使用T-SQL语句删除John。 实现本任务的脚本及运行结果如图12-5所示。,12.2 服务器级别的安全机制,12.2.3 使用T-SQL创建和管理登录帐号,图12-5 删除SQL Server登录帐号John,1、服务器角色概念 服务器角色是执行服务器级别管理操作的用户权限的集合 . SQL Server提供的8个固定服务器角色,其具体含义如表12-1: 表12-1 SQL Server 2005的服务器角色 固定服务器角色权限描述Sysadmin可以在S

17、QL Server中做任何事情Serveradmin管理SQL Server服务器范围内的配置Setupadmin添加、删除连接服务器,建立数据库复制,管理扩展存储过程。Securityadmin管理数据库登录Processadmin管理SQL Server进程Dbcreator创建数据库,并对数据库进行修改Diskadmin管理磁盘文件Bulkadmin可以运行Bulk Insert语句,12.2 服务器级别的安全机制,12.2.4 服务器角色,2、将登录名映射到服务器角色 任务12-9 使用SSSMS将Rose映射到服务器角色sysadmin中。 任务分析:SQL Server服务器角色内

18、置的,只能将用户映射到该角色或从角色中删除。,12.2 服务器级别的安全机制,12.2.4 服务器角色,图12-11 删除SQL Server登录帐号John,任务12-10 使用T-SQL语句将John映射到服务器角色sysadmin中。 任务分析: sp_addsrvrolemember将登录帐号添加到当前服务器的固定服务器角色中,成为该角色的成员,从而具有该角色的权限。语法格式如下: sp_addsrvrolemember登录名,角色名 实现本任务的T-SQL脚本及运行结果如图12-6所示:,12.2 服务器级别的安全机制,12.2.4 服务器角色,图12-11 删除SQL Server

19、登录帐号John,12.2 服务器级别的安全机制,12.2.4 服务器角色,图12-6 添加服务器角色成员,当然也可以删除服务器角色成员,利用sp_dropsrvrolemember将前服务器的固定服务器角色中删除登录帐号,收回该帐号在对应服务器的权限,12.2 服务器级别的安全机制,12.2.5 关于sa,Sa,System Adminstrator的缩写,是 SQL Server服务器安装成功后自动创建的特殊登录帐户。sa是SQL Server登录账户,在混合模式情况下,sa账户自动启用。sa属于sysadmin角色,因此它拥有最高的管理权限,可以执行服务器范围内的所有操作。用户不能更改s

20、a的属性,也不能删除它。,12.3 数据库级别的安全性,12.3.1 使用SSMS添加和管理数据库用户,在SQL Server中,数据库用户和登录帐号是两个不同的概念。一个服务器登录帐号要访问数据库,必须在这个数据库内有数据库用户与其对应。,12.3 数据库级别的安全性,12.3.1 使用SSMS添加和管理数据库用户,1添加数据库用户 任务12-11 使用SSMS将登录帐号添John加入到SGMS数据库中,用户名为John1。 任务分析:一个服务器登录帐号要访问数据库,必须在数据内有数据库用户与其对应,而且也只能有一个。系统管理员可以将一个服务器登录帐户映射到用户需要访问的每一个数据库中的一个

21、用户帐号户和角色上,该数据库用户拥有的权限决定了登录帐号在该数据库上的操作权限。只有sysadmin服务器角色成员或数据库的所有者可以创建数据库用户帐号。,12.3 数据库级别的安全性,12.3.1 使用SSMS添加和管理数据库用户,2、删除数据库用户 当不允许某个登录帐号在数据库中访问时,可以删除与其对应的数据库用户。 任务12-12使用SSMS删除数据库用户John1。 任务分析:删除数据库用户实际上就是删除一个登录账户到一个数据的映射,并不会删除该登录账户。如本任务将删除数据库用户John1,但并不会删除登录账户John。,12.3 数据库级别的安全性,12.3.2 使用T-SQL语句添

22、加和管理数据库用户,1、添加数据库用户 了使登录名能够访问一个数据库,需要为每个需要访问该数据库的登录名创建一个数据库用户,而且应在该用户需要访问的数据库中建立该用户。创建数据库用户的基本语法如下: CREATE USER 数据库用户名 FOR LOGIN 登录名,12.3 数据库级别的安全性,12.3.2 使用T-SQL语句添加和管理数据库用户,任务12-13 使用T-SQL语句将登录帐号Rose映射到SGMS数据库中,用户名为Rose1。 实现本任务的脚本及运行结果如图12-7所示:,图12-7 添加数据库用户Rose1,12.3 数据库级别的安全性,12.3.2 使用T-SQL语句添加和

23、管理数据库用户,2、删除数据库用户 如果该用户不再继续使用,可以使用DROP USER 语句将其删除,该语句的基本语法如下: DROP USER 数据库用户名,12.3 数据库级别的安全性,12.3.2 使用T-SQL语句添加和管理数据库用户,任务12-14 使用T-SQL语句删除数据库用户Rose1。 任务分析:实现本任务的脚本及运行结果如图12-8所示。,图12-8 删除数据库用户Rose1,12.3 数据库级别的安全性,12.3.3 固定数据库角色,SQL Server在安装成功后,提供了十种固定数据库角色,其具体含义如表12-2: 表12-2 SQL Server 2005的固定数据库

24、角色含义 固定数据库角色描述db_owner 拥有数据库的所有许可 db_securityadmin 能修改角色成员的身份和管理权限 db_accessadmin 能添加或删除用户、组或角色 db_backupoperator 能备份数据库 db_datareader 能从数据库表中读数据 db_datawriter 能修改数据库表中的数据 db_ddladmin 能添加、修改或删除数据库对象 db_denydatareader 不能从数据库表中读数据 db_denydatawriter 不修改数据库表中的数据 public 维护全部默认的权限,12.3 数据库级别的安全性,12.3.3 固定

25、数据库角色,任务12-15 使用SSMS将数据库用户John1添加到db_datareader角色中。 任务分析:SQL Server不能对固定数据库角色所具有的权限进行修改,只能向其中加入或删除数据库用户或者其他角色。本任务通过SSMS将数据库用户John1添加db_datareader角色中。,12.3 数据库级别的安全性,12.3.3 固定数据库角色,任务12-16 使用T-SQL语句向db_datareader数据库角色中添加成员Rose1。 任务分析:利用T-SQL语句存储过程sp_addrolemember同样可以向固定数据库角色中添加成员,其语法形式如下: sp_addrolem

26、ember 角色名,数据库用户名 如果删除数据库角色的成员则使用如下语法格式: sp_droprolemember 角色名,数据库用户名 实现本任务的脚本及运行结果如图12-8所示。,12.3 数据库级别的安全性,12.3.3 固定数据库角色,图12-8 添加数据库角色成员Rose1,12.3 数据库级别的安全性,12.3.3 固定数据库角色,2、用户自定义数据库角色 任务12-17 创建自定义数据库角色role1。 任务分析:在SQL Server中,可以使用SSMS和T-SQL语句两种方法来创建和管理用户自定义角色。,12.3 数据库级别的安全性,12.3.3 固定数据库角色,任务12-1

27、8利用 T-SQL语句创建自定义数据库角色role2。 任务分析:使用存储过程CREATE ROLE 语句也可以创建数据库角色。其语法格式为: CREATE ROLE 角色名 实现本任务的脚本及运行结果如图12-9所示。,12.3 数据库级别的安全性,12.3.3 固定数据库角色,图12-9 删除自定义数据库角色role2,12.3 数据库级别的安全性,12.3.4 关于dbo和guest,SQL Server的数据库级别上也存在着两个特殊的数据库用户,分别是dbo和guest。 1、dbo dbo用户是数据库对象的所有者,代表数据库的拥有者。在安装SQL Server时,被设置到model数

28、据库中,而且不能被删除,所以每个数据库中都存在,且具有最高权限,可以在数据范围内执行一切操作。 默认情况下,用户数据库的dbo用户对应于创建该数据库的登录帐号。Sysadmin服务器角色的成员都被自动映射成dbo用户。,12.3 数据库级别的安全性,12.3.4 关于dbo和guest,2、guest guest用户主要是允许没有对应数据库用户的登录帐号访问数据库,从而使该登录者能够访问具有guest用户的数据库。当数据库中有guest 用户时,服务器登录帐号即使在数据库上没有对应的数据库用户,也可以使用guest身份连接到数据库上。不能删除guest用户,但可通过撤消该用户的connect权

29、限将其禁用。 如果一个没有映射到数据库用户的登录名试图访问一个数据库,则SQL Server将自动查找该数据库中有没有Guest用户。SQL Server在每个数据库中创建一个Guest用户。在默认情况下,不允许Guest用户连接到数据库。通过激活Guest用户,可以允许guest连接,其基本语法如下: GRANT CONNECT TO Guest 如果需要禁止通过执行如下语句可以撤销guest连接: REVOKE CONNECT TO Guest,12.4 数据库对象级别的安全性,12.4.1 权限种类,1、对象权限 处理数据或执行过程时需要的权限称为对象权限。对象权限决定了能对表、视图等数

30、据库对象执行哪些操作。如果用户想要对某一对象进行操作,其必须具有相应的操作权限。不同类型的对象支持不同的针对它的操作例,如不能对表对象执行EXECUTE 操作。我们将针对各种对象的可能操作列举如表12-3所示: 表12-3 对象权限表 对象可执行的操作表SELECT、INSERT、UPDATE 、DELETE、REFERENCE视图SELECT、INSERT、UPDATE 、DELETE列SELECT 、UPDATE 存储过程EXECUTE,12.4 数据库对象级别的安全性,12.4.1 权限种类,2、语句权限 语句权限表示对数据库的操作权限。也就是说,创建数据库或者创建数据库中的其他内容所需

31、要的权限类型成为语句权限。只有sysadmin、db_ower和db_securityadmin角色的成员才能授予语句权限。语句权限包括: (1)CREATE DATABASE:创建数据库; (2)CREATE DEFAULT:创建默认; (3)CREATE FUNCTION:创建函数; (4)CREATE PROCEDURE:创建存储过程; (5)CREATE RULE:创建规则; (6)CREATE TABLE:创建表; (7)CREATE VIEW:创建视图; (8)BACKUP DATABASE:备份数据库; (9)BACKUP LOG:备份事务日志。,12.4 数据库对象级别的安全性

32、,12.4.1 权限种类,3、暗示性权限 暗示性权限是指系统安装以后有些用户和角色不必授权就具有的权限。其中的角色包括固定服务器角色和固定数据库角色,用户包括数据库对象所有者。暗示性权限控制那些只能由预定义系统角色的成员或数据库对象所有者执行的活动。,12.4 数据库对象级别的安全性,12.4.2 使用SSMS管理权限,在每个数据库中,用户的权限独立于用户帐户和用户在数据库中的角色,每个数据库都有自己独立的权限系统。权限的管理主要是完成对权限的授权、拒绝和回收。,12.4 数据库对象级别的安全性,12.4.2 使用SSMS管理权限,1使用SSMS授予用户对象权限 任务12-20 为SGMS数据

33、库用户Rose1授予Student表的添加数据的权限。 任务分析:在当前状态下Rose1只是public角色的成员,不具有添加数据的权限。要想让其具备这样的权限,必须为其授予Student表的INSERT权限。,12.4 数据库对象级别的安全性,12.4.2 使用SSMS管理权限,2使用SSMS授予用户语句权限 任务12-21 为用户Rose1授予在SGMS数据库中创建视图和存储过程的权限。 任务分析:要想让其具备创建视图和存储过程的权限,必须为其授予SGMS数据库的CREATE VIEW和CREATE PROCEDURE权限。,12.4 数据库对象级别的安全性,12.4.3 使用T-SQL语

34、句管理权限,1使用T-SQL语句授予权限 GRANT语句用于把指定的权限授予某一用户,授予数据库语句权限的语法格式如下: GRANT ALL | 权限 , n TO 用户 , n WITH GRANT OPTION 授予数据库对象,如指定表、视图、存储过程上相关权限的语法格式如下: GRANT ALL | 权限 , n ON 表 | 视图 | 存储过程 TO 用户 , n WITH GRANT OPTION 授予表或视图上列级权限的语法格式如下: GRANT ALL | 权限 , n ON 表 | 视图 (列名 , n ) TO 用户 , n WITH GRANT OPTION ,12.4 数

35、据库对象级别的安全性,12.4.3 使用T-SQL语句管理权限,任务12-22 授予数据库用户Rose1对Grade表的Select和update权限。 实现本任务的脚本及运行结果如图12-10所示。,图12-10 为rose1授权的T-SQL脚本,12.4 数据库对象级别的安全性,12.4.3 使用T-SQL语句管理权限,任务12-23 为用户Rose1和John1授予SGMS数据库中的CREATE TABLE和CREATE VIEW语句权限。 实现本任务的脚本及运行结果如图12-11所示。,图12-11 为rose1授权的T-SQL脚本,12.4 数据库对象级别的安全性,12.4.3 使用

36、T-SQL语句管理权限,2使用T-SQL语句拒绝权限 显式拒绝数据库语句权限的语法格式如下: DENY ALL | 权限 , n TO 用户 , n CASCADE 显式拒绝数据库对象(如指定表、视图、存储过程)上相关权限的语法格式如下: DENY ALL | 权限 , n ON 表 | 视图 | 存储过程 TO 用户 , n CASCADE 显式拒绝表或视图上列级权限的语法格式如下: DENY ALL | 权限 , n ON 表 | 视图 (列名 , n ) TO 用户 , n CASCADE ,12.4 数据库对象级别的安全性,12.4.3 使用T-SQL语句管理权限,任务12-24 拒绝Rose1更新SGMS 数据库中Grade表。 实现本任务的脚本及运行结果如图12-12所示。,图12-12 拒绝rose1更新Grade表的T-SQL脚本,12.4 数据库对象级别的安全性,12.4.3 使用T-SQL语句管理权限,任务12-25 拒绝数据库用户Jonh1的在SGMS 数据库中创建表和视图。 实现本任务的脚本及运行结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论