[MDEV-14839] Sequel Pro cannot authenticate a user with PAM Created: 2018-01-01  Updated: 2018-02-02  Resolved: 2018-02-02

Status: Closed
Project: MariaDB Server
Component/s: Authentication and Privilege System
Affects Version/s: 10.1, 10.2
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Marc BALLAT Assignee: Unassigned
Resolution: Not a Bug Votes: 0
Labels: need_feedback
Environment:

Mac OS X 10.9.5
Sequel Pro



 Description   

Sequel Pro cannot authenticate a user with PAM (Debian Jessie in a container on Proxmox v4.2, MariaDB 10.1 and 10.2). I get the following error :
MySQL said: Authentication plugin 'dialog' cannot be loaded: dlopen(/usr/local/lib/plugin/dialog.so, 2): image not found

Kind regards.

Marc



 Comments   
Comment by Elena Stepanova [ 2018-01-01 ]

Here is a note from PAM plugin documentation:

Starting from MariaDB 5.5.32, one can instruct the PAM plugin to use the mysql_cleartext_password client plugin instead of the dialog plugin. It may be useful if you only have MySQL (not MariaDB) client libraries and cannot install the dialog plugin. Keep in mind, though, that mysql_cleartext_password has a very limited PAM support, and only allows the use of password based authentication.

To switch the PAM plugin into this mode, specify the --pam-use-cleartext-plugin option on the command-line or in your my.cnf file.

Did you try that?

Comment by Marc BALLAT [ 2018-01-01 ]

OK, I tried your suggestion.

Here is the relevant part of my.cnf :

plugin-load=auth_pam.so
plugin-load-add=mysql_clear_password
pam-use-cleartext-plugin

I am now getting the following message from Sequel Pro :
MySQL said: Authentication plugin 'mysql_clear_password' cannot be loaded: plugin not enabled

Although I did launch Sequel Pro from a shell where I had set
LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN=1

What am I doing wrong here ?

Thanks in advance.

Comment by Sergei Golubchik [ 2018-01-02 ]

Authentication plugin 'mysql_clear_password' cannot be loaded: plugin not enabled

means that you use MySQL client library, not MariaDB client library. It has mysql_clear_password built in, so that it doesn't need to be loaded, but it needs to be enabled via LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN. If that doesn't work, it could be that you're doing something wrong or it could be a bug in MySQL client library.

Alternatively you can install dialog.so which comes with MariaDB client library. MySQL client library used to be able to load it just fine.

Generated at Thu Feb 08 08:16:41 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.