Muchísimas gracias por tu trabajo y tus explicaciones.

Feliz Año!!!

________________________________
De: [email protected] 
[mailto:[email protected]] En nombre de Javier Mora
Enviado el: jueves, 08 de enero de 2009 15:43
Para: Forum AS/400 en castellano
Asunto: Una utilidad interesante

Feliz año 2009 a todos:

Estimados colegas, Año Nuevo, Espíritu Nuevo. Me he propuesto (no sé si lo 
conseguiré) participar más activamente en este foro y compartir algunos de mis 
escasos conocimientos sobre el iSeries. Empiezo mi colaboración proporcionando 
a esta comunidad dos utilidades, una necesita de la otra.

La primera consiste, principalmente, en el mandato SU. Su funcionalidad es muy 
similar al comando "su" de los sistema Unix/Linux. Permite ejecutar un mandato 
o abrir una línea de mandatos con los privilegios de otro usuario. Al finalizar 
la ejecución se recuperan las autorizaciones originales. En mi instalación 
utilizo este mandato para ejecutar mandatos que necesitan las autorizaciones de 
QSECOFR sin la necesidad de tener que abrir una nueva sesión. Existen sistemas 
que impiden el inicio de sesión a QSECOFR desde cualquier dispositivo que no 
sea la consola, esta utilidad les permite su uso.

El mandato requiere de tres parámetros: el identificador del perfil de usuario, 
su contraseña y el mandato a ejecutar. Inevitablemente para obtener los 
privilegios de un usuario debo conocer su contraseña, sino estaríamos tratando 
con una utilidad peligrosa para la seguridad del sistema. Para conseguir esta 
funcionalidad se emplean varias APIs del sistema que permiten cambiar el 
usuario actual que ejecuta el trabajo. Estas APIs se encargan de realizar los 
controles de seguridad necesarios. Creo que en los fuentes hay suficiente 
documentación sobre su funcionamiento.

No obstante el mandato SU tiene una funcionalidad controvertida y algunas cosas 
por arreglar. En el primer caso está el valor especial *NOPWDCHK del parámetro 
PWD. Este valor permite utilizar un perfil de usuario sin conocer su contraseña 
pero con ciertas restricciones, una de ellas es tener autorización *USE sobre 
el perfil. No sé hasta que punto esto es positivo o negativo para la seguridad 
del sistema. Por ejemplo, QSECOFR podría suplantar a un usuario sin conocer su 
contraseña. Esta es una cuestión que podríamos debatir en este foro.

Esta utilidad no es perfecta y tiene algunas cosas por arreglar. Por ejemplo, 
se intenta informar al llamador si la ejecución del mandato fue correcta o no. 
Para ello emite el mensaje de escape que produjo el error. Este mecanismo sólo 
funciona bien si el mensaje se encuentra en el archivo de mensajes QCPFMSG. 
Tampoco es capaz de informar si el mandato se ejecutó satisfactoriamente. Estoy 
seguro de que existen más errores, así que podéis colaborar en la solución de 
éstos enviando vuestras propuestas y sugerencias en este foro.

Creo que doy en los fuentes las instrucciones necesarias para compilar esta 
utilidad. Pero para ello es necesario de otra utilidad más. Se trata de unos 
miembros de copia (archivos de cabecera o /copy) con la declaración de las APIs 
y estructuras de datos necesarias para su uso. Realmente para compilar este 
mandato son necesarios solo algunos y solo incluyo esos. Mi propósito era 
entregaros todos los fuentes pero "pesan" mucho y el foro no admite un mesaje 
tan grande. Se trata de una serie de miembros fuentes con la relación de todas 
las APIs del sistema y estructuras de datos que he necesitado utilizar en 
alguna ocasión en mi instalación. Evidentemente no están todas pero hay 
bastantes. He intentado agrupar las APIs según su funcionalidad y el nombre de 
cada miembro intenta tener relación con la categoría de la API (según el 
manual). También he intentado mantener ciertos estándares de codificación pero 
no está del todo conseguido. Tengan en cuenta que algunos fuentes nacieron hace 
cinco años. En mi caso, todos estos fuentes están ubicados en un archivo que he 
llamado API, si se cambia de lugar, será necesario realizar alguna adaptación. 
Ninguno de ellos se compila.

Finalmente quisiera hacer un llamamiento a los BLOGers de nuestra comunidad. Mi 
intención inicial era publicar estas utilidades en la web de Recursos/400, pero 
todavía no es posible. Si alguno de nuestros prestigiosos blogers (lo son 
todos) estuvieran interesados en publicar los fuentes en sus blogs tienen mi 
permiso (aunque no es necesario darlo), para que aquellos que no tengan acceso 
a este correo puedan descargarse los fuentes. Si así fuera, entonces incluiría 
todos los fuentes con las declaraciones de prototipos y estructuras de las APIs.

Concluyo este extenso correo. Espero que sean de vuestro agrado estas dos 
utilidades y que participéis en su mejora. Espero vuestras críticas, sean del 
tipo que sean.

Un saludo.

Javier Mora

__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a