Spec-Zone .ru
спецификации, руководства, описания, API

6.3.7.4. Плагин Аутентификации Равноправных учетных данных Сокета

Серверный плагин аутентификации доступен, который аутентифицирует клиенты, которые соединяются от локального узла до файла сокета Unix.

Исходный код для этого плагина может быть исследован как относительно простой пример, демонстрирующий, как записать загружаемый плагин аутентификации.

Следующая таблица показывает имена файлов библиотеки и плагин. Суффикс имени файла мог бы разойтись в Вашей системе. Расположение файла является каталогом, названным plugin_dir системная переменная. Для информации об установке см. Раздел 6.3.7, "Сменная Аутентификация".

Таблица 6.12. 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, "Сменная Аутентификация".