Creracion de usuarios y gestion de permisos en bases de datos mysql
1. 1.- Crea tres usuarios de nombres tarea2_usu1, tarea2_usu2 y tarea2_usu3 con la sentencia
CREATE USER. Que puedan acceder desde cualquier equipo al servidor y todos ellos con la
password abc123.
1.1.
Pueden estos usuarios acceder a la BD EMPLEADOS ¿por qué?
Estos usuarios no podrán conectarse a la base de datos ya que CREATE USER nos creará los
usuarios sin ningún tipo de permiso, deberemos asignarles permisos con el comando GRANT.
2. Conéctate como root al servidor y abre además otras 3 conexiones, una por cada usuario
creado en el ejercicio 1. Escribe las sentencias que tendrías que escribir por consola, aunque tú
estés accediendo en modo gráfico.
Conexión root:
3. 3. Desde la sesión de root proporciona el permiso de consulta sobre la tabla REPVENTAS al
usuariotarea2_usu3. Hazlo de tal manera que ese usuario pueda dar el permiso a otros.
4. Comprueba desde las diferentes sesiones qué usuarios pueden acceder a la tabla
REPVENTAS y cuáles no. Escribe la sintaxis que utilizas para la comprobación y di quien/es
pueden acceder.
Usuario 1:
USE empleados;
No puede acceder a la base de datos y mucho menos a la tabla porque simplemente está creado
el usuario, no tiene asignado aún ningún permiso.
Usuario 2:
USE empleados;
No puede acceder a la base de datos y mucho menos a la tabla porque simplemente está creado
el usuario, no tiene asignado aún ningún permiso.
Usuario 3:
Este si podrá acceder, se le ha asignado permiso en el ejercicio anterior. Seguidamente se
muestra la captura.
4. 5. Como usuario tarea2_usu3 proporciona al usuario tarea2_usu2 el permiso de consulta sobre la
tabla REPVENTAS, pero sin la posibilidad de dárselo a otros. ¿Puedes hacerlo? ¿Por qué?
Se puede otorgar el permiso desde tarea2_usu3 ya que cuando le fue dado el permiso a este, se
le añadió la cláusula WITH GRANT OPTION, que permite que desde ese usuario se le pueda
asignar el permiso a otros.
6. Comprueba si el usuario tarea2_usu2 puede ahora consultar REPVENTAS. Pon la captura que
demuestre si puede o no el usuario tarea2_usu2 consultar REPVENTAS.
7. Como usuario tarea2_usu2 concede al usuario tarea2_usu1 el permiso de consulta sobre la
tabla REPVENTAS, pero sin la posibilidad de dárselo a otros. ¿Puedes hacerlo? ¿Por qué?
5. No se puede conceder el permiso ya que el usuario tarea2_usu2 no tiene la capacidad de
transmitir el permiso a otros usuarios (clausula GRANT OPTION).
8. Como usuario root concede al usuario tarea2_usu1 el permiso de consulta sobre la tabla
REPVENTAS, pero sin la posibilidad de dárselo a otros. ¿Puedes hacerlo? ¿Por qué?
Se puede hacer, en la siguiente captura se demuestra. Ya que el usuario root posee los permisos
necesarios para la administración completa de la base de datos.
6. 9. Desde el usuario root quítale al usuario tarea2_usu3 el permiso de consulta sobre la tabla
REPVENTAS, ¿podría heredarlo?
El usuario seguiría conservando el privilegio de dar permisos heredados si es que la pregunta se
refiere a eso ya que no la entiendo bien. Aunque el usuario solo puede transmitir los permisos con
los que él mismo cuenta o los que se le puedan dar en un futuro.
7. 10. Comprueba desde las diferentes sesiones qué usuarios pueden acceder a la tabla
REPVENTAS y cuáles no.
Root:
Usuario1:
Usuario 2:
8. Usuario 3:
11. ¿Puede acceder tarea2_usu1 a la tabla REPVENTAS? ¿Por qué?
Si puede acceder ya que le fue concedido el permiso por el usuario root.
12. ¿Puede acceder tarea2_usu2 a la tabla REPVENTAS? ¿Por qué?
Si puede ya que a este usuario le fue concedido el permiso por tarea2_usu3 cuando aún tenía
privilegio select para esa tabla con la cláusula GRANT OPTION que le permitía transmitir sus
permisos a otros usuarios.
9. 13. ¿Puede acceder tarea2_usu3 a la tabla REPVENTAS? ¿Por qué?
No, no puede acceder porque le fue revocado el permiso por el usuario root.
14. Escribe para cada usuario no root la sintaxis que nos permita ver los privilegios de los que
dispone y muestra el resultado.
Usuario 1:
Usuario 2:
Usuario 3:
15. Escribe la sintaxis que le quita al usuario tarea2_usu3 el privilegio de conceder permisos.
Demuestra que funciona.
En la siguiente captura podemos ver todos los comandos utilizados para ver los permisos antes
de revocar el privilegio GRANT OPTION así como la orden para revocarlo y los permisos después
de quitar dicho permiso.