Spec-Zone.ru › MariaDB

Плагин аутентификации — именованный канал

Плагин аутентификации named_pipe позволяет пользователю использовать учетные данные операционной системы при подключении к MariaDB через именованный канал в Windows. Подключения через именованные каналы включаются системной переменной named_pipe.

Плагин аутентификации named_pipe работает с использованием имитации именованного канала и вызова GetUserName() для получения имени пользователя процесса, подключенного к именованному каналу. Получив имя пользователя, он аутентифицирует подключающегося пользователя как учетную запись MariaDB с тем же именем пользователя.

Установка плагина

Хотя общая библиотека плагина по умолчанию распространяется с MariaDB, сам плагин по умолчанию MariaDB не устанавливает. Существует два метода, которые можно использовать для установки плагина с MariaDB.

Первый метод можно использовать для установки плагина без перезапуска сервера. Вы можете установить плагин динамически, выполнив INSTALL SONAME или INSTALL PLUGIN. Например:

INSTALL SONAME 'auth_named_pipe';

Второй метод можно использовать, чтобы указать серверу загружать плагин при запуске. Плагин может быть установлен таким образом, указав параметры --plugin-load или --plugin-load-add. Это можно указать как аргумент командной строки для mysqld или в соответствующей группе параметров сервера группа параметров в файле параметров. Например:

[mariadb]
...
plugin_load_add = auth_named_pipe

Удаление плагина

Вы можете удалить плагин динамически, выполнив UNINSTALL SONAME или UNINSTALL PLUGIN. Например:

UNINSTALL SONAME 'auth_named_pipe';

Если вы установили плагин, указав параметры --plugin-load или --plugin-load-add в соответствующей группе параметров сервера группа параметров в файле параметров, то эти параметры должны быть удалены, чтобы предотвратить загрузку плагина при следующем перезапуске сервера.

Создание пользователей

Чтобы создать учетную запись пользователя через CREATE USER, укажите имя плагина в предложении IDENTIFIED VIA. Например:

CREATE USER username@hostname IDENTIFIED VIA named_pipe;

Если SQL_MODE не имеет установленного параметра NO_AUTO_CREATE_USER, то вы также можете создать учетную запись пользователя через GRANT. Например:

GRANT SELECT ON db.* TO username@hostname IDENTIFIED VIA named_pipe;

Плагины аутентификации клиента

Плагин аутентификации named_pipe не требует каких-либо специфических плагинов аутентификации клиента. Он должен работать со всеми клиентами.

Поддержка в клиентских библиотеках

Плагин аутентификации named_pipe не требует какой-либо специальной поддержки в клиентских библиотеках. Он должен работать со всеми клиентскими библиотеками.

Пример

CREATE USER wlad IDENTIFIED VIA named_pipe;
CREATE USER monty IDENTIFIED VIA named_pipe;
quit

C:\>echo %USERNAME%
wlad

C:\> mysql --user=wlad --protocol=PIPE
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.1.12-MariaDB-debug Source distribution

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> quit
Bye

C:\> mysql --user=monty  --protocol=PIPE
ERROR 1698 (28000): Access denied for user 'monty'@'localhost'

В этом примере пользователь wlad уже вошел в систему. Поскольку он идентифицировал себя в операционной системе, ему не нужно делать это снова для базы данных — MariaDB доверяет учетным данным операционной системы. Однако он не может подключиться к базе данных как другой пользователь.

Версии

Версия Статус Введена
1.0 Стабильная MariaDB 10.1.11

Параметры

named_pipe

  • Описание: Управляет тем, как сервер должен обрабатывать плагин при запуске сервера.
    • Допустимые значения:
      • OFF — Отключает плагин, не удаляя его из таблицы mysql.plugins.
      • ON — Включает плагин. Если плагин не может быть инициализирован, сервер все равно продолжит запуск, но плагин будет отключен.
      • FORCE — Включает плагин. Если плагин не может быть инициализирован, сервер не запустится и выведет ошибку.
      • FORCE_PLUS_PERMANENT — Включает плагин. Если плагин не может быть инициализирован, сервер не запустится и выведет ошибку. Кроме того, плагин не может быть удален с помощью UNINSTALL SONAME или UNINSTALL PLUGIN во время работы сервера.
    • Подробнее см. Обзор плагинов: Настройка активации плагина при запуске сервера.
    • Возможна неоднозначность между этим параметром и системной переменной named_pipe. Подробнее см. MDEV-19625.
  • Командная строка: --named-pipe=value
  • Тип данных: enumerated
  • Значение по умолчанию: ON
  • Допустимые значения: OFF, ON, FORCE, FORCE_PLUS_PERMANENT
  • Введена: MariaDB 10.1.11

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

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/authentication-plugin-named-pipe/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API