En este módulo, aprenderemos sobre la seguridad y los permisos en el Lenguaje de Control (CL). La seguridad es un aspecto crucial en cualquier sistema, y CL proporciona una variedad de comandos y técnicas para gestionar la seguridad y los permisos de manera efectiva.

Objetivos del Módulo

  • Comprender la importancia de la seguridad en CL.
  • Aprender a gestionar permisos de usuarios y objetos.
  • Conocer los comandos de seguridad más importantes en CL.
  • Implementar prácticas de seguridad recomendadas.

  1. Introducción a la Seguridad en CL

La seguridad en CL se centra en proteger los recursos del sistema y garantizar que solo los usuarios autorizados puedan acceder a ellos. Esto incluye la gestión de permisos para archivos, programas y otros objetos del sistema.

Conceptos Clave

  • Usuarios y Grupos: Los usuarios son entidades que pueden iniciar sesión y ejecutar comandos en el sistema. Los grupos son colecciones de usuarios que comparten permisos comunes.
  • Objetos: En CL, los objetos pueden ser archivos, programas, bibliotecas, etc.
  • Permisos: Los permisos determinan qué acciones pueden realizar los usuarios sobre los objetos.

  1. Comandos de Seguridad en CL

2.1. Comando GRTOBJAUT (Grant Object Authority)

El comando GRTOBJAUT se utiliza para otorgar permisos a un usuario o grupo sobre un objeto específico.

GRTOBJAUT OBJ('/path/to/object') USER(USERNAME) AUT(*ALL)
  • OBJ: Especifica el objeto al que se le están otorgando permisos.
  • USER: Especifica el usuario o grupo al que se le están otorgando permisos.
  • AUT: Especifica los permisos que se están otorgando. Puede ser *ALL, *USE, *CHANGE, etc.

2.2. Comando RVKOBJAUT (Revoke Object Authority)

El comando RVKOBJAUT se utiliza para revocar permisos de un usuario o grupo sobre un objeto específico.

RVKOBJAUT OBJ('/path/to/object') USER(USERNAME) AUT(*ALL)
  • OBJ: Especifica el objeto del que se están revocando los permisos.
  • USER: Especifica el usuario o grupo del que se están revocando los permisos.
  • AUT: Especifica los permisos que se están revocando.

2.3. Comando CHGUSRPRF (Change User Profile)

El comando CHGUSRPRF se utiliza para cambiar el perfil de un usuario, incluyendo sus permisos y configuraciones de seguridad.

CHGUSRPRF USRPRF(USERNAME) PASSWORD(newpassword) STATUS(*ENABLED)
  • USRPRF: Especifica el perfil de usuario que se está cambiando.
  • PASSWORD: Especifica la nueva contraseña para el usuario.
  • STATUS: Especifica el estado del usuario (*ENABLED o *DISABLED).

  1. Ejemplos Prácticos

Ejemplo 1: Otorgar Permisos de Lectura a un Archivo

Supongamos que tenemos un archivo llamado datafile y queremos otorgar permisos de lectura al usuario JOHN.

GRTOBJAUT OBJ('/home/user/datafile') USER(JOHN) AUT(*USE)

Ejemplo 2: Revocar Permisos de Escritura a un Programa

Supongamos que tenemos un programa llamado myprogram y queremos revocar los permisos de escritura del usuario JANE.

RVKOBJAUT OBJ('/home/user/myprogram') USER(JANE) AUT(*CHANGE)

Ejemplo 3: Cambiar la Contraseña de un Usuario

Queremos cambiar la contraseña del usuario ADMIN a newpassword123.

CHGUSRPRF USRPRF(ADMIN) PASSWORD(newpassword123)

  1. Ejercicio Práctico

Ejercicio 1: Gestión de Permisos

  1. Crea un archivo llamado testfile en tu directorio de trabajo.
  2. Otorga permisos de lectura y escritura al usuario ALICE.
  3. Revoca los permisos de escritura del usuario ALICE.
  4. Cambia la contraseña del usuario BOB a securepass456.

Solución

// Paso 1: Crear el archivo
CRTPF FILE('/home/user/testfile')

// Paso 2: Otorgar permisos de lectura y escritura a ALICE
GRTOBJAUT OBJ('/home/user/testfile') USER(ALICE) AUT(*CHANGE)

// Paso 3: Revocar permisos de escritura de ALICE
RVKOBJAUT OBJ('/home/user/testfile') USER(ALICE) AUT(*CHANGE)

// Paso 4: Cambiar la contraseña de BOB
CHGUSRPRF USRPRF(BOB) PASSWORD(securepass456)

  1. Resumen

En este módulo, hemos aprendido sobre la importancia de la seguridad y los permisos en CL. Hemos visto cómo utilizar comandos como GRTOBJAUT, RVKOBJAUT y CHGUSRPRF para gestionar permisos y perfiles de usuario. Además, hemos practicado con ejemplos y ejercicios prácticos para reforzar estos conceptos.

En el próximo módulo, exploraremos cómo llamar programas externos desde CL, lo que nos permitirá ampliar la funcionalidad de nuestros scripts y automatizaciones.

© Copyright 2024. Todos los derechos reservados