Плагин аутентификации — именованный канал
Плагин аутентификации 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
© 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/