1. Estrutura de usuários e grupos
O RACF organiza usuários em uma hierarquia de grupos. Todo usuário tem um grupo default (o grupo "dono" do USERID) e pode pertencer a múltiplos grupos adicionais. Cada grupo pode ter um grupo superior (superior group), formando uma árvore.
🦕 Analogia — organograma corporativo
Pense nos grupos RACF como departamentos de uma empresa. Um analista (USERID) pertence ao departamento TI-DESENV (grupo default). Ele também pode ser conectado ao departamento TI-PROJETOS. Quando precisa de acesso a um dataset, o RACF verifica se ele ou algum dos seus departamentos tem permissão.
O grupo raiz de toda instalação z/OS é o grupo SYS1 (ou IBMUSER em sistemas recém-instalados). Todo grupo e usuário tem um owner — quem criou e tem autoridade sobre aquele perfil.
2. ADDUSER — criando usuários
O comando ADDUSER cria um novo USERID no RACF. Sintaxe principal:
Exemplo prático — criando um analista de desenvolvimento:
O parâmetro EXPIRED força que o usuário troque a senha no primeiro login — boa prática de segurança.
| Parâmetro | Descrição | Obrigatório? |
|---|---|---|
NAME('...') | Nome completo do usuário | Não, mas recomendado |
DFLTGRP(grupo) | Grupo default (owner implícito do user) | Não — default: SYS1 |
PASSWORD(senha) | Senha inicial | Não em alguns ambientes |
EXPIRED | Força troca de senha no primeiro login | Não |
NOEXPIRED | Senha não expira no primeiro login | Não |
OWNER(userid/grupo) | Dono do perfil | Não — default: grupo criador |
DATA('...') | Campo livre de 255 caracteres | Não |
SPECIAL | Atributo de administrador RACF | Não — use com critério |
OPERATIONS | Ignora proteções de datasets | Não — use com critério |
⚠️ Atributos SPECIAL e OPERATIONS
SPECIAL dá poder total sobre o RACF ao usuário — ele pode criar/alterar/deletar qualquer perfil. OPERATIONS dá acesso a qualquer dataset independentemente de permissões. Em ambientes auditados, a concessão desses atributos deve ser formal, documentada e restrita a contas de administração — nunca a contas pessoais.
3. ALTUSER e DELUSER
O ALTUSER altera atributos de um usuário existente. Sintaxe idêntica ao ADDUSER, mas apenas os parâmetros informados são alterados:
O DELUSER remove o usuário do RACF. Antes de deletar, o RACF verifica se o usuário ainda é owner de algum perfil ou grupo — se for, o comando falha:
4. LISTUSER — consultando perfis
O LISTUSER exibe as informações de um USERID:
Para listar apenas os grupos de um usuário:
5. ADDGROUP, ALTGROUP, LISTGRP
Grupos organizam usuários e permitem gerenciar permissões em bloco. O ADDGROUP cria um grupo:
O SUPGROUP define o grupo pai na hierarquia. Isso é importante para a herança de autoridade: um administrador com autoridade sobre GRPTI automaticamente tem autoridade sobre GRPDESENV e GRPDBA.
O LISTGRP exibe informações do grupo:
A coluna AUTH indica a autoridade do usuário dentro do grupo:
| AUTH | O que permite |
|---|---|
USE | Usa recursos do grupo — sem autoridade administrativa |
CREATE | Pode criar datasets com HLQ do grupo |
CONNECT | Pode conectar outros usuários ao grupo |
JOIN | Autoridade máxima no grupo — pode fazer tudo dentro dele |
6. CONNECT e REMOVE
Um usuário pode pertencer a múltiplos grupos. O CONNECT adiciona um usuário a um grupo:
💡 Grupo default não pode ser removido com REMOVE
O grupo default de um usuário (definido no ADDUSER com DFLTGRP) não pode ser removido com o comando REMOVE. Para "desconectar" o usuário, é necessário primeiro alterar o grupo default via ALTUSER userid DFLTGRP(outro-grupo) e depois fazer o REMOVE do grupo anterior.
Workflow típico de onboarding de um novo funcionário:
E o offboarding de um funcionário: