Server安全管理

PPT
  • 阅读 34 次
  • 下载 0 次
  • 页数 82 页
  • 大小 251.457 KB
  • 2023-07-23 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档12.00 元 加入VIP免费下载
此文档由【精品优选】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
Server安全管理
可在后台配置第一页与第二页中间广告代码
Server安全管理
可在后台配置第二页与第三页中间广告代码
Server安全管理
可在后台配置第三页与第四页中间广告代码
Server安全管理
Server安全管理
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 82
  • 收藏
  • 违规举报
  • © 版权认领
下载文档12.00 元 加入VIP免费下载
文本内容

【文档说明】Server安全管理.pptx,共(82)页,251.457 KB,由精品优选上传

转载请保留链接:https://www.ichengzhen.cn/view-289077.html

以下为本文档部分文字说明:

单击鼠标左键换页单击鼠标左键换页第14章SQLServer安全管理14.1SQLServer2000的安全机制14.2管理服务器的安全性14.3管理数据库用户14.4管理角色14.5管理权限单击鼠标左键换页单击鼠标左键换页合理有效的数据库安全机制可以既保证被授权用户能够方便地访问

数据库中的数据,又能够防止非法用户的入侵。SQLServer2000提供了一套设计完善、操作简单的安全管理机制。单击鼠标左键换页单击鼠标左键换页14.1SQLServer2000的安全机制SQLServer2000的安全性机制由

四层构成,可以用图14-1表示。从用户的角度讲,要访问数据库,需经过如下步骤。单击鼠标左键换页单击鼠标左键换页图14-1SQLServer2000的安全性机制单击鼠标左键换页单击鼠标左键换页(1)一个数据库用户必须

有权登录操作系统,即该用户在Windows2000Server操作系统中具有登录账户。在这个前提条件下,才有可能进入SQLServer2000系统。单击鼠标左键换页单击鼠标左键换页(2)一旦登录了操作系统,登录者还必须得到数据库系统的通行证—数据库服务器的

登录账户,才具有数据库服务器的连接权或登录权。SQLServer2000只有在验证了指定的登录账户有效后,才完成连接。这种对登录账户的验证称为身份验证。对用户而言,登录SQLServer2000需要使用以下两类身份验证之

一。单击鼠标左键换页单击鼠标左键换页⚫Windows身份验证:此种验证方式仅用于Windows2000Server/NT操作系统。在这种方式下,用户只要通过Windows2000Server/NT操作系统的登录验

证,就可以连接到SQLServer2000数据库实例。⚫SQLServer身份验证:在此种验证方式下,即使用户已经登录操作系统,也必须输入有效的SQLServer专用登录名与密码方可连入SQLServer2000数据库实例。单击鼠标左键换

页单击鼠标左键换页(3)当一个登录者登录数据库服务器后,并不等于对其中的数据库具有访问权限,还必须由数据库所有者或管理员授权,使该登录者成为某一个数据库的用户。(4)作为某个数据库的用户,对数据库对象(如数据库pubs

中的表authors)的访问权限也必须被授予,这些权限包括SELECT、UPDATE、INSERT、DELETE等。单击鼠标左键换页单击鼠标左键换页另一方面,从SQLServer2000数据库服务器的角度讲,对于要登

录数据库服务器的用户,SQLServer2000采用以下两种安全认证模式。(1)仅Windows认证模式:这是SQLServer2000的默认身份验证模式,适用于所有登录者均为Windows2000Server

/NT操作系统用户的情况。但在Windows98操作系统上运行的SQLServer实例不支持Windows身份验证。单击鼠标左键换页单击鼠标左键换页(2)混合认证模式:该模式可用于两类登录者,对于登录时提

供了SQLServer2000登录账户者,系统将使用SQLServer身份验证对其进行验证。对于没有提供SQLServer2000登录账户或请求Windows身份验证的登录者,则使用Windows身份验证对其进行验证。单击鼠标左键换页单击鼠标左键换页14.2管理服务器的安全性对于一个合法的

数据库用户,首先必须在SQLServer2000中为其设置相应的登录账户,否则他不能登录数据库服务器。有两类登录账户,SQLServer身份验证的登录账户(以下简称SQL账户)与Windows身份验证的登录账户(以下简称Windows账户)。SQ

