Concedendo permissão para todos os usuários em um grupo para gravar em um diretório e em todos os seus subdiretórios

1

Experimentando o Linode pela primeira vez, executando uma imagem do Arch Linux, instalei o nginx com sucesso como root.

Isso, no entanto, tornou /usr/share/nginx/html inacessível para usuários não-root.

Intuitivamente, achei que isso funcionaria:

  • newgrp www (crie um novo grupo)
  • chgrp -R www /usr/share/nginx/html (associa o diretório recursivamente ao novo grupo)
  • chmod -R g=rw /usr/share/nginx/html (conceda permissões de leitura / gravação a um novo grupo)
  • usermod -a -G www john.doe (adiciona usuário não root ao novo grupo)

No entanto, ainda não consegui gravar arquivos em /usr/share/nginx/html como john.doe. Eu também tentei

  • chown -R :www /usr/share/nginx/html

para ver se isso teve algum efeito - não aconteceu.

Veja como é a configuração atualmente:

[john.doe@hydrogen nginx]$ ls -l
total 4
drwxrw-r-x 4 root www 4096 Dec 19 08:10 html
[john.doe@hydrogen nginx]$ id
uid=1000(john.doe) gid=100(users) groups=100(users),10(wheel)
[john.doe@hydrogen nginx]$ groups john.doe
wheel www users

Alguém poderia gentilmente identificar o que estou entendendo mal / faltando que não posso escrever para este diretório?

    
por Andrew Cheong 19.12.2013 / 14:57

1 resposta

2

Adicione o bit Execute aos seus diretórios. Tal como está, john.doe pode escrever e ler arquivos no diretório, mas não pode ver os arquivos no diretório. Você pode ver isso é verdade, tendo john.doe editar um arquivo usando um caminho que está dentro do diretório.

    
por 19.12.2013 / 15:11