lunes, 21 de junio de 2010

Impacto del ENDJOBABN

El comando ENDJOBABN tiene la finalidad de terminar trabajos que aparentemente no responden a una finalizacion con el mandato ENDJOB.
Es muy recomendable no utilizar normalmente este mandato, ya que tiene implicaciones ocultas.
Una vez ejecutado se activa una marca en el sistema por el cual el siguiente IPL sera considerado "anormal" y el sistema al arrancar realizara una serie de tareas de comprobación del sistema adicionales que alargaran el tiempo de IPL.
Ademas si hay alguna ptf pendiente de aplicar en IPL no se aplicará, ya que el sistema considera que no debe instalarlas en una IPL con terminación anormal.

Existe un valor de sistema para ver cual si el ultimo IPL fue anormal, para ello ejecutar el comando: DSPSYSVAL SYSVAL(QABNORMSW)
Esto nos mostrara uno de los siguientes valores:
0=Normal 
1=Abnormal

miércoles, 9 de junio de 2010

Recuperar subsistema de un trabajo

La utilidad RTVJOBSBS nos devuelve el nombre del subsistema donde se esta ejecuta un trabajo.
Esto nos puede ser de utilidad para, por ejemplo, no ejecutar un ENDSBS SBS(QINTER) si nuestro trabajo se esta ejecutándose en ese subsistema.

miércoles, 2 de junio de 2010

The IBM AS400 A technical introduction

He encontrado este documento, creado por Tom Van Looy en 2009, y puede servirnos para introducirnos en el fantástico mundo del AS400.  Esta colgado en el apartado Archivos del nuevo espacio de Recursos/400 en IBM MydW

lunes, 17 de mayo de 2010

Modificada utilidad CHGSTSJRN

Se ha modificado la utilidad CHGSTSJRN, para permitir desactivar el registro por diario de todos los archivos de una biblioteca, aunque esa biblioteca no tenga ningún diario.

Esta utilidad, que se publico en el año 2004, permite Parar, Arrancar o Parar y Arrancar el registro por diario de todos los archivos físicos de una biblioteca. También tiene la opción de crear el diario y sus receptor automáticamente.

Pulsando F1 podemos acceder a la ayuda del mandato.

lunes, 10 de mayo de 2010

Desactivar usuarios con contraseña por omision

Para evitar accesos indeseados a nuestros sistemas es una norma básica no utilizar la contraseña por omisión al crear el usuario y que habitualmente es igual al nombre del perfil, ya que cualquier usuario con unos conocimientos muy básicos del sistema podría acceder a nuestro sistema.

Para saber cual es nuestra situación actual podemos analizar las contraseñas actuales con una herramienta del sistema:
  • Ir al menú GO SECTOOLS.
  • Seleccionar la opción "1. Analyze default passwords" (mandato ANZDFTPWD), en este mandato podemos seleccionar varias opciones:
  1. *NONE: Solo imprime el listado de usuarios con contraseña igual al perfil
  2. *DISABLE: Desactiva el usuario
  3. *PWDEXP: Caduca la contraseña del usuario para forzar su cambio en el próximo inicio de sesión.
  • Para evaluar nuestro estado es recomendable utilizar el valor *NONE.
  • Podemos someterlo ya que puede tardar algunos minutos:
  • SBMJOB CMD(ANZDFTPWD ACTION(*NONE)) JOB(ANZDFTPWD)
  • Después analizaremos el resultado del listado y actuaremos en consecuencia.
  • Si nosotros no controlamos la creación de los usuarios, podemos planificar la ejecución de este mandato pero con la opción de *DISABLE o *PWDEXP:
  • ADDJOBSCDE JOB(ANZDFTPWD) CMD(ANZDFTPWD ACTION(*DISABLE)) FRQ(*MONTHLY) SCDDATE(*MONTHEND) SCDDAY(*NONE) JOBQ(*LIBL/QSYSNOMAX) TEXT('Desactiva usuarios con contraseña por omisión')
  • En este caso hemos optado por desactivar automáticamente y mensualmente los usuarios con la contraseña igual al perfil, pero podríamos haber optado por caducarla y forzar su cambio.
  • Es aconsejable hacer estas acciones con el perfil de usuario QSECOFR.
Otra acción recomendable es cambiar el mandato para crear perfiles de usuario (CRTUSRPRF) para que, por omisión, la contraseña sea igual a *NONE, con lo que después de crear un usuario no tendría contraseña y no podría conectarse al sistema:
  • CHGCMDDFT CMD(QSYS/CRTUSRPRF) NEWDFT('PASSWORD(*NONE)')
 Después manualmente le asignaríamos una contraseña que cumpla las políticas y ademas forzaríamos su caducidad en el primer inicio de sesión, para que el usuario la cambie a la que le parezca mejor:
  • CHGUSRPRF USRPRF(New_User) PASSWORD(krl2_lt5vz) PWDEXP(*YES)