L账户的登录名称与登录密码由SQLServer2000系统负责验证,Windows账户的登录名称与登录密码则由Windows2000Server/NT负责验证。单击鼠标左键换页单击鼠标左键换页14.2.1使用企业管理器管理登录账户只有sysadmin或securityadmi

n固定服务器角色的成员能够利用企业管理器或T-SQL语句完成SQL账户和Windows账户的管理任务。1.建立登录账户2.登录账户的有关内容3.修改登录账户单击鼠标左键换页单击鼠标左键换页14.2.2使用T-SQL语句管理登录账户管理登录账户也可以使用T-SQL语句

,需要注意的是管理Windows账户与SQL账户所使用的系统存储过程不同。1.管理Windows身份验证的登录账户单击鼠标左键换页单击鼠标左键换页(1)向Windows账户授权的语法如下。命令格式:sp_grantlogin[@l

oginame=]'login'命令说明:@loginame='login'指定一个名称为login的Windows2000Server/NT用户或用户组名称,其格式为'域\用户名'或'计算机名\用户名',@logi

name可以省略。单击鼠标左键换页单击鼠标左键换页(2)拒绝一个Windows账户登录的语法如下。命令格式:sp_denylogin[@loginame=]'login'(3)删除一个Windows账户的语法如下。命令格式:sp_revokelogin[@loginame=]'logi

n'单击鼠标左键换页单击鼠标左键换页2.管理SQL身份验证的登录账户(1)使用系统存储过程创建SQL账户命令格式:sp_addlogin[@loginame=]'login'[,[@passwd=]'passwor

d'][,[@defdb=]'database'][,[@deflanguage=]'language']单击鼠标左键换页单击鼠标左键换页命令说明:①login为新建登录账户的名称。②password为密码,默认设置为NULL。③database为登录时的默认数据库。④

language为默认语言。⑤全部按上述次序取值时,局部变量名称@loginame、@passwd、@defdb、@deflanguage可以省略。单击鼠标左键换页单击鼠标左键换页(2)使用系统存储过程修改SQL账户的密码命令格式:sp_password[

[@old=]'old_password',]{[@new=]'new_password'}[,[@loginame=]'login']单击鼠标左键换页单击鼠标左键换页命令说明:(1)old_password为旧的登录密码,其默认值为NULL;(2)new_password为新的登录密码,无默认

值;login为需要更改密码的登录名,login必须已经存在。单击鼠标左键换页单击鼠标左键换页(3)使用系统存储过程修改SQL账户的默认数据库命令格式:sp_defaultdb[@loginame=]'login'[,@defdb=]'database'命令说明

:database是新的默认数据库的名称。单击鼠标左键换页单击鼠标左键换页(4)使用系统存储过程修改SQL账户的默认语言命令格式:sp_defaultlanguage[@loginame=]'login'[,@deflanguage=]'language'

命令说明:language是新的数据库默认语言。单击鼠标左键换页单击鼠标左键换页(5)使用系统存储过程删除SQL账户命令格式:sp_droplogin[@loginame=]'login'单击鼠标左键换页单击鼠标左键换页14

.2.3特殊的登录账户saSQLServer2000在安装后自动建立了一个特殊的SQL账户sa,即SystemAdministrator。该账户默认为是所有数据库的dbo用户(数据库所有者),具有最高权限,可以进行任何操作,且不能被删除。刚安装完毕

时,sa没有密码,为了安全起见,一定要为其加入密码。单击鼠标左键换页单击鼠标左键换页14.3管理数据库用户无论是Windows账户还是SQL账户,登录数据库服务器后的其他操作都是相同的。但首先他必须获得对数据库的访问权。SQLServer2000通过为登录账户指派数据库用户来使其获得对数据

库的访问权限。单击鼠标左键换页单击鼠标左键换页14.3.1使用企业管理器管理数据库用户1.新建数据库用户2.删除数据库用户单击鼠标左键换页单击鼠标左键换页14.3.2使用T-SQL语句管理数据库用户使用系统存储过程可以在当前数据库中管理数据库用户

。1.新建数据库用户命令格式:sp_grantdbaccess[@loginame=]'login'[,[@name_in_db=]'name_in_db'单击鼠标左键换页单击鼠标左键换页命令说明:(1)login

:为登录账户的登录名,当其为Windows账户名时,须采用“域名\登录名”格式;当其为SQL账户名时,采用“登录名”格式。(2)name_in_db:表示在当前数据库中为该登录账户所指定的数据库用户的用户名,省略该参数,则默认登录名与

用户名相同。单击鼠标左键换页单击鼠标左键换页2.删除数据库用户命令格式:sp_revokedbaccess{[@name_in_db=]'name'}命令说明:name为当前数据库中要删除的用户名。单击

鼠标左键换页单击鼠标左键换页14.3.3特殊的数据库用户dbo和guestSQLServer2000数据库中有2个特殊用户:dbo和guest。1.dbo在创建一个数据库时,SQLServer2000自动将创建该数据库的登录账户设置为该数据库的一个用户,

并起名为dbo。dbo是数据库的拥有者,不能从数据库中删除,dbo对本数据库拥有所有操作权限,并可以将这些权限全部或部分授予其他数据库用户。另外,属于固定服务器角色sysadmin的成员也映射为所有数据库的dbo。单击鼠标左键换页单击鼠标左键换页2.gu

est当一个登录者登录数据库服务器时,如果该服务器上的所有数据库都没有为其建立用户账户,则该登录者只能访问那些具有guest用户的数据库。系统数据库Master与tempdb中的guest用户不能被删除,而其他数据库中的guest用户可以被添

加或删除。单击鼠标左键换页单击鼠标左键换页14.4管理角色角色是为了方便权限管理而设置的一种管理单位。若打算使一组登录账户或数据库用户在数据库服务器或数据库对象上具有相同的权限,则可以通过角色实现。单击鼠标左键换页单击鼠标左键换页14.4.1固定角色固定角色按其

权限作用范围可以分为固定服务器角色与固定数据库角色,其作用范围分别为整个数据库服务器与单个数据库。这些角色不能修改或删除。单击鼠标左键换页单击鼠标左键换页1.固定服务器角色SQLServer2000的服务器角色只有固定服务器角色,用于对数据库服务器的操作。对数据库服务器操

作的权限不能直接赋给其他登录账户,只能使某些登录账户成为固定服务器角色的成员,才能使他们具有这些权限。SQLServer2000具有如下固定服务器角色:单击鼠标左键换页单击鼠标左键换页(1)sysad

min,有权在SQLServer中进行任何活动。(2)serveradmin,有权设置服务器一级的配置选项,关闭服务器。(3)setupadmin,有权管理链接服务器和启动过程。单击鼠标左键换页单击鼠标左键换页(4)securityadmin,有权管理

登录和CREATEDATABASE权限,还可以读取错误日志和更改密码。(5)processadmin,有权管理在SQLServer中运行的进程。(6)dbcreator,有权创建、更改和除去数据库。(7)diskadmin

,有权管理磁盘文件。(8)bulkadmin,有权执行BULKINSERT语句。单击鼠标左键换页单击鼠标左键换页2.固定数据库角色SQLServer2000中的数据库角色用于对单个数据库的操作。每个数据库都有一系列固定数据库角色,尽管在不同的数据库内他们是同名的,但各自的作用范围都仅限于本数

据库。SQLServer2000具有如下固定数据库角色:单击鼠标左键换页单击鼠标左键换页(1)db_owner,在数据库中具有全部权限。(2)db_accessadmin,有权添加或删除数据库用户。(

3)db_securityadmin,有权管理全部权限、对象所有权、角色和角色成员资格。(4)db_ddladmin,有权发出ALLDDL,但不能发出GRANT、REVOKE或DENY语句。单击鼠标左键换页单击鼠标左键换页(5)db_backupoperator,有权发出DB

CC、CHECKPOINT和BACKUP语句。(6)db_datareader,有权查询数据库内任何用户表中的所有数据。(7)db_datawriter,有权更改数据库内任何用户表中的所有数据。单击鼠标左键换页单击鼠标左键换页(8)db_denydatareader,不

能查询数据库内任何用户表中的任何数据。(9)db_denydatawriter,不能更改数据库内任何用户表中的任何数据。单击鼠标左键换页单击鼠标左键换页14.4.2用户定义的数据库角色数据库角色除了固定角色外,还有一种角色是用户定义

的数据库角色。这种角色是在SQLServer2000安装之后根据需要设置的,因此可以创建、修改或删除,它们通常由sysadmin、db_securityadmin、db_owner等固定角色中的成员创建。单击鼠标左键换页单击鼠标左键换页1.创建用户定义的数据库角色创建用户定义的数据库角色

需要调用系统存储过程sp_addrole,语法如下。命令格式:sp_addrole[@rolename=]'role'[,[@ownername=]'owner']单击鼠标左键换页单击鼠标左键换页命令说

明:(1)role表示要在当前数据库中创建的角色名称。(2)owner表示该角色的所有者,默认值为数据库的所有者dbo。单击鼠标左键换页单击鼠标左键换页2.从当前数据库删除用户定义的角色删除角色需要调用系统存储过程。命令格式:sp

_droprole[@rolename=]'role'命令说明:role为将要从当前数据库中删除的角色的名称。单击鼠标左键换页单击鼠标左键换页注意:(1)不能删除固定角色及14.4.3节所述的public角色。(2)使用sp_droprole只能删除标准角色中的用户定义角色,不能删除应用程序

角色,若要删除应用程序角色,须使用sp_dropapprole。单击鼠标左键换页单击鼠标左键换页(3)不能删除带有成员的角色。在删除角色之前,首先必须从该角色中删除其所有成员。(4)只有sysadmin固定服务器角色、db_owner和db_securityadmin固定数据库

角色成员或角色的所有者才能执行sp_droprole。单击鼠标左键换页单击鼠标左键换页3.利用企业管理器创建或删除用户定义的数据库角色单击鼠标左键换页单击鼠标左键换页14.4.3特殊的数据库角色public在SQLServer2000的每个数据

库中(包括master、msdb、tempdb、model和所有用户数据库)都有一个特殊的数据库角色public,它能够捕获数据库中用户的所有默认权限。public无法删除,每个数据库用户都自动属于该角色的成员。单击鼠标左键换页单

击鼠标左键换页14.4.4角色成员管理角色成员管理包括将登录账户、数据库用户或其他角色添加为一个角色的成员以及删除角色成员。可以利用系统存储过程或企业管理器管理角色成员。1.管理服务器角色的成员服务器角色的成员均为登录账户。管理服务器角色的成员就是将登录账户添加为固定服务器角色成

员或删除之。单击鼠标左键换页单击鼠标左键换页(1)利用系统存储过程将登录账户添加为固定服务器角色的成员命令格式:sp_addsrvrolemember[@loginame=]'login',[@rolename=]

'role'命令说明:login是添加到固定服务器角色的登录账户名称,可以是Windows或SQL账户。单击鼠标左键换页单击鼠标左键换页(2)利用系统存储过程从固定服务器角色中删除成员命令格式:sp_dropsrvrolemember[@loginame=]'login',[@role

name=]'role'命令说明:①login是将要从固定服务器角色成员中删除的登录账户的名称,login必须存在。②role固定服务器角色的名称。单击鼠标左键换页单击鼠标左键换页(3)利用企业管理器管理服务器角色成员2.管理数据库角色的成员数据库角色的成员均为数据库用户或其他数据

库角色。管理数据库角色的成员就是将数据库用户(或其他数据库角色)添加为数据库角色成员或删除之。单击鼠标左键换页单击鼠标左键换页(1)利用系统存储过程添加数据库角色的成员命令格式:sp_addrolemem

ber[@rolename=]'role',[@membername=]'security_account'单击鼠标左键换页单击鼠标左键换页命令说明:①role是当前数据库中数据库角色名称,包括固定数据库角色与用户定义数据库角色。②security_account是拟添加到该数据库角色的数据库用户

或其他用户定义的数据库角色名称。单击鼠标左键换页单击鼠标左键换页(2)利用系统存储过程从数据库角色中删除成员命令格式:sp_droprolemember[@rolename=]'role',[@membername=]'security_account'单击鼠标左键换页单击鼠标

左键换页命令说明:①role为将要从中删除成员的数据库角色的名称。②security_account为将要从角色中删除的数据库用户或另一个角色的名称。(3)利用企业管理器管理数据库角色成员单击鼠标左键换页单击鼠标左键换页14.4.5应用程序角色有时,从系统的安全性或性能上考虑,可能希望限制用

户对数据库的访问方式。例如为了财务数据的安全,限定用户只能通过特定应用程序来访问一个财务数据库;又如,对于某些难以用外键表述的复杂表间关系,需要通过应用程序维护表间数据的完整性与一致性。在这类情况下,采用应用程序角色十分有效。单

击鼠标左键换页单击鼠标左键换页应用程序角色具有如下特点:(1)应用程序角色不同于一般的标准角色,它没有成员。如果一个用户想要获得应用程序角色的权限,他必须有权使用某特定应用程序,该应用程序可以通过激活一个应用程序角色

来连接某个数据库。单击鼠标左键换页单击鼠标左键换页(2)默认情况下,应用程序角色是非活动的,需要用密码激活。只有在应用程序中激活并连入数据库,应用程序角色才能生效,连接一旦断开,应用程序角色立即失去作用。单击鼠标左键换页单击鼠标左键换页(3)当一个应用程序角色被激活并连

接到一个数据库时,连接期间会屏蔽掉该数据库中的所有用户和标准角色及其权限,仅应用程序角色的权限能够生效。只有在应用程序断开连接后,这些用户与标准角色的权限才能生效。单击鼠标左键换页单击鼠标左键换页(4)当一个用户激活了应用程序角色后,他将获得应用程序角色

的所有权限,但其原有的非应用程序角色的权限会全部消失。此时,他若想访问其他数据库,只能通过其他数据库中的guest用户账户。如果数据库中没有guest用户账户,则无法访问这些数据库。单击鼠标左键换页单击鼠标左键换页只有sysadmin固定服务器角

色成员、db_owner和db_securityadmin固定数据库角色成员才能利用系统存储过程创建、修改与删除应用程序角色,但任何用户都可以通过为角色提供正确的密码来激活角色。应用程序角色使用之前首先要创建它,使用时在应用程序中利用密码激活它,一旦应用程

序与数据库的连接断开,应用程序角色将自动处于非激活状态。单击鼠标左键换页单击鼠标左键换页1.创建应用程序角色命令格式:sp_addapprole[@rolename=]'role',[@password=]'password'命令

说明:(1)role为新建应用程序角色的名称。(2)password为激活角色所需的密码。单击鼠标左键换页单击鼠标左键换页2.激活应用程序角色激活应用程序角色的工作应该在应用程序中进行,即在应用程序中嵌入如下语法代码。命令格式:sp_setapprole[@rolename=]'role',

[@password=]{EncryptN'password'}|'password'[,[@encrypt=]'encrypt_style']单击鼠标左键换页单击鼠标左键换页命令说明:(1)role是当前数据库中已经定义的应用程序角色名。(2)passwor

d是激活应用程序角色的密码。(3)Encrypt函数用于对密码加密,使用时必须在密码前面加上N以将密码转换成Unicode字符串。单击鼠标左键换页单击鼠标左键换页(4)encrypt_style指定密码加密方式,它可以取下列两值之一:(a)NONE,为默

认值,表示密码以明文形式传递给SQLServer。(b)ODBC,将密码发送到SQLServer之前,使用ODBC规范Encrypt函数对密码加密。该方式仅用于ODBC客户端或SQLServer的OLEDB提供者。单击鼠标左键

换页单击鼠标左键换页3.修改应用程序角色的密码命令格式:sp_approlepassword[@rolename=]'role',[@newpwd=]'password'命令说明:(1)role为应用程序角色的名称。(2)password为应用程序角色的新密码,password不能为NULL。单

击鼠标左键换页单击鼠标左键换页4.删除应用程序角色命令格式:sp_dropapprole[@rolename=]'role'命令说明:role表示将要删除的应用程序角色。单击鼠标左键换页单击鼠标左键换页14.5管理权限一个登录者若要对某个数据库进行修改或访问,必须具有相

应的权限,这种权限涉及服务器级与数据库级的操作。权限既可以直接获得,也可以通过成为角色成员而继承角色的权限。管理权限包括授予、拒绝和废除权限。单击鼠标左键换页单击鼠标左键换页14.5.1权限的种类权限分为三种:对象权限、语句权限和隐含权限

。1.对象权限对象权限指对已存在的数据库对象的操作权限,包括对数据库对象的SELECT、INSERT、UPDATE、DELETE和EXECUTE权限。单击鼠标左键换页单击鼠标左键换页2.语句权限语

句权限用于创建数据库或数据库对象所涉及的活动。3.隐含权限隐含权限控制那些只能由固定角色的成员或数据库对象所有者执行的活动。单击鼠标左键换页单击鼠标左键换页14.5.2使用T-SQL语句管理权限权限管理指对于用户或角色的某些操作赋予允许权限、拒绝权限、以及废除权限。(1

)允许权限(GRANT),表示用户或角色能够执行某项操作。单击鼠标左键换页单击鼠标左键换页(2)拒绝权限(DENY),表示用户或角色不能执行某项操作,也称禁止权限。(3)废除权限(REVOKE),表示废除以前用户或角色所具有的允

许权限或拒绝权限。单击鼠标左键换页单击鼠标左键换页1.语句权限的管理使用T-SQL允许、拒绝或废除语句权限的语法如下。命令格式:GRANT|DENY|REVOKE{ALL|statement[,...n]}TOsecurity_account[,...n]单击鼠标左键换页单击鼠标左键换页命令说明

:(1)GRANT、DENY、REVOKE分别表示允许、拒绝和废除语句权限的操作。(2)ALL表示针对所有语句权限的设置,只有sysadmin成员有权使用ALL。单击鼠标左键换页单击鼠标左键换页(3)stateme

nt表示被允许、拒绝或废除语句权限的语句,包括9个语句:CREATEDATABASE、CREATEDEFAULT、CREATEFUNCTION、CREATEPROCEDURE、CREATERULE、CREATETABLE、CREATEVI

EW、BACKUPDATABASE、BACKUPLOG。单击鼠标左键换页单击鼠标左键换页(4)[,...n]表示同时可以处理多个语句的权限。(5)security_account表示当前数据库内将要被设置权限的登录账户、数据库用户或角色。单击鼠标左键换页单击鼠标左键换页2.对象权限的管理使用T-

SQL允许、禁止或废除对象权限的语法如下。命令格式:GRANT|DENY|REVOKE{ALL[PRIVILEGES]|permission[,...n]}{[(column[,...n])]ON{table|view}|ON{table|view}[(column[,...n

])]|ON{stored_procedure|extended_procedure}|ON{user_defined_function}}TOsecurity_account[,...n]单击鼠标左键换页单击鼠标左键换页命令说明:(1)GRANT、DENY、REVOK

E分别表示允许、禁止或废除对象权限。(2)ALL表示允许、禁止或废除所有适用的权限。只有sysadmin、db_owner成员及数据库拥有者有权使用ALL。单击鼠标左键换页单击鼠标左键换页(3)PRIVILEGES,是与SQL-9

2标准兼容而列出的可选关键字,可以省略。(4)permission表示允许、禁止或废除的对象权限。例如SELECT、INSERT等。(5)[(column[,...n])]ON{table|view}|ON{table|view}[(column[,...n])]表示

上述权限的作用对象,可以是表或视图,也可以是表或视图的某一列或几列。可以使用“|”两边的任意一种书写格式。单击鼠标左键换页单击鼠标左键换页(6)stored_procedure、extended_procedure、user_defined_func

tion分别表示在当前数据库中设置权限的存储过程名、扩展存储过程名、用户定义函数名。(7)TO指定安全账户列表,对于REVOKE语句,可以改用FROM。单击鼠标左键换页单击鼠标左键换页(8)security_account表示当前数据库内将要允许、

禁止或废除权限的安全账户,可以是SQL账户、角色、Windows用户或组。单击鼠标左键换页单击鼠标左键换页14.5.3使用企业管理器管理权限在企业管理器中管理语句权限与对象权限的方法不同,语句权限是在数据库一级进行,对象权限是在数据库

对象一级进行。1.使用企业管理器管理语句权限2.使用企业管理器管理对象权限

精品优选
精品优选
该用户很懒,什么也没有留下。
  • 文档 34925
  • 被下载 0
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?