Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTRODUCCIÓN
Hasta ahora, siempre hemos conectado al MariaDB, siempre desde el usuario root,
que es el administrador, y por tanto con todos los privilegios, y que tenemos con
contraseña en blanco, que desde luego, es algo inadmisible.
NIVELES DE PRIVILEGIOS.
GESTIÓN DE LA SEGURIDAD.
-1-
Para conectarse hay que conocer los siguientes parámetros:
Hay que tener mucho cuidado, si hay varios usuarios con el mismo nombre, en
diferentes host, MariaBD, ordena la lista y utiliza el primero para validar.
-2-
CREACIÓN DE USUARIOS Y CONCESIÓN DE PRIVILEGIOS.
En MariaDB, podemos crear cuentas de varios modos (vamos a verlo todo desde sql,
sin usar las opciones de Navicat):
-3-
Como podemos ver, al poner la palabra password, hemos tenido que poner, los 41
dígitos en hexadecimal que tiene asignada la password.
Esto es lo básico, en este formato, se puede por ejemplo, crear una cuenta que
caducidad de la cuenta, contraseñas y demás. Eso habrá que buscarlo de forma
puntual.
Otra forma, es usando la sentencia GRANT, con ella, podemos crear un usuario, y al
mismo tiempo concederle privilegios. Si asignamos privilegios, a una cuenta que no
existe, el sistema creará una, la sintaxis es:
-4-
La opción WHIH GRANT OPTION permite que el usuario al que le han concedido
permisos, pueda a su vez, concederlos a otros usuarios, si se los revocan a él, a su vez,
los pierden todos los usuarios a los que se los haya concedido.
Otra forma de asignar o eliminar permisos en MariaDB, es usando las tablas del
catálogo de metadatos, es decir, todas las tablas de las bases de datos mysql, creada al
hacer la instalación del gestor, y que almacena todos los objetos manejados por el
gestor.
En esta base de datos, mysql, existen 5 tablas relacionadas con el sistema de permisos
mysql, user, db, host, tables_priv y columns_priv. Estas tablas pueden ser
manipuladas, de forma manual.
https://mariadb.com/kb/en/library/grant/#privilege-levels
BORRAR USUARIOS.
Para eliminar usuarios, se usa la sentencia DROP USER, eliminando también, lógicamente,
todos los permisos que este tenga.
MODIFICACIÓN DE USUARIOS.
Para modificar los usuarios en MariaDB, podemos utilizar la sentencia ALTER USER, en
versiones posteriores a la 10.2.
La versión que tenemos instalada, podemos verla con la sentencia “Select versión()”, o
también, en phpmyadmin, aparecen todos los datos en la pantalla de bienvenida.
-5-
Por tanto en nuestro caso, la modificación habrá que hacerla en la propia tabla mysql.user, del
sistema.
-6-
Para poder utilizar estas sentencias es necesario que el usuario cumpla uno de los
siguientes requisitos:
Tener activo el permiso global CREATE USER, que le permite hacer cualquiera
de las operaciones anteriores.
Tener los permisos correspondientes sobre la BD mysql, que son:
o INSERT para realizar el comando create user.
o DELETE para poder usar el comando drop, que veremos después.
o UPDATE, para poder ejecutar los comandos rename y set pasword.
REVOCAR PRIVILEGIOS.
Podemos ver, los privilegios que tiene un usuario, mediante la sentencia SHOW
GRANTS:
-7-
ROLES DE USUARIOS.
Pero no basta con asignar el rol al usuario, una vez que este se conecte, tendrá que
activar, basta con ejecutar:
Para evitar que el usuario tenga que activar el rol, se le puede asignar uno por defecto,
de forma que cuando se conecte, vaya implícito una orden set role:
-8-
Es posible, que cuando borremos un usuario, y pretendamos crearlo de nuevo, el
gestor no nos lo permita, aunque éste, ya no esté en el catálogo.
Es posible, que al borrarlo, hayan quedado restos por algún lugar de catálogo. Para
solucionarlo, debes volver a borrarlo y actualizar, de forma que el gestor, vuelva a
revisar el catálogo. Ejecuta:
-9-