auth_socket
的验证形式是:客户端通过启用 SO_PEERCRED
选项的 socket 连贯到 mysql 服务端,服务端从该 socket 检测运行该客户端的零碎用户名是否为要登录的 mysql 用户名。若用户名雷同,则登录,若不同,则回绝。若用户名应用未启用 SO_PEERCRED
选项的 socket 连贯,也会回绝。
SO_PEERCRED
是一个 Unix 域 socket 能力启用的选项,而 Unix 域 socket 只在本机通信时才会应用。所以,配置了 auth_socket
的 mysql 用户无奈通过 mysql 客户端近程登录,因为近程登录会启用 TCP/IP socket。当然,既然叫 Unix 域,能应用这种 socket 的当然只有 Linux 和其余类 Unix 操作系统。启用该选项的 socket,会向指标发送连贯者的凭据信息(包含用户名)。mysql 服务端获取该凭据并比对用户名是否相等以此决定是否容许登录。
参考
-[1]Linux manual page unix(7)