Spec-Zone .ru
спецификации, руководства, описания, API
|
С MySQL 5.6.2 серверный плагин аутентификации доступен, который аутентифицирует клиенты, которые соединяются от локального узла до файла сокета Unix.
Исходный код для этого плагина может быть исследован как относительно простой пример, демонстрирующий, как записать загружаемый плагин аутентификации.
Следующая таблица показывает имена файлов библиотеки и плагин. Суффикс имени файла мог бы разойтись в Вашей
системе. Расположение файла является каталогом, названным plugin_dir
системная переменная. Для информации об установке см. Раздел
6.3.7, "Сменная Аутентификация".
Таблица 6.14. MySQL Socket Peer-Credential Authentication Plugin
Серверное имя плагина | auth_socket |
Клиентское имя плагина | Ни один, не см. обсуждение |
Имя объектного файла библиотеки | auth_socket.so |
auth_socket
плагин аутентификации аутентифицирует клиенты, которые соединяются от
локального узла до файла сокета Unix. Плагин использует SO_PEERCRED
опция сокета,
чтобы получить информацию о пользователе, выполняющем клиентскую программу. Плагин проверяет, соответствует ли
имя пользователя имя пользователя MySQL, определенное клиентской программой к серверу, и разрешает соединение,
только если имена соответствуют. Плагин может быть создан только на системах, которые поддерживают SO_PEERCRED
опция, такая как Linux.
Предположите, что учетная запись MySQL создается для названного пользователя valerie
кто должен аутентифицироваться auth_socket
плагин для соединений от локального узла до файла сокета:
CREATE USER 'valerie'@'localhost' IDENTIFIED WITH auth_socket;
Если пользователь на локальном узле с именем для входа в систему stefanie
вызывает
mysql с опцией --user=valerie
соединяться через файл сокета, использование сервера auth_socket
аутентифицировать
клиент. Плагин решает что --user
значение опции (valerie
) отличается от клиентского имени пользователя (stephanie
)
и отказывается от соединения. Если пользователя называют valerie
пробует ту же
самую вещь, плагин находит, что имя пользователя и имя пользователя MySQL - оба valerie
и разрешает соединение. Однако, плагин отказывается от соединения даже
для valerie
если соединение делается, используя различный протокол, такой как
TCP/IP.
Для получения общей информации о сменной аутентификации в MySQL, см. Раздел 6.3.7, "Сменная Аутентификация".