Gracias Javier Igual lo checare y tambien a ver si aprendo algo mas saludos desde Mexico, DF Benito Hernandez
--- On Thu, 1/8/09, Rafael de Juan <[email protected]> wrote: From: Rafael de Juan <[email protected]> Subject: Re: Una utilidad interesante To: "forum.help400" <[email protected]> Date: Thursday, January 8, 2009, 3:17 PM Gracias por tu aportación. A ver si, de paso, aprendo algo. Un saludo. Rafael de Juan El 8 de enero de 2009 16:02, MARTINEZ Nora (MM) <[email protected]> escribió: 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&#225;s de NEWS/400. &#169; 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 __________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; 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
__________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; 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

