Erro de Permissão
Erro de Permissão
Descrição do Problema
Erros relacionados a permissões de arquivo ou sistema:
Error: EACCES: permission denied
Cannot write to directory
Permission denied: /var/log/clawdbot
sudo: command not found
Possíveis Causas
- Arquivo de outro usuário - Criado com sudo ou outro user
- Diretório protegido - Tentando escrever em /var, /etc
- Porta privilegiada - Usando porta < 1024 sem sudo
- SELinux/AppArmor - Políticas de segurança bloqueando
Soluções
1. Corrigir Permissões do Diretório
# Ver permissões atuais
ls -la ~/.clawdbot/
# Corrigir dono
sudo chown -R $USER:$USER ~/.clawdbot/
# Corrigir permissões
chmod -R 755 ~/.clawdbot/
2. Criar Diretórios Necessários
# Criar diretório de logs
sudo mkdir -p /var/log/clawdbot
sudo chown $USER:$USER /var/log/clawdbot
# Criar diretório de dados
mkdir -p ~/.clawdbot/{data,logs,sessions}
3. Usar Porta Não Privilegiada
# Portas < 1024 precisam de sudo
# Use portas maiores como 3000, 8080
# No config.yaml
gateway:
port: 3000 # Em vez de 80 ou 443
4. Redirecionar Porta com iptables
# Redirecionar porta 80 para 3000 (sem precisar de root)
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000
5. Verificar SELinux
# Ver status do SELinux
getenforce
# Temporariamente desabilitar (para teste)
sudo setenforce 0
# Verificar logs de bloqueio
sudo ausearch -m avc -ts recent
6. Verificar AppArmor
# Ver status
sudo aa-status
# Colocar em modo complain
sudo aa-complain /usr/bin/node
7. Executar com Capabilities
# Permitir bind em portas baixas sem sudo
sudo setcap 'cap_net_bind_service=+ep' $(which node)
Verificar Problemas
# Ver qual arquivo/diretório está com problema
namei -l ~/.clawdbot/
# Ver permissões detalhadas
stat ~/.clawdbot/config.yaml
# Verificar grupos do usuário
groups $USER
Problemas Relacionados
Prevenção
- Nunca instale ou rode com sudo desnecessário
- Use portas altas (> 1024) para serviços de usuário
- Configure permissões corretamente na instalação
- Crie um usuário dedicado para o serviço