Erros de Permissão Negada
Problemas de permissão de arquivo e diretório são comuns em instalações do XOOPS, especialmente após upload ou migração de servidor. Este guia ajuda a diagnosticar e resolver problemas de permissão.
Compreender Permissões de Arquivo
Seção intitulada “Compreender Permissões de Arquivo”Noções Básicas de Permissão Linux/Unix
Seção intitulada “Noções Básicas de Permissão Linux/Unix”Permissões de arquivo são representadas como códigos de três dígitos:
rwxrwxrwx||| ||| |||||| ||| +-- Others (world)||| +------ Group+--------- Owner
r = read (4)w = write (2)x = execute (1)
755 = rwxr-xr-x (owner full, group read/execute, others read/execute)644 = rw-r--r-- (owner read/write, group read, others read)777 = rwxrwxrwx (everyone full access - NOT RECOMMENDED)Erros Comuns de Permissão
Seção intitulada “Erros Comuns de Permissão””Permission denied” em Upload
Seção intitulada “”Permission denied” em Upload”Warning: fopen(/var/www/html/xoops/uploads/file.jpg): failed to open stream:Permission denied in /var/www/html/xoops/class/file.php on line 42”Unable to write file"
Seção intitulada “”Unable to write file"”Error: Unable to write file to /var/www/html/xoops/cache/"Cannot create directory”
Seção intitulada “"Cannot create directory””Error: mkdir(/var/www/html/xoops/uploads/temp/): Permission deniedDiretórios Críticos do XOOPS
Seção intitulada “Diretórios Críticos do XOOPS”Diretórios Que Requerem Permissões de Escrita
Seção intitulada “Diretórios Que Requerem Permissões de Escrita”| Diretório | Mínimo | Propósito |
|---|---|---|
/uploads | 755 | Uploads de usuário |
/cache | 755 | Arquivos de cache |
/templates_c | 755 | Templates compilados |
/var | 755 | Dados variáveis |
mainfile.php | 644 | Configuração (legível) |
Solução de Problemas Linux/Unix
Seção intitulada “Solução de Problemas Linux/Unix”Passo 1: Verificar Permissões Atuais
Seção intitulada “Passo 1: Verificar Permissões Atuais”# Check file permissionsls -l /var/www/html/xoops/
# Check specific filels -l /var/www/html/xoops/mainfile.php
# Check directory permissionsls -ld /var/www/html/xoops/uploads/Passo 2: Identificar Usuário do Servidor Web
Seção intitulada “Passo 2: Identificar Usuário do Servidor Web”# Check Apache userps aux | grep -E '[a]pache|[h]ttpd'# Usually: www-data (Debian/Ubuntu) or apache (RedHat/CentOS)
# Check Nginx userps aux | grep -E '[n]ginx'# Usually: www-data or nginxPasso 3: Corrigir Propriedade
Seção intitulada “Passo 3: Corrigir Propriedade”# Set correct ownership (assuming www-data user)sudo chown -R www-data:www-data /var/www/html/xoops/
# Fix only web-writable directoriessudo chown www-data:www-data /var/www/html/xoops/uploads/sudo chown www-data:www-data /var/www/html/xoops/cache/sudo chown www-data:www-data /var/www/html/xoops/templates_c/sudo chown www-data:www-data /var/www/html/xoops/var/Passo 4: Corrigir Permissões
Seção intitulada “Passo 4: Corrigir Permissões”Opção A: Permissões Restritivas (Recomendado)
Seção intitulada “Opção A: Permissões Restritivas (Recomendado)”# All directories: 755 (rwxr-xr-x)find /var/www/html/xoops -type d -exec chmod 755 {} \;
# All files: 644 (rw-r--r--)find /var/www/html/xoops -type f -exec chmod 644 {} \;
# Except writable directorieschmod 755 /var/www/html/xoops/uploads/chmod 755 /var/www/html/xoops/cache/chmod 755 /var/www/html/xoops/templates_c/chmod 755 /var/www/html/xoops/var/Opção B: Script Tudo-em-um
Seção intitulada “Opção B: Script Tudo-em-um”#!/bin/bashXOOPS_PATH="/var/www/html/xoops"WEB_USER="www-data"
echo "Fixing XOOPS permissions..."
# Set ownershipsudo chown -R $WEB_USER:$WEB_USER $XOOPS_PATH
# Set directory permissionsfind $XOOPS_PATH -type d -exec chmod 755 {} \;
# Set file permissionsfind $XOOPS_PATH -type f -exec chmod 644 {} \;
# Ensure writable directorieschmod 755 $XOOPS_PATH/uploads/chmod 755 $XOOPS_PATH/cache/chmod 755 $XOOPS_PATH/templates_c/chmod 755 $XOOPS_PATH/var/
echo "Done! Permissions fixed."Problemas de Permissão por Diretório
Seção intitulada “Problemas de Permissão por Diretório”Diretório de Uploads
Seção intitulada “Diretório de Uploads”Problema: Não consegue fazer upload de arquivos
# Solutionsudo chown www-data:www-data /var/www/html/xoops/uploads/chmod 755 /var/www/html/xoops/uploads/find /var/www/html/xoops/uploads -type f -exec chmod 644 {} \;find /var/www/html/xoops/uploads -type d -exec chmod 755 {} \;Diretório de Cache
Seção intitulada “Diretório de Cache”Problema: Arquivos de cache não estão sendo gravados
# Solutionsudo chown www-data:www-data /var/www/html/xoops/cache/chmod 755 /var/www/html/xoops/cache/Cache de Templates
Seção intitulada “Cache de Templates”Problema: Templates não compilando
# Solutionsudo chown www-data:www-data /var/www/html/xoops/templates_c/chmod 755 /var/www/html/xoops/templates_c/Solução de Problemas do Windows
Seção intitulada “Solução de Problemas do Windows”Passo 1: Verificar Propriedades do Arquivo
Seção intitulada “Passo 1: Verificar Propriedades do Arquivo”- Clique com botão direito no arquivo → Propriedades
- Clique na aba “Segurança”
- Clique no botão “Editar”
- Selecione usuário e verifique permissões
Passo 2: Conceder Permissões de Escrita
Seção intitulada “Passo 2: Conceder Permissões de Escrita”Via GUI:
Seção intitulada “Via GUI:”1. Right-click folder → Properties2. Select "Security" tab3. Click "Edit"4. Select "Users" or "IUSR"5. Check "Write" and "Modify"6. Click "Apply"Documentação Relacionada
Seção intitulada “Documentação Relacionada”- Tela Branca da Morte
- Falhas de Instalação de Módulo
- FAQ de Instalação
#xoops #permissions #troubleshooting #security