Tenha paciência comigo Ainda sou novo no Linux. Eu tenho um servidor web que está tentando acessar uma pasta pública em uma conta de usuário.
Problema
Estou executando um servidor nginx que está tentando acessar a página de manutenção dentro de uma pasta pública compartilhada de aplicativos e recebe erros de permissão negada.
Noções básicas
- Usuário do aplicativo:
quotr
e grupo principal: app
- usuário do Webserver:
ubuntu
e grupo principal: www-data
- Página inicial do aplicativo:
/home/quotr/app
- Pasta pública compartilhada do aplicativo:
/home/quotr/app/shared
- Caminho absoluto do arquivo de manutenção:
/home/quotr/app/shared/public/system/maintenance.html
Grupos:
Inicialmente, só adicionei o grupo www-data
ao grupo app
na esperança de corrigir o problema. Quando isso não funcionou, eu também adicionei o grupo indo para o outro lado.
www-data:x:33:apache,quotr
ubuntu:x:1000:
app:x:1001:quotr,ubuntu,www-data
Propriedade
A propriedade da árvore de aplicativos inteira pertence a quotr:app
. Quando comecei a receber os problemas de permissão, alterei a propriedade ao longo da parte public/system/maintenance.html
do caminho para a página de manutenção ( /home/quotr/app/shared/public/system/maintenance.html
) para quotr:www-data
.
Permissões
Começando em /var/www/quotr-public
e descendo:
# ls -la
drwxr-xr-x 4 quotr www-data 4096 Mar 3 21:49 .
drwxr-xr-x 5 quotr www-data 4096 Mar 3 21:49 ..
drwxr-xr-x 5 quotr www-data 4096 Mar 4 16:00 assets
drwxr-xr-x 3 quotr www-data 4096 Mar 4 19:03 system
# cd to system ls -la
drwxr-xr-x 3 quotr www-data 4096 Mar 4 19:03 .
drwxr-xr-x 4 quotr www-data 4096 Mar 3 21:49 ..
-rwxr-x--- 1 quotr www-data 3004 Mar 4 19:03 maintenance.html
drwxr-xr-x 3 quotr www-data 4096 Mar 3 21:51 pictures
Teste
Estou testando as permissões usando o seguinte comando:
sudo -u www-data stat /home/quotr/app/shared/public/
que resulta em permissão negada.
Última vala
Como última tentativa, criei o seguinte link simbólico:
quotr-public -> /home/quotr/app/shared/public/
Que eu posso executar o seguinte com sucesso, mas sem aprofundar:
sudo -u www-data stat /var/www/quotr-public
Eu estou em uma perda completa do que o problema é neste momento. Qualquer orientação seria muito apreciada.
Editar 1
Eu continuei peidando com permissões, então, isso pode ser um pouco diferente, mas, por favor, encontre abaixo a saída solicitada.
Saída de 'namei -lx /home/quotr/app/shared/public/system/maintenance.html'
Drwxr-xr-x root root /
drwxr-xr-x root root home
drwx------ quotr app quotr
drwxr-xr-x quotr app app
drwxr-xr-x quotr www-data shared
drwxr-xr-x quotr www-data public
drwxr-xr-x quotr www-data system
-rw-r--r-- quotr app maintenance.html
Saída de 'namei -lx /var/www/quotr-public/system/maintenance.html'
Drwxr-xr-x root root /
drwxr-xr-x root root var
drwxrwsr-x root www-data www
lrwxrwxrwx ubuntu www-data quotr-public -> /home/quotr/app/shared/public/
Drwxr-xr-x root root /
drwxr-xr-x root root home
drwx------ quotr app quotr
drwxr-xr-x quotr app app
drwxr-xr-x quotr www-data shared
drwxr-xr-x quotr www-data public
drwxr-xr-x quotr www-data system
-rw-r--r-- quotr app maintenance.html
Obrigado.