PRACTICA 03-Gestion de Usuarios

S.G.B.D. 98/99. PRÁCTICAS PRACTICA MYSQL OBJETIVO DE ESTA PRACTICA Después de realizar, esta práctica el alumno debe s

Views 216 Downloads 0 File size 335KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

S.G.B.D. 98/99.

PRÁCTICAS

PRACTICA MYSQL OBJETIVO DE ESTA PRACTICA Después de realizar, esta práctica el alumno debe saber: • El sistema de privilegios mysql (1-conexión, 2-operaciones) • Creación/eliminación de usuarios. • Establecimiento/eliminación de permisos GESTION DE USUARIOS Y PRIVILEGIOS Crear un usuario llamado “alumno” que tenga acceso a las tablas PERSONA, ALUMNO, ASIGNATURA, ALUMNO_ASIGNATURA desde cualquier lugar . 2) Crear un usuario llamado “profesor” que tenga permiso de lectura a toda la base de datos desde localhost. 3) Crear un usuario llamado “profesor_priv” con los privilegios anteriores y los privilegios de inserción y borrado en la tabla privilegios. 4) Crear un usuario llamado “administrador” que tenga todos los privilegios a todas las bases de datos de nuestro servidor mysql. Este administrador no tendrá la posibilidad de dar privilegios. 5) Crear un usuario llamado “superadmin” con los privilegios anteriores y con posibilidad de dar privilegios. 6) Crear un usuario llamado “usr_ocasional” con permiso para realizar una consulta a la BD universidad por hora. 7) Cambiar la contraseña de root a “654321”. 8) Quitar los privilegios al usuario “profesor_priv” para actualizar la tabla persona. 9) Eliminar todos los privilegios al usuario alumno. 10) Actualizar los privilegios. 11) Muestra los privilegios de usuario alumno. 12) Da a uno de tus compañeros permisos para insertar en la tabla titulación. Compruébalo dejando que tu compañero inserte un registro. 1)

Realizado por José Manuel Frías Díaz

S.G.B.D. 98/99.

PRÁCTICAS

.

Permiso

Significado

ALL [PRIVILEGES]

Da todos los permisos simples excepto GRANT OPTION

ALTER

Permite el uso de ALTER TABLE

ALTER ROUTINE

Modifica o borra rutinas almacenadas

CREATE

Permite el uso de CREATE TABLE

CREATE ROUTINE

Crea rutinas almacenadas

CREATE TEMPORARY TABLES

Permite el uso de CREATE TEMPORARY TABLE

CREATE USER

Permite el uso de CREATE USER, DROP USER, RENAME USER, y REVOKE ALL PRIVILEGES.

CREATE VIEW

Permite el uso de CREATE VIEW

DELETE

Permite el uso de DELETE

DROP

Permite el uso de DROP TABLE

EXECUTE

Permite al usuario ejecutar rutinas almacenadas

FILE

Permite el uso de SELECT ... INTO OUTFILE y LOAD DATA INFILE

INDEX

Permite el uso de CREATE INDEX y DROP INDEX

INSERT

Permite el uso de INSERT

LOCK TABLES

Permite el uso de LOCK TABLES en tablas para las que tenga el permiso SELECT

PROCESS

Permite el uso de SHOW FULL PROCESSLIST

REFERENCES

No implementado

RELOAD

Permite el uso de FLUSH

REPLICATION CLIENT

Permite al usuario preguntar dónde están los servidores maestro o esclavo

REPLICATION SLAVE Necesario para los esclavos de replicación (para leer eventos del log binario desde el maestro) SELECT

Permite el uso de SELECT

SHOW DATABASES

SHOW DATABASES muestra todas las bases de datos

SHOW VIEW

Permite el uso de SHOW CREATE VIEW

SHUTDOWN

Permite el uso de mysqladmin shutdown

SUPER

Permite el uso de comandos CHANGE MASTER, KILL, PURGE MASTER LOGS, and SET GLOBAL , el comando mysqladmin debug le permite conectar (una vez) incluso si se llega a max_connections

UPDATE

Permite el uso de UPDATE

USAGE

Sinónimo de “no privileges”

GRANT OPTION

Permite dar permisos

Realizado por José Manuel Frías Díaz

S.G.B.D. 98/99.

PRÁCTICAS

1) GRANT SELECT ON universidad.alumno TO 'alumno'@'%' IDENTIFIED BY '123456'; GRANT SELECT ON universidad.alumno_asignatura TO 'alumno'@'%' GRANT SELECT ON universidad.asignatura TO 'alumno'@'%'

2) GRANT SELECT ON universidad.* TO 'profesor'@'localhost' IDENTIFIED BY '123456';

3) GRANT SELECT ON universidad.* TO 'profesor_priv'@'localhost' IDENTIFIED BY '123456'; GRANT INSERT, DELETE, UPDATE ON universidad.persona TO 'profesor_priv'@'localhost';

4) GRANT ALL PRIVILEGES ON *.* TO 'administrador'@'localhost' IDENTIFIED BY '123456';

5) GRANT ALL PRIVILEGES ON *.* TO 'superadmin'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;

6) GRANT SELECT ON universidad.* TO 'usr_ocasional'@'localhost' IDENTIFIED BY '123456' WITH MAX_QUERIES_PER_HOUR 1; Se comprueba que solo podemos realizar una consulta a la hora.

7) SET PASSWORD FOR 'root'@'localhost' = PASSWORD('654321'); Ó bien mysql> UPDATE mysql.user SET Password=PASSWORD('654321') -> WHERE User='root' AND Host='localhost'; mysql> FLUSH PRIVILEGES;

8) REVOKE UPDATE ON Universidad.persona

Realizado por José Manuel Frías Díaz

S.G.B.D. 98/99.

PRÁCTICAS

FROM 'profesor_priv'@'localhost';

9) REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'alumno'@'%';

10) FLUSH PRIVILEGES;

11) SHOW GRANTS FOR alumno@localhost;

Realizado por José Manuel Frías Díaz