Назад | Перейти на главную страницу

MariaDB OpeLDAP аутентификация работает локально, а не удаленно?

У меня есть MySQL (MariaDB) в Ubuntu 14.04 для аутентификации пользователей из нашего экземпляра OpenLDAP с использованием документации. Вот. Когда я подключаюсь к серверу и выдаю mysql -u user101 -p Я могу пройти аутентификацию без проблем (user101 является пользователем LDAP; у него нет пароля в mysql). Когда я пытаюсь использовать удаленное соединение, аутентификация не выполняется:

$ mysql --ssl -u user101 -p -h myserver
Enter password: 
ERROR 2059 (HY000): Authentication plugin 'dialog' cannot be loaded: /usr/lib/mysql/plugin/dialog.so: cannot open shared object file: No such file or directory

На сервере консоль выдаёт такое сообщение:

# 2017 Jul 18 08:27:05 myserver pam_unix(mysql:auth): auth could not identify password for [user101]

Документация Вот упоминает dialog плагин, но говорит Не нужно ничего устанавливать и включать так что не уверен, что делать. Я не компилировал и не устанавливал pam_user_map.c как упоминалось в этой ссылке, поскольку локальная аутентификация работала нормально.

Я дал пользователю удаленный доступ, используя % в имени хоста для записи mysql:

CREATE USER 'user101'@'%' IDENTIFIED VIA pam USING 'mariadb';
GRANT ALL PRIVILEGES ON test.* TO 'user101'@'%' IDENTIFIED VIA pam;

Я предполагаю, что остальная часть настройки LDAP (из документации) верна, иначе сервер не будет аутентифицировать пользователя локально. Что-то мне не хватает? Почему это работает локально, а не удаленно?

Если вы хотите использовать клиент mysql, а не клиент mariadb, вам необходимо передать следующую опцию: mysql --enable-cleartext-plugin --ssl -u user101 -p -h myserver

Это сработало (на клиенте) aptitude install libmariadbclient18