Erro Permission Denied — Acesso Negado

Erro: Permission Denied

O OpenClaw tentou fazer algo que não tem permissão. Veja como resolver.

O Que Significa

Error: Permission denied
Error: EACCES: permission denied
Error: Command not in allowlist
Error: Access denied to /path/to/file

Pode ser permissão do sistema operacional ou configuração de segurança do OpenClaw.

Tipos de Erro

1. Permissão de Arquivo (OS)

EACCES: permission denied, open '/etc/passwd'

Sistema operacional bloqueou acesso ao arquivo.

2. Comando Não Permitido

Command 'rm' not in allowlist

OpenClaw bloqueou comando por segurança.

3. Diretório Protegido

Cannot write to /root/

Tentou escrever em diretório sem permissão.

4. Integração Sem Acesso

API returned 403 Forbidden

Token da integração sem permissão necessária.

Soluções

Permissão de Arquivo

Verificar permissões:

ls -la /path/to/file

Corrigir permissões:

# Dar permissão de leitura
chmod +r /path/to/file

# Mudar dono
sudo chown $USER /path/to/file

Comando Bloqueado

Verificar allowlist:

# config.yaml
exec:
  security: allowlist
  allowlist:
    - ls
    - cat
    - grep
    # Adicione comandos necessários

Adicionar comando:

exec:
  allowlist:
    - rm  # Adicionar se necessário

Cuidado: Só adicione comandos que você confia!

Diretório Protegido

Não tente acessar:

  • /root/
  • /etc/
  • Diretórios de sistema

Use workspace:

~/clawd/  # Workspace padrão, seguro

Integração Sem Permissão

Verificar scopes do token:

Cada integração precisa de permissões específicas:

GitHub: repo, read:user
Google: calendar.readonly, gmail.send
Slack: chat:write, channels:read

Regenerar token com scopes corretos.

Configuração de Segurança

Modo Restritivo (Padrão)

exec:
  security: allowlist
  allowlist:
    - ls
    - cat
    - grep
    - curl

Modo Permissivo

exec:
  security: full  # Cuidado!

Não recomendado - permite qualquer comando.

Denylist

exec:
  security: denylist
  denylist:
    - rm -rf
    - sudo
    - dd
    - mkfs

Verificar Configuração

# Ver config atual
cat ~/.openclaw/config.yaml | grep -A 20 exec

# Ou pergunte
"Quais comandos estão permitidos?"

Debug

# Ver tentativas bloqueadas
openclaw logs | grep -i "permission\|denied\|blocked"

# Modo verbose
DEBUG=security* openclaw gateway start

Boas Práticas

  1. Princípio do menor privilégio - Só permita o necessário
  2. Revise periodicamente - Remova permissões não usadas
  3. Não use root - Rode OpenClaw como usuário normal
  4. Audit log - Monitore comandos executados

Próximos Passos