Files
claude-plugins/infraestrutura/skills/cwp/SKILL.md
T

5.0 KiB

name, description, layer
name description layer
cwp Meta-skill CWP (CentOS Web Panel, servidor 176.9.3.158) cobrindo gestão de contas, backups, email/Postfix/DKIM, PHP Switcher/Selector, segurança CSF/LFD, SSL/acme.sh, webservers Apache/Nginx e referência completa dos scripts oficiais. Triggers — cwp, centos web panel, cwp_api, /scripts/, csf, lfd, acme, autossl, postfix, dkim, php selector, php switcher, varnish, httpd, nginx cwp, user_backup, whoowns, list_users, hostname ssl, mail queue, fix_perms. wiki

/cwp - Meta-skill CWP (CentOS Web Panel)

Skill unificada para o servidor CWP Principal 176.9.3.158 (MCP ssh-unified, user root). Substitui as antigas cwp-accounts, cwp-backup, cwp-email, cwp-php, cwp-scripts, cwp-security, cwp-ssl, cwp-webserver.

REGRA #38 — ZERO INVENÇÃO: NUNCA improvisar comandos. Verificar estado actual ANTES de alterar. Pesquisar wiki CWP se necessário. Usar APENAS scripts oficiais (/scripts/* e /scripts/cwp_api). Se não souber: PERGUNTAR.


0. GATE OBRIGATÓRIO — checklist pré-intervenção CWP

Antes de QUALQUER alteração em CWP (SSL, email/Postfix/Dovecot, nginx/Apache, CSF, PHP), correr este checklist. Padrão recorrente de edições manuais desnecessárias = causa de incidentes repetidos (#3992).

  1. CONSULTAR PRIMEIRO (Regra 53 — LLM Wiki obrigatório):
    • PROC-CWP-SSL.md (D7 Infraestrutura) — para SSL/certificados.
    • PROC-Email-Antispam-CWP.md (D7 Infraestrutura) — para email/Postfix/DKIM/antispam.
    • NotebookLM CWP 0ded7bd6-69b3-4c76-b327-452396bf7ea7 + ~/wiki/ se o caso não estiver nos PROCs.
  2. VERIFICAR ESTADO ACTUAL (read-only) antes de tocar — ver secção relevante abaixo (ex.: openssl s_client para SSL, postqueue -p para email).
  3. SCRIPT NATIVO, NUNCA EDIÇÃO MANUAL. Se existe /scripts/* para a tarefa, usar esse. Editar Postfix/Dovecot/vhosts/certs à mão é anti-pattern (sobrescrito em updates + causa-raiz de drift).
    • SSL de email partido → sh /scripts/mail_rebuild_sni_certs (NÃO editar main.cf/master.cf manualmente).
    • Certs web → acme.sh nativo (§6). Webservers → cwp_api webservers rebuild_* (§7). Permissões pós-SSH → cwp_api account fix_perms (§1).
  4. EMAIL EM PRODUÇÃO = ZERO RISCO: não mexer em master.cf/postscreen nem reiniciar Postfix sem necessidade comprovada. Mudança mínima, testada, reversível.
  5. HDD 4TB — sem comandos cegos: NUNCA du/find genéricos em /home (bloqueia horas, iowait >30%). Caminhos específicos sempre.
  6. VALIDAR + DOCUMENTAR: confirmar o efeito (secção "Validação" relevante) e registar o que se descobriu (memória/PROC) se for novo.

Se os passos 1-3 não resolvem e seria preciso editar à mão: PARAR e perguntar. A edição manual é o último recurso, não o primeiro.

Documentação base

  • Wiki: https://wiki.centos-webpanel.com/cwp-admin-api , /cwp-scripts , /csf-firewall-command-line
  • Hub manuais: Hub/06-Operacoes/Documentacao/Manuais/CWP/ (CWP-Manual-Completo.md 503KB, CWP-Ferramentas-Desenvolvimento.md 82KB, CWP-Guia-do-Utilizador.md, CWP-Guia-do-Revendedor.md)
  • QR: Hub/06-Operacoes/Documentacao/Quick-Reference/QR-CWP.md
  • NotebookLM CWP: 0ded7bd6-69b3-4c76-b327-452396bf7ea7
  • NotebookLM Cibersegurança WordPress (para secção segurança): 5f60adfd-2435-4725-8c12-9c11c5f51d75
mcp__notebooklm__notebook_query notebook_id:"0ded7bd6-69b3-4c76-b327-452396bf7ea7" query:"<adaptar>"

1. Contas (accounts)

Consulta (read-only)

sh /scripts/list_users
sh /scripts/list_domains
sh /scripts/list_subdomains
sh /scripts/whoowns DOMINIO

API gestão

/scripts/cwp_api account remove_user USERNAME
/scripts/cwp_api account suspend_user USERNAME
/scripts/cwp_api account unsuspend_user USERNAME
/scripts/cwp_api account fix_perms USERNAME           # OBRIGATÓRIO após qualquer SSH manual
/scripts/cwp_api account list_domains USERNAME

Bandwidth

/scripts/cwp_api account unsuspend_bandwidth USERNAME   # após aumentar limites
/scripts/cwp_api account reset_bandwidth USERNAME

Massa

/scripts/cwp_api account update_diskquota_all
/scripts/cwp_api account update_limits_all              # quota, hourly_emails, cgroups, nproc, apache_nproc, inode, nofile
/scripts/cwp_api account mail_fix_permissions
/scripts/cwp_api account update_policyd_all

DNS

/scripts/cwp_api account rebuild_etc_named_conf
/scripts/cwp_api account rebuild_var_named_all
/scripts/cwp_api account rebuild_var_named USERNAME DOMAIN

Auxiliares

sh /scripts/ulimit_user_check USERNAME
sh /scripts/cwpsrv_rebuild_user_conf

Workflows típicos

  1. Suspender: suspend_user -> list_users | grep.
  2. Reactivar: unsuspend_user -> fix_perms.
  3. Pós-SSH manual: SEMPRE fix_perms USERNAME.

Validação

sh /scripts/list_users | grep USERNAME
/scripts/cwp_api account list_domains USERNAME
curl -sI http://DOMINIO | head -5

Anti-patterns

Remover sem backup | editar ficheiros manualmente | esquecer