13
-ACTIVIDAD PUNTUABLE 2 (CORRESPONDIENTE AL TEMA 3) 1. TÍTULO DE LA ACTIVIDAD: Gestión de cuentas de usuario y permisos. 2. DESCRIPCIÓN DE LA ACTIVIDAD: OBJETIVOS - Con esta actividad vas a familiarizarte con la administración básica de cuentas de usuario y permisos que estos tienen para conectarse a la base de datos o realizar cualquier acción sobre ella. METODOLOGÍA -Comienza familiarizándote con las diferentes tablas de permisos que utiliza MySQL, en la base de datos “mysql”. Es conveniente leer sus columnas y aprender a distinguir rápidamente las columnas de alcance de las de privilegios, así como observar los distintos privilegios que aparecen en MySQL, interpretando su significado en el contexto de los diferentes permisos existentes. -Para consultar cualquier tipo de permiso o privilegio es muy recomendable seguir además del manual de la asignatura, la documentación oficial (http://www.mysql.com ). ACTIVIDAD i. Utilizando el comando show privileges desde MySQL explica el significado de los siguientes permisos: Alter : es un permiso o privilegio que se establece en las tablas, y este permite modificar dichas tablas. Create: es un permiso o privilegio que se establece en las Bases de Datos, Tablas e Índices, y este permite modificar dichas tablas. "Create user": Es un privilegio a nivel super Usuarios O administrador, que permite crear usuarios Delete: es un permiso o privilegio que se establece en las tablas, y este permite Borrar dichas tablas.

asir2mmm.files.wordpress.com€¦  · Web view · 2014-04-15ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde localhost. ... usuario root, comprueba

Embed Size (px)

Citation preview

Page 1: asir2mmm.files.wordpress.com€¦  · Web view · 2014-04-15ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde localhost. ... usuario root, comprueba

-ACTIVIDAD PUNTUABLE 2 (CORRESPONDIENTE AL TEMA 3)

1. TÍTULO DE LA ACTIVIDAD: Gestión de cuentas de usuario y permisos.

2. DESCRIPCIÓN DE LA ACTIVIDAD:

OBJETIVOS- Con esta actividad vas a familiarizarte con la administración básica de cuentas de usuario y permisos que estos tienen para conectarse a la base de datos o realizar cualquier acción sobre ella.

METODOLOGÍA-Comienza familiarizándote con las diferentes tablas de permisos que utiliza MySQL, en la base de datos “mysql”. Es conveniente leer sus columnas y aprender a distinguir rápidamente las columnas de alcance de las de privilegios, así como observar los distintos privilegios que aparecen en MySQL, interpretando su significado en el contexto de los diferentes permisos existentes.-Para consultar cualquier tipo de permiso o privilegio es muy recomendable seguir además del manual de la asignatura, la documentación oficial (http://www.mysql.com).

ACTIVIDADi. Utilizando el comando show privileges desde MySQL explica el significado de los siguientes permisos:

Alter : es un permiso o privilegio que se establece en las tablas, y este permite modificar dichas tablas.

Create: es un permiso o privilegio que se establece en las Bases de Datos, Tablas e Índices, y este permite modificar dichas tablas.

"Create user": Es un privilegio a nivel super Usuarios O administrador, que permite crear usuarios

Delete: es un permiso o privilegio que se establece en las tablas, y este permite Borrar dichas tablas.

Drop: es un permiso o privilegio que se establece en las Bases de Datos y Tablas y este permite Borra dichas tablas O BBDD.

Execute: es un permiso o privilegio que se establece en las Funciones O Procedimientos, permite Ejecutarlos.

Page 2: asir2mmm.files.wordpress.com€¦  · Web view · 2014-04-15ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde localhost. ... usuario root, comprueba

"Grant option": es un permiso o privilegio que se establece en las Bases de Datos, Tablas, Funciones y Procedimientos, y este permite establecer privilegios o permisos en todos los objetos mencionados, para cualquier usuario.

Index: es un permiso o privilegio que se establece en las tablas, y este permite Crear o borrar índices para estas.

Insert: es un permiso o privilegio que se establece en las tablas, y este permite Insertar datos para estas.

References: es un permiso o privilegio que se establece en las tablas Y BBDD, y permite tener referencias en las tablas.

Select: es un permiso o privilegio que se establece en las tablas, y este permite Recuperar las filas de estas.

Super: Es un privilegio que se establece solo al super Usuario, este permite establecer variables globales, cambiar el servidor maestro establecer un clúster, etc.

ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde

localhost. Escribe el comando utilizado. Haz un acceso a los campos “user” y “host” de la tabla

user para comprobarlo, y adjunta una captura con el resultado.

Create user miguel@’localhost’;

Page 3: asir2mmm.files.wordpress.com€¦  · Web view · 2014-04-15ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde localhost. ... usuario root, comprueba

select user, host from user;

iii. Siguiendo con el usuario root, comprueba en la tabla db si el usuario creado en el punto

anterior tiene permisos sobre la base de datos test.

Para dicha tabla no aparece ningún usuario con ningún usuario especifico y al no aparece

explicito ningún usuario significa cualquier usuario. Por lo que tiene algún tipo de permiso

sobre dicha BBDD. Pero no sabemos cual todavía.

Page 4: asir2mmm.files.wordpress.com€¦  · Web view · 2014-04-15ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde localhost. ... usuario root, comprueba

iv Crea la tabla “mitabla” sobre esta base de datos (test) con un único campo numérico

“numero”. Inserta un par de valores en la tabla “mitabla”.

Page 5: asir2mmm.files.wordpress.com€¦  · Web view · 2014-04-15ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde localhost. ... usuario root, comprueba
Page 6: asir2mmm.files.wordpress.com€¦  · Web view · 2014-04-15ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde localhost. ... usuario root, comprueba

Insertar valores en la tabla:

insert into mitabla values (10);

insert into mitabla values (15);

insert into mitabla values (20);

v. Entra en MySQL con el usuario creado e intenta leer esos valores ¿Qué sucede? Explica lo

que harías para que este usuario pudiese leer valores (permiso de select) en la tabla “mitabla”

de la base de datos “test”, pero no pueda hacer otras acciones sobre esta tabla (inserciones,

actualizaciones o borrados).

Page 7: asir2mmm.files.wordpress.com€¦  · Web view · 2014-04-15ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde localhost. ... usuario root, comprueba

Sucede que el usuario no tiene permisos establecidos todavía, y que no tiene ningún privilegio

sobre esta tabla, y por eso no puede consultar los datos de esta. Y tampoco puede realizar

ningún tipo de operativa:

Page 8: asir2mmm.files.wordpress.com€¦  · Web view · 2014-04-15ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde localhost. ... usuario root, comprueba

Para darle permiso de solo SELECT a la tabla haría lo siguiente:

GRANT SELECT ON test.mitabla TO miguel@localhost;

Con este comando le estoy dando privilegios de select a la tabla mitabla, y solo privilegios de

select.

Page 9: asir2mmm.files.wordpress.com€¦  · Web view · 2014-04-15ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde localhost. ... usuario root, comprueba

También se podría dar a través del WORKBENCH:

Page 10: asir2mmm.files.wordpress.com€¦  · Web view · 2014-04-15ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde localhost. ... usuario root, comprueba

vi. Crea un usuario admin o utiliza el que has creado previamente y asignale todos los permisos

para que pueda hacer cualquier cosa, desde el equipo local y desde cualquier otro equipo.

Adjunta captura de pantalla con las sentencias ejecutadas.

GRANT ALL PRIVILEGES ON *.* To admnin@localhost identified by 'Aquiles10' WITH GRANT

Option;

GRANT ALL PRIVILEGES ON *.* To admnin@’%’ identified by 'Aquiles10' WITH GRANT

Option;

vii. Escribe los comandos necesarios para hacer lo mismo que en apartado anterior, pero

modificando la tablas “user”, y que además las tablas de permisos se recarguen en memoria.

Use mysql;

INSERT INTO user VALUES (‘localhost’,’admnin’,PASSWORD(‘Aquiles10’),’Y’, ’Y’, ’Y’, ’Y’, ’Y’,

’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’);

INSERT INTO user VALUES (‘%’,’admnin’,PASSWORD(‘Aquiles10’),’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’,

’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’, ’Y’);

FLUSH PRIVILEGES;

Page 11: asir2mmm.files.wordpress.com€¦  · Web view · 2014-04-15ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde localhost. ... usuario root, comprueba

viii. Escribe la sentencia necesaria para cambiar la contraseña al usuario que has creado, o

asígnale una nueva si no la tenía previamente. Utiliza la función PASSWORD para este

apartado.

Set password for miguel@localhost = PASSWORD ('Fenix1234');

ix. Escribe la sentencia REVOKE para quitar todos los permisos que le has dado al usuario

anterior.

REVOKE ALL PRIVILEGES ON *.* FROM admnin@localhost;

REVOKE ALL PRIVILEGES ON *.* FROM admnin@'%';

Page 12: asir2mmm.files.wordpress.com€¦  · Web view · 2014-04-15ii. Crea un usuario local con tu nombre de pila (por ejemplo pepe) que accederá desde localhost. ... usuario root, comprueba

3. EXTENSIÓN MÁXIMA DE LA ACTIVIDAD: 15 hojas con las respuestas a las preguntas y las capturas de pantalla.