Problema de permissões para um diretório configurado como Symlinked

0

Eu tenho um aplicativo da web em execução no Ubuntu 14.04. O serviço de implantação do aplicativo cria usuários, grupos e permissões separados automaticamente ao implantar o aplicativo no meu servidor na AWS.

O aplicativo é executado como um usuário chamado nginx , que faz parte de um grupo também chamado nginx . Quando eu ssh em devo fazer assim como outro usuário: michaelmichael . Eu não faço parte do grupo nginx .

O aplicativo tem um /tmp/cache dir que eu devo ser capaz de gravar como o usuário michaelmichael para inicializar manualmente algumas configurações. Quando tento fazer isso, recebo um erro de 'permissão negada'.

Meu próximo passo é verificar as permissões da pasta. As coisas começam a ficar confusas. O diretório é um link simbólico para que ele possa se referir a várias iterações do aplicativo. Assim, por exemplo, o diretório real para o qual eu tento gravar é /var/deploy/my-app/web_head/releases/20150221204050/tmp/cache Se eu ls -l neste diretório eu obtiver o seguinte:

lrwxrwxrwx 1 nginx nginx 43 Feb 21 20:40 /var/deploy/my-app/web_head/releases/20150221204050/tmp/cache -> /var/deploy/my-app/web_head/shared/cache

Se eu ls -l /var/deploy/my-app/web_head/shared , posso ver que cache é um diretório com as seguintes permissões:

drwxrwxr-x 14 nginx nginx 4096 Feb 21 20:31 cache

Então, para escrever neste diretório, eu preciso adicionar meu usuário, michaelmichael ao grupo nginx? Preciso modificar as permissões do diretório com links simbólicos (o /releases/ dir) ou o próprio diretório (o cache dir)?

    
por michaelmichael 21.02.2015 / 22:09

1 resposta

1

A resposta óbvia é às vezes a correta. Você precisa escrever no diretório cache , então você precisa de permissão de escrita para o diretório cache . O fato de que você é capaz de fazer o ls -l demonstra que você tem todo o acesso necessário ao diretório releases .

Você pode obter o acesso desejado adicionando seu usuário ao grupo nginx ou alterando o modo do diretório cache (provavelmente para 777).

    
por 21.02.2015 / 22:26