Unidad11 Usuarios Perfiles Privilegios Roles Solucion

October 26, 2018 | Author: kikerick | Category: Table (Database), Password, Information Technology Management, Information Retrieval, Data
Share Embed Donate


Short Description

Unidad11 Usuarios Perfiles Privilegios Roles Solucion...

Description

Unidad11. Usuarios, perfiles, privilegios y roles. 1. Conectarse como usuario SYSTEM a la base y crear un usuario llamado “administrador” autentificado por la base de datos con contraseña admin. Indicar como "tablespace" por defecto USERS y como "tablespace" temporal TEMP; asignar una cuota de 500K en el "tablespace" USERS. Consulta después las vistas all_users y dba_users e indica la información que aparece sobre él. CREATE USER ADMINISTRADOR IDENTIFIED BY ADMIN  DEFAULT TABLESPACE TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA 500K ON USERS; SQL> SELECT * USERNAME='ADMINISTRADOR';

FROM

all_USERS

WHERE

2. Abrir una sesión sqlplus o una nueva conexión en sql developer e intentar conectarse como usuario “administrador”, ¿qué sucede?, ¿por qué?.  Error: ORA-01045: user ADMINISTRADOR lacks CREATE SESSION privilege; logon denied. El usuario no tiene privilegios para conectarse a la BD 3. Averiguar qué privilegios de sistema, roles y privilegios sobre objetos tiene concedidos el usuario “administrador” consultando las vistas dba_role_privs, dba_tab_privs, dba_sys_privs dba_sys_privs (busca en Internet qué contienen cada una de estas vistas)  select * from dba_role_privs dba_r ole_privs where grantee='ADMINISTRADOR';  no rows selected  select * from dba_tab_privs dba_t ab_privs where grantee='ADMINISTRADOR';  no rows selected  select * from dba_sys_privs dba_s ys_privs where grantee='ADMINISTRADOR';  no rows selected 4. Otorgar el privilegio p rivilegio “CREATE SESSION” al usuario “administrador” e intentar de nuevo la conexión sqlplus o sqldeveloper. SQL> grant create session to administrador; Grant succeeded. 5a. Modifica la contraseña del usuario administrador por admi, desconecta este usuario y vuelve a acceder acceder a Oracle con el usuario usuario administrador. Comprueba que se ha modificado la contraseña.

Alter user administrador Identified by admin

1

Unidad11. Usuarios, perfiles, privilegios y roles. 5b. Modifica el usuario administrador de forma que su cuenta esté bloqueada. Accede de nuevo con este usuario y comprueba que efectivamente no puede acceder a su cuenta. Alter user administrador Account lock 5c Accede ahora al entreprise manager como system y desbloquea en modo gráfico la cuenta administrador.

6. Conectarse como usuario “administrador” y crear un usuario llamado “prueba00” que tenga como "tablespace" por defecto USERS y como "tablespace" temporal TEMP; asignar una cuota de 500K en el "tablespace" USERS. ¿Es posible hacerlo?.  create user prueba00 identified by prueba00  default tablespace users  temporary tablespace temp quota 500k on users  create user prueba00 identified by prueba00  ERROR at line 1: ORA-01031: insufficient privileges 7. Conectado como usuario SYSTEM, otorgar el privilegio “create user” al usuario “administrador” y repetir el ejercicio anterior. SQL> grant create user to administrador; Grant succeeded. SQL> create user prueba00 identified by prueba00  default tablespace users  temporary tablespace temp quota 0k on users

8. Crea un nuevo usuario prueba1 con clave prueba1 y tablespace users. Concédele el privilegio de connectarse a la BD. Trata de crear una tabla ¿Has podido? ¿Porqué? Concedele el privilegio CREATE TABLE y trata de crear de nuevo la tabla ¿Has podido?

create user prueba1 identified by prueba1 default tablespace users; grant create session to prueba1; grant create table to prueba1; no puede crear tabla todavia ya que al crear el usuario no se le ha asignado cuota.

2

Unidad11. Usuarios, perfiles, privilegios y roles. 9. Asígnale una cuota de 500 K al usuario prueba1 y comprueba que ya puede crear una tabla

Alter user prueba1 Quota 500 k on users 9b. Como usuario prueba1, modifica su propia contraseña a pru1. ¿Puede modificar el propio usuario prueba1 su cuota? ¿Qué privilegio necesita? Asígnale dicho privilegio desde el enterprise manager y comprueba que ahora el usuario prueba1 puede modificarse a sí mismo su cuota por ejemplo asignádole una quota de 600K

Alter user prueba1 identified pru1; Alter user prueba1 default quota 600K on users; No permite, hay que darle el privilegio, ALTER USER 10. Como usuario administrador crea un nuevo usuario llamado ora1 con contraseña ora1 cuota 500k y espacios users y temp. Este nuevo usuario deberá poder conectarse a la BD y crear tablas. Crea una tabla para el usuario ora1¿Puedes insertar datos o manipular la tabla ?. ¿Puedes crear procedimientos, triggers,… ? Indica qué privilegios necesitarias.

