等保测评2.0:MySQL身份鉴别(上)

一、 说明

本篇文章主要说一下MySQL数据中身份鉴别控制点中a测评项的相关知识点和理解。

二、 MySQL用户

2.1. 用户身份标识

MySQL数据库对于用户的标识和其它数据库有些不一样,不仅仅是用户名,而是username + host。

MySQL数据中user表的一部分字段如下:

这三个用户的用户名虽然都是root,但其实是三个不同的用户,其密码也是单独设置的。

查询当前登录账户,也可以看到用户的标识组成为username+host:

2.2. 登录匹配机制

既然用户的标示是两个字段的组合,匹配的时候也要这两个字段都匹配上了才行,这里我简单的说一说(根据官方文档)。

当客户端对MySQL发起连接后,MySQL会先对user表进行排序,然后从第一行开始,逐行与传入的host、username进行匹配,当匹配到了某一行之后,就不往下继续匹配了。(如果任何一行都无法匹配,则登录失败)

此时,再来对比传入的口令和存储的口令是否一致,如果口令一致,那么该行即为这次登陆后所使用的行(用户身份)。

如果不一致,则登录失败。

举个例子,如果用户表如下所示:

那么当验证时,会首先对其进行排序,排序如下:

注意,Host字段可以使用匹配符%,%则代表匹配任何Ip地址。另外,空字符串也代表匹配任何Ip地址。

而User字段不使用匹配符%,但是如果为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值