| Bellacosa Mainframe apresenta RACF |
🔐 RACF NA VEIA
Mapeamento OPERCMD x SDSF (do Console à Tela Verde
“Quem manda no console manda no sysplex…
mas quem controla o RACF manda até no operador.” ☕🖥️
No mundo z/OS, existem dois universos de comando:
-
Console MVS real → controlado pela classe OPERCMDS
-
Interface SDSF → controlada por um conjunto de classes RACF
Muita gente confunde, mistura e sofre.
Vamos separar isso como JES2 separa spool 😈
🧱 1️⃣ OPERCMDS – O PODER DO CONSOLE MVS
🎯 O que controla?
A classe OPERCMDS controla quem pode emitir comandos MVS e subsistemas:
-
No console físico
-
Via TSO CONSOLE
-
Via REXX ADDRESS CONSOLE
-
Via automação (SA, NetView, OPS/MVS)
📌 Exemplos clássicos de comandos protegidos
| Comando | Perfil OPERCMDS |
|---|---|
D A,L | MVS.DISPLAY.ACTIVE |
D U,ALL | MVS.DISPLAY.UNITS |
$DA (JES2) | JES2.DISPLAY.ACTIVE |
$P JOB123 | JES2.PURGE.JOB |
VARY 1234,ONLINE | MVS.VARY.DEVICE.ONLINE |
SET SMF=xx | MVS.SET.SMF |
📌 Regra de ouro:
👉 Se é comando MVS/JES, o RACF olha primeiro para OPERCMDS.
🧠 Exemplo RACF raiz
🖥️ 2️⃣ SDSF – O CONSOLE DE MENTIRINHA (MAS PERIGOSO)
“SDSF não é console…
mas faz estrago igual.” 😈
O SDSF é uma interface, e o RACF controla cada ação separadamente.
🧩 Classes RACF usadas pelo SDSF
| Classe | Função |
|---|---|
| SDSF | Acesso geral ao SDSF |
| JESJOBS | Ações sobre jobs (cancel, purge, hold) |
| JES | Comandos JES |
| OPERCMDS | Se o SDSF emitir comando real |
| WRITER | Writers e saída |
| LOGSTRM | Logs do sistema |
| FACILITY | Funções especiais |
📊 3️⃣ Tabela Mestre – OPERCMDS x SDSF
🧠 A tabela que salva operadores e professores
| Ação no SDSF | Classe RACF | Perfil |
|---|---|---|
| Entrar no SDSF | SDSF | SDSF |
| Ver jobs (ST/DA) | JESJOBS | JOB.* |
| Cancelar job | JESJOBS | JOB.CANCEL |
| Purge job | JESJOBS | JOB.PURGE |
| Hold / Release | JESJOBS | JOB.HOLD |
| Ver SYSLOG | SDSF | LOG |
Comando JES $DA | JES | JES2.DISPLAY.ACTIVE |
Comando MVS D A,L | OPERCMDS | MVS.DISPLAY.ACTIVE |
| Alterar prioridade | JESJOBS | JOB.MODIFY |
📌 Fofoquice real:
👉 Você pode ver tudo no SDSF e não conseguir executar nada, mesmo sendo “OPERADOR”.
⚔️ 4️⃣ Quando OPERCMDS e SDSF se cruzam
🎯 Exemplo clássico
Usuário no SDSF digita:
👉 O que acontece?
-
SDSF aceita o comando
-
RACF valida OPERCMDS
-
Se não tiver perfil → RC=8, NOT AUTHORIZED
📌 Moral:
SDSF não ignora OPERCMDS, ele chama o RACF como qualquer console.
🔐 5️⃣ Ambiente RACF Restritivo (vida real)
✔️ Boas práticas Bellacosa Approved™
-
❌ Nunca dar
OPERCMDS MVS.**para usuário comum -
✔️ Preferir:
-
MVS.DISPLAY.* -
JES2.DISPLAY.*
-
-
✔️ Cancelamento via JESJOBS, não OPERCMDS
-
✔️ Usar ROLES no SDSF
-
✔️ Logar tudo (SMF 80, 83, 84)
🧪 6️⃣ Checklist rápido de segurança
✔ SDSF separado por perfil
✔ OPERCMDS mínimo necessário
✔ JESJOBS granular
✔ LOG e SYSLOG somente READ
✔ Nada de UACC(READ) em produção 😱
✔ SETROPTS AUDIT OPERCMDS ativo
☕ Frase final do Bellacosa Mainframe
“No mainframe, comando não é poder…
autorização é.”

.png)