create user ora1 identified by ora1 default tablespace users temporary tablespace temp quota 500k on users; grant create session to ora1; grant create table to ora1; Se pueden insertar datos no se pueden crear procedimientos ni triggers, hacen falta los privilegios create trigger, create procedure,… Nota:para poder crear funciones basta dar el rol connect 11. Con el usuario administrador borra el usuario ora1. Indica los pasos que has tenido que realizar para poder hacerlo.

El usuario administrador deberá tener privilegios Drop user. Para borrar el usuario ora1 deberá estar desconectado y ejecutaremos como administrador drop user ora1 cascade ya que el usuario ora1 tienen objetos creados Grant drop user to administrador; Drop user prueba1; 12. Averiguar que usuarios de la base de datos tienen asignado el privilegio “create user” de forma directa, para ello consulta la vista dba_sys_privs observa sus campos y qué quiere decir cada uno y ejecuta la consulta adecuada sobre esta vista. ¿Qué significa la opción ADMIN OPTION? SQL> select * from dba_sys_privs where privilege ='CREATE USER'; 3

Unidad11. Usuarios, perfiles, privilegios y roles.

13. Hacer lo mismo para el privilegio “create session”.

14. Desbloquea desde el EM el usuario hr de la bd y ponle como contraseña hr. Consulta las tablas de las que dispone este usuario. 15.Concede permisos al usuario oracle4 para ejecutar consultas sobre la tabla employees del usuario hr (Crea previamente el usuario oracle4 con clave a 500k y tablespace users y temp, concédele privilegios para conectarse y crear tablas, crea una tabla en el usuario oracle4 llamala tabla1) Grant dba to administrador; grant select on hr.employees to oracle4 como usuario system grant select on employees to oracle4 como usuario hr; 16.Consulta los datos de la tabla employees (habiéndote conectado como usuario oracle4)

select * from hr.employees; 17.Consulta los datos de la tabla countries de hr ¿Has podido? ¿Por qué?

No porque no tienes permiso de consulta 18.Concede permisos a oracle4 para insertar registros en la tabla countries de hr

grant insert on hr.countries to oracle4 19.Inserta el país Turquía con código TR de Asia en la tabla countries como usuario oracle4

insert into hr.countries values('TR','Turquia',3) 20.Trata de borrar como usuario oracle4 la fila que has insertado ¿Qué mensaje obtienes? Otorga a hr privilegios para poder borrar sobre la tabla countries

delete from hr.paises where country_id='TR'. Obtenemos el mensaje privilegios insuficientes grant delete on hr.countries to oracle4

21.Crea la tabla país en oracle4 como copia de countries desde el usuario HR

Create table pais as select * from hr.countries; 22.Concede al usuario oracle4 permisos para borrar tablas de cualquier usuario. Crea una tabla en HR, por ejemplo una copia de jobs y llámala jobs2. Borrála ahora desde el usuario oracle4

grant drop any table to oracle4 (como system) 4

Unidad11. Usuarios, perfiles, privilegios y roles.

create table jobs2 as select * from jobs (como HR) drop table hr.jobs2 (como oracle4) 22.a Oracle4 concede a todos los usuarios (actuales y futuros) cualquier tipo de privilegio sobre la tabla que has creado en el ejercicio15.

Grant all on tabla1 to public 23.b crea en oracle4 una segunda tabla, tabla2 con 3 campos (campo1, campo2 y campo3) e introduce dos filas de datos. Concede al usuario hr permisos para modificar solo la columna campo2. Trata ahora de modificar como usuario hr dos columnas de esa tabla, ¿permite hacerlo?

grant update(id2) on oracle4.tabla2 to hr no permite

24.Concede permisos al usuario oracle4 para que a su vez pueda crear usuarios así como darles cualquier privilegio.

grant create user, grant any privilege to oracle4 25.Conéctate como usuario oracle4 y crea el usuario oracle4a con contraseña oracle4a espacio de tablas users y sin límite de cuota. Asígnale permisos de ejecución de consultas sobre la tabla jobs del usuario hr. Concede ahora privilegio de modificación sobre la columna country_name de la tabla countries a todos los usuarios

create user oracle4a identified by oracle4a default tablespace usuarios quota unlimited on usuarios; Grant select on hr.jobs to oracle4a conectado como system Grant update (country_name) on hr.countries to public 26. Comprueba desde el usuario hr qué permisos ha concedido sobre sus tablas a los demás usuarios. Comprueba desde el usuario oracle4 qué permisos ha recibido sobre las tablas de otros usuarios (usa la vista user_tab_privs). Recuerda que GRANTOR es el usuario que ha dado los privilegios y GRANTEE el que los ha recibido.

