---
name: cwp-accounts
description: Gestão de contas de utilizador no CWP via API oficial /scripts/cwp_api — criar, suspender, remover contas e corrigir permissões.
disable-model-invocation: true
---

# /cwp-accounts - Gestão de Contas CWP (Documentação Oficial)

Gestão de contas de utilizador no CWP usando API oficial. **Zero assumptions, zero hallucinations** - apenas comandos documentados.

**REGRA #38 - ZERO INVENCAO:** NUNCA improvisar comandos. Verificar estado actual ANTES de alterar. Pesquisar wiki CWP se necessario. Usar APENAS scripts oficiais.

---

## Servidor Alvo

| Servidor | IP | MCP | User |
|----------|-----|-----|------|
| **CWP Principal** | 176.9.3.158 | ssh-unified | root |

---

## Documentação Base

- [CWP Admin API](https://wiki.centos-webpanel.com/cwp-admin-api)
- [CWP Scripts](https://wiki.centos-webpanel.com/cwp-scripts)

### Documentação Hub (Consultar SEMPRE)

**Manuais locais** (`Hub/06-Operacoes/Documentacao/Manuais/CWP/`):
- `CWP-Manual-Completo.md` - Admin Guide (seccao User Accounts, Packages, Migration) + Wiki (User & Account Management) - **503KB**
- `CWP-Ferramentas-Desenvolvimento.md` - API Account (add/del/list/susp/unsp) - **82KB**
- `CWP-Guia-do-Revendedor.md` - Gestao de contas reseller - **17KB**

**Quick Reference:** `Hub/06-Operacoes/Documentacao/Quick-Reference/QR-CWP.md`

**NotebookLM (pesquisa AI sobre toda a documentacao CWP):**
```
mcp__notebooklm__notebook_query notebook_id:"0ded7bd6-69b3-4c76-b327-452396bf7ea7" query:"conta utilizador criar suspender permissoes"
```

---

## Scripts de Consulta (Apenas Leitura)

| Script | Descrição | Uso |
|--------|-----------|-----|
| `/scripts/list_users` | Lista todas as contas | `sh /scripts/list_users` |
| `/scripts/list_domains` | Lista todos os addon domains | `sh /scripts/list_domains` |
| `/scripts/list_subdomains` | Lista todos os subdomínios | `sh /scripts/list_subdomains` |
| `/scripts/whoowns` | Descobre owner de domínio | `sh /scripts/whoowns DOMINIO` |

---

## API de Gestão de Contas

### Remover Conta

```bash
/scripts/cwp_api account remove_user USERNAME
```

### Suspender Conta

```bash
/scripts/cwp_api account suspend_user USERNAME
```

### Reactivar Conta

```bash
/scripts/cwp_api account unsuspend_user USERNAME
```

### Corrigir Permissões

```bash
/scripts/cwp_api account fix_perms USERNAME
```

### Listar Domínios de Conta

```bash
/scripts/cwp_api account list_domains USERNAME
```

---

## API de Gestão de Bandwidth

### Reactivar Conta (Bandwidth Excedido)

```bash
# Nota: Requer aumentar bandwidth do utilizador/package primeiro
/scripts/cwp_api account unsuspend_bandwidth USERNAME
```

### Reset Bandwidth (Zero)

```bash
# Reseta bandwidth para 0 e reactiva conta
/scripts/cwp_api account reset_bandwidth USERNAME
```

---

## API de Gestão em Massa

### Actualizar Quotas (Todos)

```bash
# Aplica quotas do package a todos os utilizadores
/scripts/cwp_api account update_diskquota_all
```

### Actualizar Limites (Todos)

```bash
# Actualiza: quota, hourly_emails, cgroups, nproc, apache_nproc, inode, nofile
/scripts/cwp_api account update_limits_all
```

### Corrigir Permissões Mail

```bash
/scripts/cwp_api account mail_fix_permissions
```

### Actualizar Policyd (Todos)

```bash
/scripts/cwp_api account update_policyd_all
```

---

## API de DNS

### Rebuild named.conf

```bash
/scripts/cwp_api account rebuild_etc_named_conf
```

### Rebuild Zonas DNS (Todas)

```bash
/scripts/cwp_api account rebuild_var_named_all
```

### Rebuild Zona DNS (Específica)

```bash
/scripts/cwp_api account rebuild_var_named USERNAME DOMAIN
```

---

## Workflows

### 1. Listar Todas as Contas

```bash
sh /scripts/list_users
```

### 2. Descobrir Owner de Domínio

```bash
sh /scripts/whoowns descomplicar.pt
```

### 3. Suspender Conta Temporariamente

```bash
# 1. Suspender
/scripts/cwp_api account suspend_user USERNAME

# 2. Verificar
sh /scripts/list_users | grep USERNAME
```

### 4. Reactivar Conta Suspensa

```bash
# 1. Reactivar
/scripts/cwp_api account unsuspend_user USERNAME

# 2. Corrigir permissões (após reactivação)
/scripts/cwp_api account fix_perms USERNAME
```

### 5. Corrigir Permissões Após Operação SSH

```bash
# OBRIGATÓRIO após qualquer operação manual via SSH
/scripts/cwp_api account fix_perms USERNAME
```

---

## Scripts Auxiliares Documentados

| Script | Descrição |
|--------|-----------|
| `/scripts/ulimit_user_check` | Verifica limites de utilizador específico |
| `/scripts/cwpsrv_rebuild_user_conf` | Rebuild configuração de todos os utilizadores |

```bash
# Verificar limites de utilizador
sh /scripts/ulimit_user_check USERNAME

# Rebuild configs de utilizadores
sh /scripts/cwpsrv_rebuild_user_conf
```

---

## Anti-Patterns (NUNCA FAZER)

| Anti-Pattern | Risco | Alternativa |
|--------------|-------|-------------|
| Remover conta sem backup | Perda de dados | Backup primeiro |
| Editar ficheiros manualmente | Inconsistência | Usar API |
| Ignorar fix_perms após SSH | Erros permissões | SEMPRE fix_perms |
| Suspender sem avisar cliente | Problema comercial | Comunicar primeiro |

---

## Validação Pós-Operação

```bash
# Após qualquer operação de conta:

# 1. Verificar conta existe/estado
sh /scripts/list_users | grep USERNAME

# 2. Verificar domínios
/scripts/cwp_api account list_domains USERNAME

# 3. Testar acesso web
curl -sI http://DOMINIO | head -5
```

---

## Checklist de Execução

- [ ] Identificar username correcto
- [ ] Backup se operação destrutiva
- [ ] Executar comando API
- [ ] Verificar resultado
- [ ] fix_perms se necessário
- [ ] Testar acesso ao site

---

**Versão:** 1.0.0 | **Autor:** Descomplicar®
**Fonte:** wiki.centos-webpanel.com/cwp-admin-api, wiki.centos-webpanel.com/cwp-scripts

---

## Healing Log

Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.

```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```

*Adicionar nova linha após cada erro corrigido.*
