Não é possível indicar 'direção', permissão negada quando as permissões estão definidas

3

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.

    
por gwnp 04.03.2017 / 21:00

1 resposta

0

Eu acho que você quase teve lá com a ajuda do muru. Todas as pastas da árvore precisam ser executáveis por www-data. Como a pasta quotr pertence ao grupo de aplicativos e www-data está no grupo de aplicativos, é melhor dar exec ao grupo em vez de outros:

chmod g+x quotr

Como sugestão paralela ... Eu construí vários sites com nginx como www-data. O que funcionou bem para mim é deixar que o www-data possua tudo como usuário e grupo. Então eu adiciono meu usuário & amp; quem mais precisar de acesso ao grupo www-data.

    
por Paul Brackin 10.03.2017 / 22:53