Es importante interpretar el código correctamente previamente a adaptarlo a tu proyecto y si tdeseas aportar algo puedes dejarlo en los comentarios.
En MariaDB 10.4.3 y luego, el unix_socket
El complemento de autenticación está instalado de forma predeterminada y lo utiliza el 'root'@'localhost'
cuenta de usuario de forma predeterminada. Consulte Autenticación de MariaDB 10.4 para obtener más información.
los unix_socket
El complemento de autenticación permite al usuario utilizar las credenciales del sistema operativo cuando se conecta a MariaDB a través del archivo de socket Unix local. Este archivo de socket Unix está definido por el socket
variable de sistema.
los unix_socket
El complemento de autenticación funciona llamando al getsockopt
llamada al sistema con el SO_PEERCRED
opción de socket, que le permite recuperar el uid
del proceso que está conectado al zócalo. A continuación, puede obtener el nombre de usuario asociado con ese uid
. Una vez que tenga el nombre de usuario, autenticará al usuario que se conecta como la cuenta MariaDB que tiene el mismo nombre de usuario.
Deshabilitar el complemento
MariaDB comenzando con 10.4.3
En MariaDB 10.4.3 y luego, el unix_socket
El complemento de autenticación está instalado de forma predeterminada, por lo que Si no desea que esté disponible de forma predeterminada en esas versiones, deberá deshabilitarlo..
los unix_socket
El complemento de autenticación también está instalado de forma predeterminada en nuevas instalaciones que usan el .deb
paquetes proporcionados por los repositorios predeterminados de Debian en Debian 9 y posteriores y los repositorios predeterminados de Ubuntu en Ubuntu 15.10 y posteriores, por lo que Si no desea que esté disponible de forma predeterminada en esos sistemas cuando se utilizan esos paquetes, deberá deshabilitarlo.. Consulte Diferencias en MariaDB en Debian (y Ubuntu) para obtener más información.
los unix_socket
El complemento de autenticación se puede desactivar iniciando el servidor con el unix_socket
opción establecida en OFF
. Esto se puede especificar como un argumento de línea de comandos para mysqld
o se puede especificar en un grupo de opciones de servidor relevante en un archivo de opciones. Por ejemplo:
[mariadb]... unix_socket=OFF
Como alternativa, el unix_socket
La opción también se puede establecer en OFF
emparejando la opción con el disable
opción prefix. Por ejemplo:
[mariadb]... disable_unix_socket
Instalación del complemento
MariaDB comenzando con 10.4.3
En MariaDB 10.4.3 y luego, el unix_socket
El complemento de autenticación está instalado de forma predeterminada, por lo que este paso se puede omitir en esas versiones.
los unix_socket
El complemento de autenticación también está instalado de forma predeterminada en nuevas instalaciones que usan el .deb
paquetes proporcionados por los repositorios predeterminados de Debian en Debian 9 y posteriores y los repositorios predeterminados de Ubuntu en Ubuntu 15.10 y posteriores, por lo que este paso se puede omitir en esos sistemas cuando se utilizan esos paquetes. Consulte Diferencias en MariaDB en Debian (y Ubuntu) para obtener más información.
En otros sistemas, aunque la biblioteca compartida del complemento se distribuye con MariaDB por defecto como auth_socket.so
, MariaDB no instala el complemento de forma predeterminada. Hay dos métodos que se pueden utilizar para instalar el complemento con MariaDB.
El primer método se puede utilizar para instalar el complemento sin reiniciar el servidor. Puede instalar el complemento dinámicamente ejecutando INSTALL SONAME
o INSTALL PLUGIN
. Por ejemplo:
INSTALL SONAME'auth_socket';
El segundo método se puede utilizar para decirle al servidor que cargue el complemento cuando se inicie. El complemento se puede instalar de esta manera proporcionando el --plugin-load
o la --plugin-load-add
opciones. Esto se puede especificar como un argumento de línea de comandos para mysqld
o se puede especificar en un grupo de opciones de servidor relevante en un archivo de opciones. Por ejemplo:
[mariadb]... plugin_load_add = auth_socket
Desinstalar el complemento
Puede desinstalar el complemento dinámicamente ejecutando UNINSTALL SONAME
o UNINSTALL PLUGIN
. Por ejemplo:
UNINSTALL SONAME'auth_socket';
Si instaló el complemento proporcionando el --plugin-load
o la --plugin-load-add
opciones en un grupo de opciones de servidor relevante en un archivo de opciones, entonces esas opciones deben eliminarse para evitar que el complemento se cargue la próxima vez que se reinicie el servidor.
Crear usuarios
Para crear una cuenta de usuario a través de CREATE USER
, especifique el nombre del complemento en el IDENTIFIED VIA
cláusula. Por ejemplo:
CREATEUSER username@hostname IDENTIFIED VIA unix_socket;
Si SQL_MODE
no tiene NO_AUTO_CREATE_USER
, entonces también puede crear la cuenta de usuario a través de GRANT
. Por ejemplo:
GRANTSELECTON db.*TO username@hostname IDENTIFIED VIA unix_socket;
Cambiar a la autenticación basada en contraseña
A veces, la autenticación de socket Unix no satisface sus necesidades, por lo que puede ser conveniente volver a cambiar una cuenta de usuario a la autenticación basada en contraseña. Esto se puede hacer fácilmente diciéndole a MariaDB que use otro complemento de autenticación para la cuenta ejecutando el ALTER USER
declaración. El complemento de autenticación específico se especifica con el IDENTIFIED VIA
cláusula. Por ejemplo, si desea cambiar al mysql_native_password
complemento de autenticación, entonces podría ejecutar:
ALTERUSER root@localhost IDENTIFIED VIA mysql_native_password;SET PASSWORD = PASSWORD('foo');
Tenga en cuenta que si su sistema operativo tiene scripts que requieren acceso sin contraseña a MariaDB, esto puede romper esos scripts. Es posible que pueda solucionarlo estableciendo una contraseña en el [client]
grupo de opciones en su archivo de opciones /root/.my.cnf. Por ejemplo:
[client] password=foo
Complementos de autenticación de clientes
los unix_socket
El complemento de autenticación no requiere ningún complemento de autenticación de cliente específico. Debería funcionar con todos los clientes.
Soporte en bibliotecas cliente
los unix_socket
El complemento de autenticación no requiere ningún soporte especial en las bibliotecas cliente. Debería funcionar con todas las bibliotecas cliente.
Ejemplo
$ mysql -uroot MariaDB []>CREATEUSER serg IDENTIFIED VIA unix_socket; MariaDB []>CREATEUSER monty IDENTIFIED VIA unix_socket; MariaDB []> quit Bye $ whoami serg $ mysql --user=serg Welcome to the MariaDB monitor. Commands endwith;or g. Your MariaDB connection id is2 Server version: 5.2.0-MariaDB-alpha-debug Source distribution MariaDB []> quit Bye $ mysql --user=monty ERROR 1045(28000): Access denied foruser'monty'@'localhost'(using password: NO)
En este ejemplo, un usuario serg
ya está conectado al sistema operativo y tiene acceso completo al shell. Ya se ha autenticado con el sistema operativo y su cuenta MariaDB está configurada para usar el unix_socket
complemento de autenticación, por lo que no necesita autenticarse nuevamente para la base de datos. MariaDB acepta las credenciales de su sistema operativo y le permite conectarse. Sin embargo, se denegará cualquier intento de conectarse a la base de datos como otro usuario del sistema operativo.
Versiones
Versión | Estado | Introducido |
---|---|---|
1.0 | Estable | MariaDB 10.0.11 |
1.0 | Beta | MariaDB 5.2.0 |
Opciones
unix_socket
- Descripción: Controla cómo el servidor debe tratar el complemento cuando se inicia.
- Los valores válidos son:
OFF
– Desactiva el complemento sin eliminarlo delmysql.plugin
mesa.ON
– Habilita el complemento. Si el complemento no se puede inicializar, el servidor seguirá iniciándose, pero el complemento se desactivará.FORCE
– Habilita el complemento. Si el complemento no se puede inicializar, el servidor no podrá iniciarse con un error.FORCE_PLUS_PERMANENT
– Habilita el complemento. Si el complemento no se puede inicializar, el servidor no podrá iniciarse con un error. Además, el complemento no se puede desinstalar conUNINSTALL SONAME
oUNINSTALL PLUGIN
mientras el servidor está funcionando.
- Consulte Descripción general del complemento: configuración de la activación del complemento al iniciar el servidor para obtener más información.
- Los valores válidos son:
- Línea de comando:
--unix-socket=value
- Tipo de datos:
enumerated
- Valor por defecto:
ON
- Valores válidos:
OFF
,ON
,FORCE
,FORCE_PLUS_PERMANENT
Ver también
- Diferencias en MariaDB en Debian (y Ubuntu)
- Autenticación de MariaDB 10.4
El contenido reproducido en este sitio es propiedad de sus respectivos dueños, y MariaDB no revisa este contenido con anticipación. Los puntos de vista, la información y las opiniones expresadas por este contenido no representan necesariamente las de MariaDB o de cualquier otra parte.
Reseñas y valoraciones
Agradecemos que desees confirmar nuestro quehacer poniendo un comentario y valorándolo te estamos eternamente agradecidos.