我们为用户运行几十个不同的MySQL服务器。 这些使用MySQL的免费/开源版本,而不是商业版本。 在这些服务器上pipe理帐户密码是痛苦的。
有没有什么插件可以让我们使用LDAP来帮助pipe理MySQL的权限? 至less,我们希望从LDAP服务器获得一些用户名和密码。
我们正在使用MySQL 5.1和5.5。 如果需要实现此function,我们可能愿意升级到MySQL 5.6。
我们希望任何工具都是基于CLI的,不需要GUI或Web界面。
企业MySQL(您支付Oracle许可的版本)有一个允许进行LDAPauthentication的PAM模块: http : //dev.mysql.com/doc/refman/5.5/en/pam-authentication-plugin.html
MariaDB(由Monty开发的MySQL的二进制兼容版本)有一个开源的PAM模块可用: http : //kb.askmonty.org/en/pam-authentication-plugin/
我没有任何一方面的经验 – 我只将它们呈现为我所听到的但未经过testing或使用的function。
您可以使用GPL下的Infoscope Hellas LP提供的auth_ldap
插件。
它可以在这里从sourceforge下载 。
( 主页 )
该插件仍然是一个testing版,只适用于UNIX安装。
一个Mysql代理可以为你启用这个angular色。 更多的细节可以在这里find: https : //stackoverflow.com/questions/1329963/using-ldap-ad-for-mysql-authenication和在这里: http : //jan.kneschke.de/2009/6/25/mysql -proxy-angular色/
MySQL有一个PAMauthentication插件 ,可以让你使用任何可用的PAM模块来提供authentication服务。 有一个pam_ldap
模块比较容易configuration,可以让你做你想做的事情。
插件文档包括一个使用LDAP的例子 。
我已经在我的博客中发布了MySQL的LDAP身份validation插件的完整示例(包含源代码)。
http://nafiux.com/blog/2012/08/11/mysql-ldap-authentication-plugin/
您可以将您的安装迁移到Percona服务器,并使用以下两种方法之一通过PAM将MySQL连接到LDAP:
完整的PAM插件称为auth_pam。 这个插件使用dialog.so。 它完全支持在客户端和服务器之间进行任意通信的PAM协议。
与Oracle兼容的PAM称为auth_pam_compat。 这个插件使用了mysql_clear_password,它是Oracle MySQL客户端的一部分。 它也有一些限制,比如它只支持一个密码input。 您必须使用“-p”选项才能将密码传递给auth_pam_compat。
http://www.percona.com/doc/percona-pam-for-mysql/intro.html
我们正在使用auth_pam_compat
但是您必须记住客户端必须支持Cleartext客户端身份validation插件
现在到2017年底,我可以这样build议:
https://www.percona.com/doc/percona-server/LATEST/management/pam_plugin.html
Percona PAM身份validation插件是MySQL的身份validation插件的免费开源实现。 这个插件充当MySQL服务器,MySQL客户端和PAM堆栈之间的中介。 服务器插件向PAM堆栈请求authentication,通过线路将来自PAM堆栈的任何请求和消息转发给客户端(以明文forms),并读取PAM堆栈的任何回复。
它没有经过testing,我从来没有使用它,我想build议它,因为它可能是好的。