Alterando o grupo Nginx

4

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

A mudança de grupo pareceu passar, mas os arquivos recém-criados ainda são de propriedade de www-data:www-data . Eu não vejo uma diretiva group para o conf nginx, então eu estou querendo saber se há alguma maneira de garantir que os arquivos criados / atualizados pelo usuário nginx se pertençam ao grupo certo.

Se eu pensasse no futuro, suponho que eu poderia ter transformado www-data no grupo principal para todos os meus usuários, mas não consegui e gostaria de evitar voltar e tocar todos esses usuários. Lembre-se, este é um ambiente de desenvolvimento para que a segurança não seja hipercrítica, mas eu ainda gostaria de evitar que todos sejam autenticados como root ou algo similarmente aberto.

UPDATE

Eu já tentei atualizar meu arquivo nginx.conf como mostrado abaixo, mas sem sucesso. Novos arquivos ainda são criados como www-data:www-data após uma reinicialização e uma recarga forçada.

user www-data webgroup
    
por Rob Wilkerson 22.08.2012 / 16:02

2 respostas

4

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

chown -R www-data:webgroup /var/log/nginx && chmod g+s /var/log/nginx
    
por 23.08.2012 / 07:15
0

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

  1. Faça o download do código-fonte mais recente do nginx:
    • wget http://nginx.org/download/nginx-1.11.9.tar.gz
  2. Desembale
    • 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 em nginx -V output:

    • nginx -V de saí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 de que você precisa & lançar ./configure na 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 até que o comando seja concluído (baixe os módulos externos conforme necessário). Executar

    • make && make install

Agora você tem nginx novinha em folha com as opções que você gosta!

    
por 27.01.2017 / 22:46