Aprendamos OpenVMS.
¡Bueeeeenas, programmers!
Después de una larga temporada ya estoy de nuevo por estos lares, en la anterior entrada os hablé de cierto lenguaje de programación llamado VAX BASIC, ¿verdad? pues bien, hay cierto programita llamado SecureCRT, que es un programa para emular terminales y es capaz de usar un sistema Operativo llamado OpenVMS, un sistema multiusuario y multiproceso, utilizado en entornos de tiempo compartido y tiene un procesamiento por lotes y transacciones.
- Añadir todos los permisos:
SET PROCESS/PRIVILEGES=ALL
¿Cuál sería el comando completo?
MODIFY nombre_usuario /PRIVILEGE=SYSPRV
Si ejecutas pues ese comando desde System ya podríamos añadirle ese permiso al usuario que le indicamos.
A partir de aquí viene algo importante, tras haber investigado mucho acerca de esto y hecho numerosas pruebas me he dado cuenta de que por así decirlo existen "los usuarios de sistema" y "los usuarios normales", aunque parece ser que todo es debido a qué archivo SYSUAF.DAT usas, dicho archivo nos permite entrar al entorno UAF que en OpenVMS sirve para la creación de usuarios, es como RDO que nos permite gestionar las bases de datos.
Haciendo pruebas dependiendo de si creabas el usuario con System se creaba como "usuario de sistema", al hacer un show * dentro del entorno UAF aparecen estos usuarios:
PRE>RUN SYS$SYSTEM:AUTHORIZE
UAF> show *
Username: DEFAULT Owner:
Account: UIC: [200,200] ([DOC,PEPITO])
CLI: DCL Tables: DCLTABLES
Default: [USER]
LGICMD:
Flags: DisUser
Primary days: Mon Tue Wed Thu Fri
Secondary days: Sat Sun
No access restrictions
Expiration: (none) Pwdminimum: 6 Login Fails: 0
Pwdlifetime: 90 00:00 Pwdchange: (pre-expired)
Last Login: (none) (interactive), (none) (non-interactive)
Maxjobs: 0 Fillm: 128 Bytlm: 128000
Maxacctjobs: 0 Shrfillm: 0 Pbytlm: 0
Maxdetach: 0 BIOlm: 150 JTquota: 4096
Prclm: 8 DIOlm: 150 WSdef: 4096
Prio: 4 ASTlm: 300 WSquo: 8192
Queprio: 4 TQElm: 100 WSextent: 16384
CPU: (none) Enqlm: 4000 Pgflquo: 256000
Authorized Privileges:
NETMBX TMPMBX
Default Privileges:
NETMBX TMPMBX
Username: SYSTEM Owner: SYSTEM MANAGER
Account: SYSTEM UIC: [1,4] ([SPHERA,SYSTEM])
CLI: DCL Tables: DCLTABLES
Default: SYS$SYSROOT:[SYSMGR]
LGICMD:
Flags:
Primary days: Mon Tue Wed Thu Fri
Secondary days: Sat Sun
No access restrictions
Expiration: (none) Pwdminimum: 8 Login Fails: 0
Pwdlifetime: 30 00:00 Pwdchange: (pre-expired)
Last Login: (none) (interactive), (none) (non-interactive)
Maxjobs: 0 Fillm: 128 Bytlm: 256000
Maxacctjobs: 0 Shrfillm: 0 Pbytlm: 0
Maxdetach: 0 BIOlm: 150 JTquota: 4096
Prclm: 10 DIOlm: 150 WSdef: 4096
Prio: 4 ASTlm: 300 WSquo: 8192
Queprio: 0 TQElm: 100 WSextent: 16384
CPU: (none) Enqlm: 4000 Pgflquo: 700000
Authorized Privileges:
ACNT ALLSPOOL ALTPRI AUDIT BUGCHK BYPASS
CMEXEC CMKRNL DIAGNOSE DOWNGRADE EXQUOTA GROUP
GRPNAM GRPPRV IMPERSONATE IMPORT LOG_IO MOUNT
NETMBX OPER PFNMAP PHY_IO PRMCEB PRMGBL
PRMMBX PSWAPM READALL SECURITY SETPRV SHARE
SHMEM SYSGBL SYSLCK SYSNAM SYSPRV TMPMBX
UPGRADE VOLPRO WORLD
Default Privileges:
ACNT ALLSPOOL ALTPRI AUDIT BUGCHK BYPASS
CMEXEC CMKRNL DIAGNOSE DOWNGRADE EXQUOTA GROUP
GRPNAM GRPPRV IMPERSONATE IMPORT LOG_IO MOUNT
NETMBX OPER PFNMAP PHY_IO PRMCEB PRMGBL
PRMMBX PSWAPM READALL SECURITY SETPRV SHARE
SHMEM SYSGBL SYSLCK SYSNAM SYSPRV TMPMBX
UPGRADE VOLPRO WORLD
Identifier Value Attributes
NET$MANAGE %X91F50002
WBEM$ADMIN %X80010006
Y esto si lo ejecutamos desde un usuario normal:
Username: MBORREDA Owner: MBORREDA
Account: MBORREDA UIC: [100,304] ([EMPRESA,MBORREDA])
CLI: DCL Tables: DCLTABLES
Default: DISCO1:[MBORREDA]
LGICMD:
Flags:
Primary days: Mon Tue Wed Thu Fri
Secondary days: Sat Sun
No access restrictions
Expiration: (none) Pwdminimum: 6 Login Fails: 0
Pwdlifetime: 90 00:00 Pwdchange: 23-JUN-2025 12:41
Last Login: 1-AUG-2025 14:18 (interactive), 30-JUL-2025 12:37 (non-interactive)
Maxjobs: 0 Fillm: 100 Bytlm: 64000
Maxacctjobs: 0 Shrfillm: 0 Pbytlm: 0
Maxdetach: 0 BIOlm: 150 JTquota: 4096
Prclm: 8 DIOlm: 150 WSdef: 2000
Prio: 4 ASTlm: 250 WSquo: 4000
Queprio: 4 TQElm: 10 WSextent: 16384
CPU: (none) Enqlm: 2000 Pgflquo: 50000
Authorized Privileges:
BYPASS MOUNT NETMBX OPER READALL TMPMBX
Default Privileges:
BYPASS NETMBX TMPMBX
Username: PEPITOLP Owner: PEPITOLP
Account: UIC: [100,304] ([EMPRESA,PEPITOLP])
CLI: DCL Tables: DCLTABLES
Default: DISCO1:[PEPITOLP]
LGICMD:
Flags:
Primary days: Mon Tue Wed Thu Fri
Secondary days: Sat Sun
No access restrictions
Expiration: (none) Pwdminimum: 6 Login Fails: 0
Pwdlifetime: 90 00:00 Pwdchange: 23-JUN-2025 12:41
Last Login: 1-AUG-2025 14:18 (interactive), 30-JUL-2025 12:37 (non-interactive)
Maxjobs: 0 Fillm: 100 Bytlm: 64000
Maxacctjobs: 0 Shrfillm: 0 Pbytlm: 0
Maxdetach: 0 BIOlm: 150 JTquota: 4096
Prclm: 8 DIOlm: 150 WSdef: 2000
Prio: 4 ASTlm: 250 WSquo: 4000
Queprio: 4 TQElm: 10 WSextent: 16384
CPU: (none) Enqlm: 2000 Pgflquo: 50000
Authorized Privileges:
BYPASS MOUNT NETMBX OPER READALL TMPMBX
Default Privileges:
BYPASS NETMBX TMPMBX
Siguiente paso, una vez ya podamos crear un usuario con los privilegios que corresponde, aunque si eres un usuario normal con privilegios debes acceder al SYSUAF.DAT correspondiente y usar el siguiente comando con sus respectivos parámetros:
ADD userpprove /UIC=[200,205] /ACCOUNT=userpprove /DEVICE=DISCO1 /DIRECTORY=[userppre] /OWNER="userpprove" /PASSWORD=olakase /FLAGS=PWD_EXPIRED
Explicación de los parámetros:
-UIC: Se refiere al grupo y miembro que pertenece el usuario. El número de miembro es un número de identificación del usuario.
-ACCOUNT: Sirve para registrar el nombre de la cuenta contable.
-DEVICE: Define el disco donde se va a guardar el usuario.
-DIRECTORY: Define el directorio del usuario.
-OWNER: Es el nombre o identificador el propietario de la cuenta.
-PASSWORD: Contraseña del usuario.
-FLAGS: Estado especial o configuración de la cuenta.
¡Y esto sería todo! espero que esta publicación pueda ayudar sobre todo a todos aquellos que a día de hoy utilizan OpenVMS para trabajar o cualquier otra cosa importante.
¡Nos seguimos leyendo, programmers!
Comentarios
Publicar un comentario