viernes, 5 de septiembre de 2014

Como acceder al sistema, sin conocer la clave

Cuando vas a pasar parches en un sistema, como es una cosa que no se hace con mucha periodicidad, nos podemos encontrar con que no conocemos la contraseña del usuario x en el mandante 000. 

Para acceder al  sistema existen varias formas, una podría ser si tenemos acceso a base de datos borrando el usuario SAP* del mandante 000 y activando el parametro login/no_automatic_user_sapstar = 0 para activar el usuario de emergencia, luego solo bastaria con parar y arrancar el sistema y acceder con la password por defecto.
Pero existen otros metodos, hoy os contare otro... la tabla USR02 contiene un campo PASSCODE que es el que encripta la contraseña. Si desconocemos la contraseña del mandante donde queremos entrar, pero tenemos acceso a algun otro sistema del landscape (desarrollo, integracion, ...) con la misma instalación, etc. Y conocemos la contraseña de ese sistema, podremos copiar el valor del PASSCODE y actualizarlo en el sistema en donde no conocemos la contraseña, entrando una vez actualizado con la misma contraseña que el otro sistema.
Para esto, tener en cuenta, que el mandante y el usuario de uno y otro sistema debe ser el mismo. 


SISTEMA 1 - En el que podemos acceder con el mismo usuario y mandante

SQL> select PASSCODE from sapr3.usr02 where BNAME='USUARIO' and MANDT=000;


PASSCODE
----------------------------------------
5C441943242342344DF871639eeeeeeee7616C8E

SISTEMA 2 - En el que no podemos acceder con el mismo usuario y mandante

SQL> update sapr3.usr02 set PASSCODE='5C441943242342344DF871639eeeeeeee7616C8E' where BNAME='USUARIO' and MANDT=000;

1 row updated.

SQL> commit;

Commit complete.

Una vez hecho esto, simplemente nos logaremos en el SISTEMA 1 y meteremos la misma contraseña que el SISTEMA 2.

Bueno , y esta claro que esto solo debe usarse para casos muy concretos, y con cuidado.