Select * from user_tab_privs 27. Consulta los privilegios de sistema asignados a oracle4a ( usa la vista dba_sys_privs)

select * from dba_sys_privs where grantee='ORACLE4A'

5

Unidad11. Usuarios, perfiles, privilegios y roles. 28.Estando conectado como usuario “administrador” probar a crear un rol llamado “administrador”, ¿qué ocurre?. SQL> connect administrador  Enter password: Connected. SQL> create role administrador;  create role administrador *  ERROR at line 1: ORA-01031: insufficient privileges 29.Idem estando conectado como usuario SYSTEM, ¿qué sucede?, ¿por qué?. SQL> connect system  Enter password: Connected. SQL> create role administrador;  create role administrador *  ERROR at line 1: ORA-01921: role name 'ADMINISTRADOR' conflicts with another user or role  name 30.Crear un rol llamado “ADMIN”, asignarle los privilegios “create session”, “create user” y “CREATE ROLE”. Asignarlo al usuario administrador. SQL> create role admin; SQL> grant create session, create user, create role to admin; SQL> grant admin to administrador; 31.Consultar los privilegios de sistema que tiene asignados de forma directa el usuario “administrador”, revocarlos y asignarle el rol “admin.”. SQL> select * from dba_sys_privs where grantee ='ADMINISTRADOR' SQL> revoke create session from administrador; SQL> revoke create user from administrador SQL> grant admin to administrador; 32. Crea el usuario usuario1 y asígnale el role connect y resource. Comprueba después en la vista correspondiente que efectivamente tiene esos roles. Comprueba también desde el EM que el usuario tiene marcados esos roles. Grant connect, resource to usuario1 Select * from dba_role_privs where grantee=’USUARIO1’

33. Crea el rol opera_jobs de modo que este rol adjudique permisos de selección, inserción y borrado sobre la tabla jobs del usuario HR. Y además tenga permisos para crear usuarios en la base de datos. Comprueba en las correspondientes vistas los permisos que tiene asociados el rol opera_jobs

Create role opera_jobs; Grant select, insert, delete on hr.jobs to opera_jobs; Grant create user to opera_jobs 6

Unidad11. Usuarios, perfiles, privilegios y roles. 34. Crea un usuario oracle5 con contraseña oracle5, espacio de tablas usuarios y sin límite de cuota. Asígnale a oracle5 y oracle4 el rol opera jobs(en una sola sentencia). Accede con el usuario oracle5 y comprueba que puedes insertar una la fila ('SA_TA', 'XXXXX', 200,9000) en la tabla jobs de hr

create user oracle5 identified by oracle5 default tablespace usuarios quota unlimited on usuarios; Grant opera_jobs to oracle5, oracle4; insert into hr.jobs values('SA_TA', 'dddd', 200,9000) 35. Retira el privilegio create user del role opera_jobs

Revoke create user from opera_jobs 36. Retira al usuario oracle5 el rol opera_jobs

Revoke opera_jobs from oracle5 37. Borra el rol opera_jobs

Drop role opera_jobs 38. Si cuando creamos un usuario no le asignamos ningún perfil, ¿qué perfil le adjudica ORACLE? Entra en la vista dba_profiles y comprueba los valores de los campos asociados al perfil DEFAULT. a.¿Cuántas sesiones concurrentes por usuario permite ? b.¿Cuál es el límite de tiempo de inactividad? c.¿Cuál es el máximo tiempo que una sesión puede permanecer inactiva? d.¿Cuántos intentos consecutivos fallidos permite antes de bloquear la cuenta?

Le asigna el perfil DEFAULT. select * from dba_profiles No hay límite de sesiones, tiempo de actividad o inactivadad. Hay 10 intentos 39. Crea el perfil pruebas1 (desde el usuario administrador) de modo que solo pueda haber 2 sesiones concurrentes por usuario, el tiempo de inactividad será un máximo de 2’ y el nº de intentos fallidos antes de bloquear la cuenta 2. Indica los pasos realizados

Grant create profile to administrador; create profile pruebas1 limit sessions_per_user 2 idle_time 2 failed_login_attempts 2; alter system set resource:_limit=true

7

Unidad11. Usuarios, perfiles, privilegios y roles. 40. modifica el usuario oracle4 de modo que su perfil sea pruebas1 y comprueba que se cumplen las condiciones del perfil (crea varias sesiones concurrentes, manten un tiempo de inactividad superior a 2’, haz tres intentos fallidos de conexión) alter user oracle4 profile pruebas1; 41. Modifica el perfil pruebas1 cambiando el tiempo de inactividad a 3’ y el tiempo de sesión a 400’. Hazlo con el usuario administrador si no tiene permisos, concedeselos. alter profile pruebas1 limit idle_time 400 42. Comprueba a través de la vista de perfiles cuales son los nuevos valores asignados. 43. Borra el perfil pruebas1 Drop profile pruebas1 cascade

8

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF