Como permitir que usuários copiem arquivos com diferentes usuários e grupos?

1

Bom dia

Existe um usuário e grupo linux chamado "desenvolvedores" (não tem acesso ao sudo) com a pasta home em "/ home / developers".

Existe o nginx rodando no mesmo servidor, existe uma pasta web para um site chamado "mysite.com". essa pasta da Web está em "/usr/local/nginx/html/mysite.com/" Os direitos de site de pasta são "nginx: developers" e as permissões de chmod são 770. Agora vem o problema.

Usuários "scp" seus arquivos no servidor usando o usuário "desenvolvedores". Os arquivos são armazenados na pasta "/ home / developers" com o proprietário "developers" (obviamente). Os usuários precisam copiar esses arquivos para a pasta "/usr/local/nginx/html/mysite.com/". Depois que o usuário "desenvolvedores" copia arquivos, digamos "testfile.py" em "/usr/local/nginx/html/mysite.com/", o proprietário do arquivo permanece como "desenvolvedores: desenvolvedores". Portanto, nginx não pode ler o arquivo.

Como posso fazer isso funcionar? Como posso permitir que "desenvolvedores" de usuários transfiram arquivos para "/usr/local/nginx/html/mysite.com/" com permissões nginx: nginx? (sem dar acesso ao sudo). Ou o que posso fazer no nível do grupo para garantir que o nginx leia esses arquivos?

Editar: nginx e php-fpm sendo executados como "nginx"

Obrigado antecipadamente.

    
por fcukinyahoo 10.11.2014 / 19:07

1 resposta

1

what can I do on group level to make sure nginx will read those files?

Não parece haver um problema específico em colocar o usuário nginx no grupo developers :

Como root:

usermod -a -G developers nginx

Um usuário pode estar em vários grupos. Você pode ver em quais nginx está atualmente:

grep nginx /etc/group
# Or more simply:
id nginx

Se colocar nginx em developers apresentar algum problema, você precisará criar um novo grupo, colocar os usuários nginx e developers nisso e garantir que os arquivos transferidos tenham esse GID.

Observe que você deve fazer login novamente antes que novas associações de grupo sejam disponibilizadas. Para contas que não são de login (presumivelmente nginx é uma) você pode usar apenas su ou iniciar um processo que faça o mesmo (neste caso, o próprio servidor nginx deve funcionar).

    
por 10.11.2014 / 19:16