Mar*_*hes 11 mysql lua mysql-proxy
我有MySQL代理运行,我有一个功能的LUA,read_auth()
但在身份验证过程中传递的密码被哈希(如预期).
我需要的格式是我可以使用和发布的,所以明文.在MySQL客户端上启用明文插件没有任何效果,我怀疑MySQL代理不要求客户端以明文形式发送它,因此默认为散列.
所以基本上:你对我如何能够在read_auth()
MySQL代理的功能中获得明文验证细节有任何想法吗?
注意:我的最终目标是使用LDAP进行身份验证,但是我可以获取密码(哈希是否哈希)的唯一方法是实际绑定到LDAP,无法通过搜索获得.
MySQL网络协议不允许以明文形式发送密码,您可以捕获的只是加密版本.
但是,如果您尝试发送(从客户端到服务器)明文,客户端明文插件应该工作...
从MySQL 5.5.27开始,为了不太可能无意中使用此插件,需要客户端明确启用它.这可以通过以下几种方式完成:
将LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN环境变量设置为以1,Y或y开头的值.这为所有客户端连接启用了插件.
mysql,mysqladmin和mysqlslap客户端程序支持--enable-cleartext-plugin选项,该选项在每次调用的基础上启用插件.
mysql_options()C API函数支持MYSQL_ENABLE_CLEARTEXT_PLUGIN选项,该选项基于每个连接启用插件.此外,任何使用libmysqlclient和读取选项文件的程序都可以通过在客户端库读取的选项组中包含enable-cleartext-plugin选项来启用该插件.
或者,还有一些其他选项可以通过LDAP进行身份验证.例如,您可以使用PAM身份验证插件,它允许您使用任何可用的PAM模块来提供身份验证服务,并且有一个易于配置的pam_ldap模块.
您还可以考虑使用角色并将用户名映射到角色,因此您将拥有一些具有权限的角色和许多映射到这些角色的用户名.您可以在此处找到更多相关信息.
更多资源: