Nginx user / group config [fechado]

2

Sou novo no nginx, mas nos últimos dias tenho aprendido sobre os recursos e tudo o que ele tem a oferecer. Estou rodando o nginx no Centos 6.3.

Instalei o nginx com o php-fpm, mas tenho algumas perguntas sobre usuários e grupos.

  1. Quando eu instalo o nginx, ele configura o usuário / grupo para nginx. Eu configurei minha caixa para ter todas as contas de bloqueio de servidor (vhosts) em /accounts/example.com/public_html. No momento, todas as pastas são de root / root. Eu preciso alterar qualquer uma das pastas para nginx / nginx?

  2. Configurando contas do pool php-fpm. Eu tenho um arquivo conf php-fpm localizado na pasta /etc/php-fpm.d que é chamado de www.conf. O usuário e o grupo nesse arquivo são www / www. Estou assumindo que este é o arquivo conf padrão se eu não estiver executando pools. Se eu não executar pools, o usuário / grupo deve mudar para nginx / nginx?

  3. Se eu estiver executando php-fpm pools, o usuário no /etc/php-fpm.d/domainname.conf reflete o mesmo usuário / grupo que eu configurei na questão 1.

  4. O usuário / grupo listado no nginx.conf deve ser o mesmo da configuração do php-fpm?

Estou muito confuso sobre a configuração de usuários e grupos para vhosts (eu sei que é um termo apache) Eu só estou tentando descobrir que usuário / grupos eu tenho que adicionar, quais permissões de pasta eu tenho que mudar .. etc.

Se alguém pudesse me dar um pouco de informações sobre quais pastas precisam ter quais permissões na configuração que estou executando, isso me ajudaria bastante. Todos os tutoriais da Web parecem passar pelas permissões de usuário / grupo / pasta, exceto quando é um arquivo / pasta de log.

Qualquer ajuda seria muito apreciada! Obrigado!

    
por Jim K 22.01.2013 / 03:36

1 resposta

6

Suas 4 perguntas são realmente uma questão. Então, vou responder como uma pergunta.

Primeiro, você não pode pensar em propriedade sem considerar permissões. Considere uma permissão do 777, que significa ler, escrever e executar por qualquer pessoa no sistema. Então, se uma permissão é 777, não importa quem seja o proprietário, seu nginx pode buscá-la, você pode executá-la, etc. Então, mesmo se você tiver root: root, isso realmente não importa. Mas isso seria menos que ótimo em termos de segurança e limpeza.

Pense no que o nginx precisa fazer. O que o nginx faz? Isso faz ...

  1. Lê arquivos estáticos.
  2. Encerra o processador php como o php-fpm.

Portanto, desde que as permissões sejam maiores que 4 (ou seja, possam ler), o nginx não terá problemas.

Em seguida, o que o php-fpm precisa fazer? Isso faz ...

  1. Leia o arquivo para o qual foi passado.
  2. Se o arquivo for gravado em disco, você precisará de permissão de gravação.

Uma coisa a ter em mente é que o php-fpm é o executável, não seu script PHP. Portanto, o script não requer permissão executável. O PHP-FPM é executado de acordo com as instruções dadas pelo PHP. (A menos que sua intenção seja fazer um arquivo PHP executável)

Então, com isso como base, vamos tentar fazer as perguntas.

  1. O nginx deveria ser o dono? Se você quer que seja.
  2. O php-fpm deve ser o dono? Se você quer que seja.
  3. Os outros pools devem ter um proprietário diferente? Se você quer que seja.
  4. O nginx e o php-fpm devem usar o mesmo usuário? Se você quer que seja.

Bem, isso não foi muito útil, foi? : P

Mas! Se você acha que deve ter permissão maior e quem menos (usuário ≥ grupo ≥ outro) para trabalhar, a resposta deve chegar até você. Se a permissão for 775, quem precisa do 7? Quem ainda pode conseguir um 5? Quem mais precisa de um 7? Isto é, quem mais precisa estar nesse "grupo"?

Embora eu tenha evitado dar a você o peixe, acho que deveria ser tudo o que você precisa saber para pescar sozinho. E bem vindo ao SF.

    
por 22.01.2013 / 05:59

Tags