Mudando o grupo Nginx

Mudando o grupo Nginx

Em nosso ambiente de desenvolvimento, estou migrando alguns de nossos sites Apache para Nginx. O que eu gostaria de fazer é garantir que todos os meus desenvolvedores, que pertencem ao mesmo grupo ( webgroup), tenham acesso total aos arquivos (por exemplo, arquivos de log) criados pelo usuário do servidor web ( www-data). Os arquivos criados pelo usuário da web normalmente são de propriedade de, www-data:www-dataentão pensei em alterar o grupo principal desse usuário para corresponder ao dos desenvolvedores ( webgroup).

A mudança de grupo parece ter ocorrido, mas os arquivos recém-criados ainda pertencem a www-data:www-data. Não vejo uma groupdiretiva para o nginx conf, então estou me perguntando se há alguma maneira de garantir que os arquivos criados/atualizados pelo usuário nginx sejam propriedade do grupo certo.

Se eu tivesse pensado no futuro, suponho que poderia ter criado www-datao grupo principal para todos os meus usuários, mas não o fiz e gostaria de evitar voltar e tocar em todos esses usuários. Lembre-se, este é um ambiente de desenvolvimento, portanto a segurança não é hipercrítica, mas eu ainda gostaria de evitar que todos se autenticassem como root ou algo similarmente aberto.

ATUALIZAR

Desde então, tentei atualizar meu nginx.confarquivo conforme mostrado abaixo, mas sem sucesso. Novos arquivos ainda são criados www-data:www-dataapós uma reinicialização e uma recarga forçada.

user www-data webgroup

Responder1

Basta aplicar um adesivo na pasta onde você armazena os arquivos de log. O nginx está sempre usando o grupo fornecido em tempo de compilação para criar os logs. A diretiva de grupo na configuração é aplicada apenas durante o tempo de execução.

chown -R www-data:webgroup /var/log/nginx && chmod g+s /var/log/nginx

Responder2

A alteração do grupo nginx requer recompilação. Felizmente é tão fácil quanto 123. Basta seguir estes passos simples:

  1. Baixe o código-fonte nginx mais recente:
    • wget http://nginx.org/download/nginx-1.11.9.tar.gz
  2. Desembale-o
    • tar xzvf nginx-1.11.9.tar.gz
  3. Navegue até o diretório de origem
    • cd nginx-1.11.9
  4. Obtenha seus argumentos atuais de configuração do nginx na nginx -Vsaída:

    • nginx -Vsaída de amostra:

      --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro' --prefix=/usr --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-mail --with-mail_ssl_module --user=www-data --group=www-data

  5. Substitua as opções necessárias e inicie ./configurena raiz de origem

    • ./configure --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro' --prefix=/usr --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-mail --with-mail_ssl_module --user=apache --group=apache
  6. Aguarde a conclusão do comando (baixe módulos externos conforme necessário). Correr

    • make && make install

Agora você tem novidades nginxcom as opções que você gosta!

informação relacionada