⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysql-安全性-12.htm

📁 微软数据库开发梦工场多媒体教学-My sql篇.rar
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#000000" text="#FFFFFF">
<p><font color="#009900">范围列匹配顺序</font><br>
</p>
<p>  MySQLMySQL当服务器读取user表内容时,它根据在Host和User列中的值排序记录,Host作用(相同的值排在一起,然后再根据User值排序)。然而,排序不是典序(按词排序),它只是部分是。要牢记的是字面上的词优先于模式。这意味着如果你正从client.your.netHostclient.your.net%.your.net总之一句话,越具体越优先。可以参见本文附录的实例。<br>
  本届介绍一些在你授权时的一些预防措施,以及不明值的选择带来的风险。一般地,你要很“吝啬”地授予超级用户权限,即不要启用user表中条目中的权限,而使用其它授权表,以将用户权限限制于数据库、表、或列。在user表中的权限允许于影响到你的服务器操作或能访问任何数据库中的任何表。<br>
  mysqlmysqlGRANT<br>
  FILE权限尤其危险,不要轻易授权它。以下是一个拥有FILE权限的人能干除的事情:<br>
  CREATE TABLE etc_passwd (pwd_entry TEXT);<br>
  LOAD DATA INFILE &quot;/etc/passwd&quot; into TABLE etc_passwd;<br>
  SELECT * FROM etc_passwd;</p>
<p>在发出这些语句后,用户已经拥有了你的口令文件的内容了。实际上,服务器上任何公开可读文件的内容都可被拥有FILE权限的用户通过网络访问。</p>
<p>FILE权限也能被利用来危害没有设置足够权限制的文件权限的系统上的数据库。这就是你为什么应该设置数据目录只能由服务器读取的原因。如果对应于数据库表的文件可被任何人读取,不只是用户服务器账号的用户可读,任何有FILE权限的用户也可通过网络连接并读取它们。下面演示这个过程: 
</p>
<p>·创建一个有一个LONGBLOB列的表: <br>
  USER test;<br>
  CREATE TABLE tmp (b LONGBLOB);</p>
<p>·使用该表读取每个对应于你想偷取的数据库表文件的内容,然后将表内容写入你自己数据库的一个文件中:</p>
<p>LOAD DATA INFILE &quot;./other_db/x.frm&quot; INTO TABLE tmp<br>
  FIELDS ESCAPED BY &quot;&quot; LINES TERMINATED BY &quot;&quot;;<br>
  SELECT * FROM tmp INTO OUTFILE &quot;y.frm&quot;<br>
  FIELDS ESCAPED BY &quot;&quot; LINES TERMINATED BY &quot;&quot;;<br>
  DELETE FROM tmp;<br>
  LOAD DATA INFILE &quot;./other_db/x.ISD&quot; INTO TABLE tmp<br>
  FIELDS ESCAPED BY &quot;&quot; LINES TERMINATED BY &quot;&quot;;<br>
  SELECT * FROM tmp INTO OUTFILE &quot;y.ISD&quot;<br>
  FIELDS ESCAPED BY &quot;&quot; LINES TERMINATED BY &quot;&quot;;<br>
  DELETE FROM tmp;<br>
  LOAD DATA INFILE &quot;./other_db/x.ISM&quot; INTO TABLE tmp<br>
  FIELDS ESCAPED BY &quot;&quot; LINES TERMINATED BY &quot;&quot;;<br>
  SELECT * FROM tmp INTO OUTFILE &quot;y.ISM&quot;</p>
<p>·现在你拥有了一个新表y,它包含other_db.x的内容并且你有全权访问它。 <br>
  为避免让人以同样的方式攻击,根据“第一部分 内部安全性-保护你的数据目录”中的指令设置你的数据目录上的权限。你也可以在你启动服务器时使用--skip-show-database选项限制用户对于他们没用访问权限的数据库使用SHOW 
  DATABASES和SHOW TABLES。这有助于防止用户找到关于它们不能访问的数据库和表的信息。</p>
<p>ALTER权限能以不希望的方式使用。假定你想让user1可以访问table1但不能访问tables2。一个拥有ALTER权限的用户可以通过使用ALTER 
  TABLE将table2改名为table1来偷梁换柱。</p>
<p>当心GRANT权限。两个由不同权限但都有GRANT权限的用户可以使彼此的权利更强大。<br>
</p>
<p>&nbsp; </p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -