MySQL安全性指南 (2)(转)
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-03-16
ET(''Select'',''Insert'',''Update'',''Delete'',''Create'',''Drop'',''Grant'',''References'',''Index'',''Alter'') 在coloums_priv表中的Column_priv列被定义成: SET(''Select'',''Insert'',''Update'',''References'') 列权限比表权限少,因为列级较少的权限有意义。例如你能创建一个表,但你不能创建一个孤立的列。 user表包含某些在其他授权表不存在的权限的列:File_priv、Process_priv、Reload_priv和Shutdown_priv。这些权限运用于你让服务器执行的与任何特定数据库或表不相关的操作。如允许一个用户根据当前数据库是什么来关闭数据库是毫无意义的。 2.2 服务器如何控制客户访问 在你使用MySQL时,客户访问控制有两个阶段。第一阶段发生在你试图连接服务器时。服务器查找user表看它是否能找到一个条目匹配你的名字、你正在从那儿连接的主机和你提供的口令。如果没有匹配,你就不能连接。如果有一个匹配,建立连接并继续第二阶段。在这个阶段,对于每一个你发出的查询,服务器检查授权表看你是否有足够的权限执行查询,第二阶段持续到你与服务器对话的结束。 本小节详细介绍MySQL服务器用于将授权表条目匹配到来的连接请求或查询的原则,这包括在授权表范围列中合法的值的类型、结合授权表中的权限信息的方式和表中条目被检查的次序。 2.2.1 范围列内容 一些范围列要求文字值,但它们大多数允许通配符或其他特殊值。 Host 一个Host列值可以是一个主机名或一个ip地址。值localhost意味着本地主机,但它只在你用一个localhost主机名时才匹配,而不是你在使用主机名时。假如你的本地主机名是pit.snake.net并且在user表中有对你的两条记录,一个有一个Host值或localhost,而另一个有pit.snake.net,有localhost的记录将只当你连接localhost时匹配,其他在只在连接pit.snake.net时才匹配。如果你想让客户能以两种方式连接,你需要在user表中有两条记录。 你也可以用通配符指定Host值。可以使用SQL的模式字符“%”和“_”并具有当你在一个查询中使用LIKE算符同样的含义(不允许regex算符)。 SQL模式字符都能用于主机名和IP地址。如%wisc.edu匹配任何wisc.edu域内的主机,而%.edu匹配任何教育学院的主机。类似地,192.168.%匹配任何在192.168 B类子网的主机,而192.168.3.%匹配任何在192.168.3 C类子网的主机。 %值匹配所有主机,并可用于允许一个用户从任何地方连接。一个空白的Host值等同于%。(例外:在db表中,一个空白Host值含义 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于MySQL安全性指南 (2)(转)的所有评论