lunes, 13 de mayo de 2013

Visualizar los trabajos de un usuario

Cuando tenemos que controlar trabajos de varios usuarios y diferentes nombres, podemos usar los mandatos WRKJOB, WRKUSRJOB y WRKSBMJOB, además del WRKACTJOB, pero muchas veces tenemos que ir cambiando de mandato para poder usar el que más fácilmente nos muestra los trabajos que que queremos comprobar. Esto implica una perdida de tiempo navegando por varios mandatos, es por ello que creé el mandato DSPUSRJOB, basado en la tool RTVJOBCNT de Martin Rowe.
El uso del mandato es sencillo y podemos usar la tecla de función F4, para ver los parámetros disponibles, así como también F1 para visualizar la ayuda del mandato y sus parámetros.
Las opciones 2=Change job y 4=End job solo las veremos si nuestro usuario tiene el permiso especial *JOBCTL. El resto de las opciones 5=Display job,  6=Change joblog y 8=Display spools están disponibles para cualquier usuario que utilice el mandato si hemos tenido la precaución de compilar el programa con USER(*OWNER) y el propietario del programa DSPUSRJOBC sea, por ejemplo QPGMR, u otro usuario con *JOBCTL.

Con este mandato tenemos la posibilidad de dar acceso a trabajos de otros usuarios a usuarios que no tienen la autorización especial *JOBCTL en su perfil de usuario. Esto nos evita, lo que se hace a veces, de dar autorización *JOBCTL a un perfil de usuario que no debería tenerla, solo para facilitarle el acceso a un trabajo, por ejemplo para ver los spools del mismo.
Para limitar el acceso a esta potente herramienta, la habremos compilado con AUT(*EXCLUDE) para limitar el uso publico del mandato (y programa). Posteriormente podremos añadir la autorización *USE a los usuarios que nos interese que puedan utilizarla.

Podéis bajar el código de esta utilidad desde este enlace.

Tenéis más información sobre la discusión de otorgar las autorizaciones especiales *JOBCTL y/o *ALLOBJ, para solo controlar trabajos en este enlace.

viernes, 26 de abril de 2013

Cambiar contraseñas conocidas

El sistema operativo viene con algunos usuarios genéricos ya instalados y cuya contraseña es igual al nombre del perfil de usuario.
Para evitar accesos no controlados con estos usuarios a nuestros sistemas es altamente, yo diría imprescindible  cambiar la contraseña de dichos usuarios inmediatamente después de instalar el sistema operativo. Los perfiles de usuario más conocidos son QSECOFR, QSYSOPR y QPGMR, debemos asignarles una contraseña, que sea difícil de adivinar y fácil de recordar. Podéis ver mi entrada "La clave de las claves" con ideas de que contraseña elegir.
Por otra parte existen otros usuarios que no son tan conocidos pero que debemos evitar se usen sin nuestro conocimiento, estos usuarios son QUSER, QSRV y QSRVBAS. Lo más recomendable para estos perfiles es cambiar la contraseña a *NONE, con este cambio impedimos que se puedan conectar al sistema usándolos  Tened mucho cuidado en deshabilitarlos ya que, por ejemplo el perfil QUSER, debe estar activo ya que se usa en muchos trabajos de sistema, que dan servicio a otros usuarios, por ejemplo las conexiones ODBC en los trabajos QZDASOINIT.
También se deberían cambiar las contraseñas de los usuarios de servicios de la DST.

Ademas es altamente recomendable:
- Tener el nivel de seguridad del sistema (valor de sistema QSECURITY) con un valor de 30 como mínimo, 40 como recomendable o superior. ver entrada "Configurar seguridad del sistema"
- Duplicar el perfil de usuario QSECOFR, como QSECOFR2 para, por si alguna razón alguien nos bloquea QSECOFR, con ese usuario podamos entrar y poder habilitarlo de nuevo.
- Cambiar todos los perfiles de usuario que tengan como contraseña igual al nombre de perfil, ver entrada "Desactivar usuarios con contraseña por omisión".
- Los perfiles de usuarios que uséis como perfiles de grupo recomiendo cambiarlos a contraseña *NONE, en mi opinión deberían como contenedores de perfiles de usuarios, para asignar más fácilmente permisos a los objetos creados.

En el IBM Information Center tenéis una explicación más amplia de este tema: Changing known passwords

sábado, 20 de abril de 2013

Cambiar mensajes de error inicio sesión

Cuando un usuario introduce incorrectamente el usuario o la contraseña, en la pantalla de inicio de sesión, el sistema le avisa del error y si el fallo es el usuario o de la contraseña.
"CPF1107 - Contraseña incorrecta para perfil de usuario."
"CPF1120 - No existe el usuario &1."
ó si el idioma primario es ingles:
"CPF1107 – Password not correct for user profile."
"CPF1120 – User &1 does not exist."
Para evitar dar demasiadas pistas, sobre el error cometido, a un posible saboteador (hacker), podemos modificar la descripción de los mensajes siguientes, en el archivo de mensajes (QCPFMSG); Si nuestro idioma primario es el castellano (2931), ejecutaremos este mandato:
CHGMSGD MSGID(CPF1107) MSGF(QSYS/QCPFMSG) 
   MSG('Información de inicio de sesión incorrecta')
CHGMSGD MSGID(CPF1120) MSGF(QSYS/QCPFMSG) 
   MSG('Información de inicio de sesión incorrecta')