viernes, 18 de octubre de 2013

Como se Puede Emplear un Usuario sin Conocer su Contraseña en Oracle 11


En Oracle versión 11, llegaron contraseñas sensibles al uso de mayúsculas y minúsculas:

SQL> conn / as sysdba
Conectado.
SQL> grant create session to andrew
  2  identified by secret_password
  3  /
 
Concesion terminada correctamente.
 
SQL> conn andrew/secret_password
Conectado.
SQL> conn andrew/SECRET_PASSWORD
ERROR:
ORA-01017: nombre de usuario/contraseña no validos; conexion
denegada
 
Advertencia: !Ya no esta conectado a ORACLE!
SQL> 

Si quieres emplear un usuario en una base de datos sin conocer su contraseña normal, debes mirar su contraseña encriptada de la manera siguiente: 

SQL> conn / as sysdba
Conectado.
SQL> select spare4 from sys.user$
  2  where name = 'ANDREW'
  3  /
 
SPARE4
-----------------------------------------------------------------
S:CD4E8CCD97532CE9EBB35A8D5B910CF9F554711216EFDDECECD32DC4943A
 
SQL> 

Luego se puede cambiar la contraseña normal y emplear el usuario. 

SQL> alter user andrew identified by reid
  2  /
 
Usuario modificado.
 
SQL> conn andrew/reid
Conectado.
SQL> select sysdate from dual
  2  /
 
SYSDATE
---------
18-OCT-13
 
SQL> 

Después de terminar la sesión, debes restaurar la contraseña encriptada: 

SQL> alter user andrew identified by values
  2  'S:CD4E8CCD97532CE9EBB35A8D5B910CF9F554711216EFDDECECD32DC4943A'
  3  /
 
Usuario modificado.
 
SQL> 

Entonces el dueño usual del usuario podrá utilizarlo con la contraseña normal que será todavía sensible al uso de mayúsculas y minúsculas:

SQL> conn andrew/secret_password
Conectado.
SQL> conn andrew/SECRET_PASSWORD
ERROR:
ORA-01017: nombre de usuario/contraseña no validos; conexion
denegada
 
Advertencia: !Ya no esta conectado a ORACLE!
SQL>

No hay comentarios:

Publicar un comentario