



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录正文11 研究的背景12 研究的目的和意义13 研究的容23.1 MySQL数据库的安全配置2系统部安全2外部网络安全43.2 MySQL用户管理83.3 MD5 加密11数据库中数据加密的原因11加密式12加密原理12具体算法134 总结14参考文献:15附录:15塔里木大学信息工程学院计算机网络安全基础大作业MySQL数据库安全管理摘要: MySQL是完全网络化的跨平台关系型数据库系统,同时是具有客户机 / 服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理便、运行速度快、安全可靠性强等优点, 用户可利用多语言编写访问MySQL数据库的程序, 特别是与 PHP更是黄金组
2、合,运用十分广泛。由于MySQL是多平台的数据库,它的默认配置要考虑各种情况下都能适用,所以在用户自己的使用环境下应该进行安全加固。用户有责任维护 MySQL数据库系统的数据安全性和完整性。关键词: MYSQL;数据库;数据库安全;访问控制;MD5加密正文MySQL数据库的安全配置必须从两个面入手,系统部安全和外部网络安全;MySQL用户管理主要用grant( 授权 ) 和 revoke( 撤权 ) 两个 SQL指令来管理;MD5在实际中的一个应用就是对数据库中的用户信息加密,当用户创建一个新的账号或者密码,他的信息不是直接保存到数据库,而是经过一次加密以后再保存,这样,即使这些信息被泄露,也
3、不能立即理解这些信息的真正含义。有效的提高了前台和后台的数据安全性。1 研究的背景随着计算机技术和信息技术的迅速发展。数据库的应用十分广泛,深入到各个领域,但随之而来产生了数据的安全问题。近年来,数据库供应商竞相为大众提供功能丰富的数据库环境,大多数主要系统都支持 XML、Web服务、分布式复制、操作系统集成以及其他一些有用的功能。与以前相比,数据库更加容易遭受到攻击,它已经成为了更有价值的攻击目标,所以需要配置更多的安全功能,管理也要更加的谨慎。2 研究的目的和意义本文对 MySQL数据库的安全配置、 MySQL用户管理以及使用MD5加密提高数据库前台和后台数据安全性做了详细研究。由于 My
4、SQL是多平台的数据库,它的默认配置要考虑各种情况下都能适用,所以用户需要根据具体的环境进行相关的安全配置,通过本文的研究,对如提高数据库的安全性有很大的帮助。第1页共17页塔里木大学信息工程学院计算机网络安全基础大作业3研究的容3.1 MySQL数据库的安全配置系统部安全MySQL安装好,运行了mysql_db_install脚本以后就会建立数据目录和初始化数据库。如果我们用MySQL源码包安装,而且安装目录是/usr/local/mysql,那么数据目录一般会是 /usr/local/mysql/var。数据库系统由一系列数据库组成,每个数据库包含一系列数据库表。 MySQL是用数据库名在
5、数据目录建立建立一个数据库目录,各数据库表分别以数据库表名作为文件名,扩展名分别为MYD、 MYI、 frm 的三个文件放到数据库目录中。MySQL的授权表给数据库的访问提供了灵活的权限控制,但是如果本地用户拥有对库文件的读权限的话,攻击者只需把数据库目录打包拷走,然后拷到自己本机的数据目录下就能访问窃取的数据库。所以MySQL所在的主机的安全性是最首要的问题,如果主机不安全,被攻击者控制,那么MySQL的安全性也无从谈起。其次就是数据目录和数据文件的安全性,也就是权限设置问题。从 MySQL主站一些老的 binary 发行版来看,版本中数据目录的属性是775,这样非常危险,任本地用户都可以读
6、数据目录,所以数据库文件很不安全。版本中数据目录的属性是770,这种属性也有些危险,本地的同组用户既能读也能写,所以数据文件也不安全。版本数据目录的属性是700,这样就比较好,只有启动数据库的用户可以读写数据库文件,保证了本地数据文件的安全。如果启动 MySQL数据库的用户是mysql,那么像如下的目录和文件的是安全的,请注意数据目录及下面的属性:shell>ls -l /usr/local/mysqltotal 40drwxrwxr-x 2 root root 4096 Feb 27 20:07 bindrwxrwxr-x 3 root root 4096 Feb 27 20:07 i
7、ncludedrwxrwxr-x 2 root root 4096 Feb 27 20:07 infodrwxrwxr-x 3 root root 4096 Feb 27 20:07 libdrwxrwxr-x 2 root root 4096 Feb 27 20:07 libexecdrwxrwxr-x 3 root root 4096 Feb 27 20:07 man第2页共17页塔里木大学信息工程学院计算机网络安全基础大作业shell>ls -l /usr/local/mysql/vartotal 8drwx- 2 mysql mysql 4096 Feb 27 20:08 mys
8、qldrwx- 2 mysql mysql 4096 Feb 27 20:08 testshell>ls -l /usr/local/mysql/var/mysqltotal 104-rw- 1 mysql mysql 0 Feb 27 20:08 columns_priv.MYD-rw- 1 mysql mysql 1024 Feb 27 20:08 columns_priv.MYI-rw- 1 mysql mysql 8778 Feb 27 20:08 columns_priv.frm-rw- 1 mysql mysql 302 Feb 27 20:08 db.MYD-rw- 1 m
9、ysql mysql 3072 Feb 27 20:08 db.MYI-rw- 1 mysql mysql 8982 Feb 27 20:08 db.frm-rw- 1 mysql mysql 0 Feb 27 20:08 func.MYD-rw- 1 mysql mysql 1024 Feb 27 20:08 func.MYI-rw- 1 mysql mysql 8641 Feb 27 20:08 func.frm-rw- 1 mysql mysql 0 Feb 27 20:08 host.MYD-rw- 1 mysql mysql 1024 Feb 27 20:08 host.MYI-rw
10、- 1 mysql mysql 8958 Feb 27 20:08 host.frm-rw- 1 mysql mysql 0 Feb 27 20:08 tables_priv.MYD-rw- 1 mysql mysql 1024 Feb 27 20:08 tables_priv.MYI如果这些文件的属主及属性不是这样,请用以下两个命令修正之:shell>chown -R mysql.mysql /usr/local/mysql/varshell>chmod -R go-rwx /usr/local/mysql/var用 root 用户启动远程服务一直是安全大忌,因为如果服务程序出现
11、问题,远程攻击者极有可能获得主机的完全控制权。 MySQL从版本开始时作了小小的改动,默认安装后服务要用 mysql 用户来启动,不允 root 用户启动。如果非要用 root 用户来启动,必须加上 -user=root 的参数 (./safe_mysqld -user=root &) 。因为 MySQL 中有 LOAD DATA INFILE和 SELECT . INTO OUTFILE 的 SQL语句,如果是 root 用户启动了 MySQL服务器,那么,数据库用户就拥有了 root 用户的写权限。不过 MySQL还第3页共17页塔里木大学信息工程学院计算机网络安全基础大作业是做了
12、一些限制的,比如LOADDATAINFILE 只能读全局可读的文件,SELECT.INTOOUTFILE不能覆盖已经存在的文件。本地的日志文件也不能忽视,包括shell的日志和 MySQL自己的日志。有些用户在本地登陆或备份数据库的时候为了图便,有时会在命令行参数里直接带了数据库的密码,如:shell>/usr/local/mysql/bin/mysqldump -uroot -ptest test>test.sqlshell>/usr/local/mysql/bin/mysql -urootptest这 些 命 令 会 被shell记 录在 历 史 文 件 里 ,比 如ba
13、sh会 写 入用 户 目 录的.bash_history 文件,如果这些文件不慎被读, 那么数据库的密码就会泄漏。 用户登陆数据库后执行的 SQL命令也会被 MySQL记录在用户目录的 .mysql_history 文件里。如果数据库用户用 SQL语句修改了数据库密码,也会因 .mysql_history 文件而泄漏。所以我们在 shell 登陆及备份的时候不要在 -p 后直接加密码,而是在提示后再输入数据库密码。另外这两个文件我们也应该不让它记录我们的操作,以防万一。shell>rm .bash_history .mysql_historyshell>ln -s /dev/nul
14、l .bash_historyshell>ln -s /dev/null .mysql_history上门这两条命令把这两个文件到 /dev/null ,那么我们的操作就不会被记录到这两个文件里了。外部网络安全MySQL数据库安装好以后, Unix 平台的 user 表是这样的:mysql> use mysql ;Database changedmysql> select Host,User,Password,Select_priv,Grant_priv from user;第4页共17页塔里木大学信息工程学院计算机网络安全基础大作业图平台的 user 表Windows平台的
15、 user 表是这样的:mysql> use mysql;Database changedmysql> select Host,User,Password,Select_priv,Grant_priv from user;图平台的 user 表实际上 Unix 平台的 MySQL默认只允本机才能连接数据库。但是缺省root用户口令是空,所以当务之急是给root 用户加上口令。给数据库用户加口令有三种法:在 shell 提示符下用 mysqladmin 命令来改 root 用户口令 : shell>mysqladmin -uroot password test这样, MySQL
16、数据库 root 用户的口令就被改成test了。用 set password 修改口令:mysql> set password for rootlocalhost=password('test');这时 root 用户的口令就被改成test了。直接修改 user 表的 root 用户口令:mysql> use mysql;mysql> update user set password=password('test') where user='root' mysql> flush privileges;这样, MySQL数据
17、库 root 用户的口令也被改成test了。其中最后一句命令flushprivileges的意思是强制刷新存授权表,否则用的还是缓冲中的口令,这时非法用户第5页共17页塔里木大学信息工程学院计算机网络安全基础大作业还可以用 root 用户及空口令登陆,直到重启MySQL服务器。我们还看到 user 为空的匿名用户,虽然它在Unix 平台下没什么权限,但为了安全起见我们应该删除它:mysql> delete from user where user=''Windows版本 MySQL的 user 表有很大不同,我们看到Host 字段除了 localhost还有是 %。这里
18、%的意思是允任意的主机连接MySQL服务器,这是非常不安全的,给攻击者造成可乘之机,我们必须删除Host 字段为 %的记录:mysql>delete from user where host='%'默认 root 用户的空密码也是必须修改,三种修改法和Unix 平台一样。对 user 表操作以后不要忘了用flush privileges来强制刷新存授权表,这样才能生效。MySQL的 5 个授权表: user, db, host, tables_priv和 columns_priv提供非常灵活的安全机制,从开始引入了两条语句GRANT和 REVOKE来创建和删除用户权限,可
19、以便的限制哪个用户可以连接服务器,从哪里连接以及连接后可以做什么操作。在版本以前的 MySQL授权机制不完善,和新版本也有较大的不同,建议升级到最新版本的 MySQL。我们先来了解授权表的结构。MySQL授权表的结构与容:mysql> desc user;user 表是 5 个授权表中最重要的一个, 列出可以连接服务器的用户及其加密口令,并且它指定他们有哪种全局 (超级用户)权限。在 user 表启用的任权限均是全局权限,并适用于所有数据库。所以我们不能给任用户访问mysql.user表的权限!权限说明:第6页共17页塔里木大学信息工程学院计算机网络安全基础大作业图权限说明mysql&g
20、t; desc db;图数据库db 表列出数据库,而用户有权限访问它们。在这里指定的权限适用于一个数据库中的所有表。mysql> desc host;第7页共17页塔里木大学信息工程学院计算机网络安全基础大作业图表host 表与 db 表结合使用在一个较好层次上控制特定主机对数据库的访问权限, 这可能比单独使用 db 好些。这个表不受 GRANT和 REVOKE语句的影响。3.2 MySQL用户管理MySQL用户管理主要用 grant( 授权 ) 和 revoke( 撤权 ) 两个 SQL指令来管理。这两个指令实质是通过操作 user( 连接权限和全局权限 ) 、db( 数据库级权限 )
21、 、tables_priv( 数据表级权限 ) 、columns_priv( 数据列级权限 ) 四个权限表来分配权限的。 host 权限表不受这两个指令影响。下面将会详细介绍用户权限管理的容。GRANT语法说明:GRANT privileges (columns) #privileges表示授予的权限, columns 表示作用的列( 可选)ON what#设置权限级别,全局级、数据库级、数据表级和数据列级TO account#权限授予的用户,用"user_name""host_name" 这种用户名、主机名格式IDENTIFIED BY 'pa
22、ssword'#设置用户密码REQUIRE encryption requirements#设置经由 SSL连接WITH grant or resource management options;#设置的管理和资源 ( 连接服务器次数或查询次数等 ) 选项示例:mysql>grant all on db.* to 'test''localhost' identified by 'test'第8页共17页塔里木大学信息工程学院计算机网络安全基础大作业上例运行后的效果是, test用户只能通过 test 密码从本机访问db 数据库mys
23、ql>grant all on db.* to 'test''%' identified by 'test'上例运行后的效果是, test用户可通过 test 密码从任意计算机上访问db 数据库。 %代表任意字符, _代表一个任意字符。主机名部份还可以是IP 地址。表访问权限表权限权限说明CREATE TEMPORARY创建临时数据表TABLESEXECUTE执行存储过程 ( 暂不支持 )FILE操作系统文件GRANT OPTION可把本的权限授予其它用户LOCK TABLES锁定指定数据表PROCESS查看运行着的线程信息RELOAD重新
24、加载权限表或刷新日志及缓冲区REPLICATION CLIENT可查询主 / 从服务器主机名REPLICATION SLAVE运行一个镜像从服务器SHOW DATABASES可运行 SHOW DATABASES指令SHUTDOWN关闭数据库服务器SUPER可用 kill 终止线程以及进行超级用户操作ALTER可修改表和索引的结构CREATE创建数据库和数据表DELETE删除数据表中的数据行DROP删除数据表和数据行INDEX建立或删除索引INSERT插入数据行REFERENCES( 暂时不支持 )SELECT查询数据行第9页共17页塔里木大学信息工程学院计算机网络安全基础大作业权限权限说明UP
25、DATE更新数据行ALL所有权限,但不包括GRANT。USAGE无权限权限表 3.2.2 权限作用围 ( 由 ON子句设置 )权限限定符作用围ON *.*全局级权限,作用于所有数据库ON *全局级权限,若未指定默认数据库,其作用围是所有数据库,否则,其作用围是当前数据库ON db_name.*数据库级权限,作用于指定数据库里的所有数据表ON数据表级权限,作用于数据表里的所有数据列db_name.tbl_nameON tbl_name数据表级权限,作用于默认数据库中指定的数据表里的所有数据列USAGE权限的用法:修改与权限无关的项,如:mysql>GRANT USAGE ON *.* TO
26、 account IDENTIFIED BY 'new_password' ; # 修改密码mysql>GRANT USAGE ON *.* TO account REQUIRE SSL; # 启用 SSL连接 mysql>GRANT USAGE ON *.* TO account WITH MAX_CONNECTIONS_PER_HOUR; 10 #设置资源拥有 WITH GRANT OPTION权限的用户可把自已所拥用的权限转授给其他用户,如:mysql>GRANT ALL ON db.* TO 'test''%' IDEN
27、TIFIED BY 'password' WITH GRANTOPTION;这样 test用户就有权把该权限授予其他用户。限制资源使用,如:mysql>GRANT ALL ON db.*TO accountIDENTIFIEDBY 'password'WITH第10页共17页塔里木大学信息工程学院计算机网络安全基础大作业MAX_CONNECTIONS_PER_10HOURMAX_QUERIES_PER_HOUR200MAX_UPDATES_PER_HOUR50;允 account 用户每小时最多连接 20 次服务器,每小时最多发出 200 条查询命令 (
28、其中更新命令最多为 50 条)默认都是零值,即没有限制。FLUSHUSER_RESOURCES和FLUSHPRIVILEGES可对资源限制计数器清零。REVOKE语法说明:mysql>REVOKE privileges (columns) ON what FROM account;示例:mysql>REVOKE SELECT ON db.* FROM 'test''localhost';删除 test从本机查询 db 数据库的权限REVOKE可删除权限, 但不能删除, 即使已没有任权限。 所以 user 数据表里还会有该的记录,要彻底删除,需用 DE
29、LETE命令删除 user 数据表的记录,如:% mysql -u root -p mysql>use mysqlmysql>DELETE FROM user where User='test' and Host='localhost';mysql fulsh privileges;REVOKE不能删除 REQUIRE和资源占用的配置。他们是要用GRANT来删除的,如:GRANT USAGE ON *.* TO account REQUIRE NONE; #删除 account 的 SSL 连接选项3.3 MD5 加密数据库中数据加密的原因现在网络上
30、一般的,稍微完善一点的,往往都需要用户先注册,提供诸如电子、账号、密码等信息以后,成为栏目的注册用户,才可以享受一些特殊栏目提供的信息或者服务,比如免费电子、论坛、聊天等,都需要用户注册。而对于电子商务,比如igo5 等大型电子商务,用户需要购买商品,就一定需要详细而准确的注册,而这些信息,往往是用户很隐秘的信息,比如、电子、地址等,所以,注册信息对于用户和都是很重要的资源,不能随意透露,更加不能存在安全上的隐患。一般将用户资料直接保存在数据库中,并没有进行任的措施,对于一些文件型数第11页共17页塔里木大学信息工程学院计算机网络安全基础大作业据库比如 Access 等,如果有人得到这个文件,
31、岂不是所有的资料都泄露无疑?更加重要的是,如果一个不负责任的网管,不需要任技术手段,就可以查看中的任资料,如果我们的用户信息在数据库中没有加密,对于网管而言,查看这些信息是太简单了。所以,为了增加安全性,我们有必要对数据库中的资料进行加密,这样,即使有人得到了整个数据库,如果没有解密算法,也一样不能查看到数据库中的用户信息。加密式在现阶段,我们一般认为存在两种加密式,单向加密和双向加密。双向加密是加密算法中最常用的,它将我们可以直接理解的明文数据加密为我们不可直接理解的密文数据,然后,在需要的时候,可以使用一定的算法将这些加密以后的密文解密为原来可以理解的明文。双向加密适合于隐秘通讯。单向加密
32、刚好相反,只能对数据进行加密,也就是说,没有办法对加密以后的数据进行解密。MD5就是采用单向加密的加密算法,对于 MD5而言,有两个特性是很重要的, 第一是任意两段明文数据,加密以后的密文不能是相同的;第二是任意一段明文数据,经过加密以后,其结果必须永远是不变的。前者的意思是不可能有任意两段明文加密以后得到相同的密文,后者的意思是如果我们加密特定的数据,得到的密文一定是相同的。加密原理对 MD5算法简要的叙述可以为: MD5以 512 位分组来处理输入的信息, 且每一分组又被划分为 16 个 32 位子分组,经过了一系列的处理后,算法的输出由四个32 位分组组成,将这四个32 位分组级联后将生
33、成一个128 位散列值。在 MD5算法中,首先需要对信息进行填充,使其字节长度对512 求余的结果等于 448。因此,信息的字节长度( Bits Length )将被扩展至 N*512+448,即 N*64+56 个字节(Bytes ),N 为一个正整数。填充的法如下,在信息的后面填充一个 1 和无数个 0,直到满足上面的条件时才停止用 0 对信息的填充。然后,在在这个结果后面附加一个以64 位二进制表示的填充前信息长度。经过这两步的处理,现在的信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是 512 的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。第12页共
34、17页塔里木大学信息工程学院计算机网络安全基础大作业MD5中有四个 32 位被称作变量( Chaining Variable)的整数参数,他们分别为:A=0x01234567, B=0x89abcdef,C=0xfedcba98,D=0x76543210。当设置好这四个变量后,就开始进入算法的四轮循环运算。循环的次数是信息中512 位信息分组的数目。将上面四个变量复制到另外四个变量中:A 到 a,B 到 b,C 到 c,D 到 d。主循环有四轮( MD4只有三轮),每轮循环都很相似。第一轮进行16 次操作。每次操作对 a、b、 c 和 d 中的其中三个作一次非线性函数运算,然后将所得结果加上第
35、四个变量,文本的一个子分组和一个常数。再将所得结果向右环移一个不定的数,并加上 a、b、c 或 d 中之一。最后用该结果取代a、 b、 c 或 d 中之一。以一下是每次操作中用到的四个非线性函数(每轮一个)。F(X,Y,Z) =(X&Y)|(X)&Z)G(X,Y,Z) =(X&Z)|(Y&(Z)H(X,Y,Z) =XYZI(X,Y,Z)=Y(X|(Z)( &是与, | 是或, 是非, 是异或)这四个函数的说明:如果X、Y 和 Z 的对应位是独立和均匀的,那么结果的每一位也应是独立和均匀的。 F 是一个逐位运算的函数。即,如果X,那么 Y,否则 Z。函数
36、H是逐位奇偶操作符。MD5在实际中的一个应用就是对数据库中的用户信息加密,当用户创建一个新的账号或者密码,他的信息不是直接保存到数据库,而是经过一次加密以后再保存,这样,即使这些信息被泄露,也不能立即理解这些信息的真正含义。具体算法在 java 语言中,实现 MD5加密是一件很简单的事情,因为 java JDK 已经为我们提供了相关的类。我们只需要调用就可以了。下面我来说一下具体的算法:/ 对字符串进行 MD5加密publicclassJiami publicstaticString MD5(String inStr) MessageDigest md5 =null;try第13页共17页塔里
37、木大学信息工程学院计算机网络安全基础大作业md5 = MessageDigest.getInstance("MD5");catch(Exception e) System. out.println(e.toString();e.printStackTrace();return""char charArray = inStr.toCharArray();byte byteArray =newbyte charArray.length;for(inti = 0; i < charArray.length; i+)byteArrayi = (byte)
38、charArrayi;byte md5Bytes = md5.digest(byteArray);StringBuffer hexValue =new StringBuffer();for(inti = 0; i < md5Bytes.length; i+) intval = (int) md5Bytesi) & 0xff;if(val < 16)hexValue.append("0");hexValue.append(Integer.toHexString(val);returnhexValue.toString();为了再次增加安全性,可以对MD5进
39、行异或运算。具体算法见附录。运行结果如下:4 总结本文主要对 MySQL数据库的安全配置、 MySQL用户管理以及使用MD5加密提高数据库前台和后台数据安全性做了详细研究。通过本次论文的编写,让我了解了MySQL数据库的安全配置、用户账号管理、增删用户等知识以及如使用MD5加密地数据库中的数据进行加密。在今后的软件开发中,我知道如尽可能的提高数据库的安全性,保证资料不被窃取。由于 MySQL数据库是个相当复杂的管理数据的系统,有很多问题我没有实际操作,有很多实际操作结果与书籍中的不一致,还有很多问题书籍中没有详细讲解等等,所以这次论文只做了简单研究,有些地讲解的不清楚。这都是本次论文的不足之处
40、。我希望通过以后的进一步学习,能够更好的掌握MySQL数据库的安全管理。第14页共17页塔里木大学信息工程学院计算机网络安全基础大作业参考文献:1唐汉明 , 兰丽华 , 关宝军等MySQL 数据库优化与管理维护:人民邮电, 2008年,第25-45 页。2David Litchfield Chris Anley著,闫雷鸣刑霄 翻译 数据库黑客大曝光出版地: 清华大学,2006 年,第222-266 页3小平网络数据库安全技术的研究与实现同济大学硕士论文2006 年,第 5-34 页4高延玲网络数据库安全研究与应用电子科技大学硕士论文2003 年,第8-33 页5美Ian Gilfillan著,军 等译 MySQL4 从入门到精通出版地:电子工业 2003 年版,第 129-168 页6 海,黄健昌,祝
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年农业经理人考试的行业需求试题及答案
- 2024年绍兴市市场监督管理局招聘工作人员笔试真题
- 2024年福建事业单位考试信息时代教育试题及答案
- 2024年福建事业单位考试自我测评与反馈机制试题及答案
- 编导传媒考试题目及答案
- 福建事业单位考试社会资源的有效整合试题及答案
- 企业与政府合同样本
- 介签合同样本
- s股东协议合同样本
- 检验员考试的试题及答案
- 简约复古风夏洛蒂勃朗特《简爱》作品简介名著读后感PPT课件
- 新人教版七年级初一数学下册第一二单元测试卷
- 白内障手术操作规范及质量控制标准(2017版)
- 中国银行履约保函(中英文)
- 不锈钢储罐施工方案(2024043554)
- 自考00911互联网数据库 精华小抄笔记
- 《电子商务法律法规》课程标准
- 中国联通科技创新奖励办法
- 中药饮片储存与养护
- 【《项链》莫泊桑】《项链》课本剧剧本
- 唐长安城高官住宅分布变迁之初步研究
评论
0/150
提交评论