Cambiar el grupo Nginx

Cambiar el grupo Nginx

En nuestro entorno de desarrollo, estoy migrando algunos de nuestros sitios Apache a Nginx. Lo que me gustaría hacer es asegurarme de que mis desarrolladores, que pertenecen al mismo grupo ( webgroup), tengan acceso completo a los archivos (por ejemplo, archivos de registro) creados por el usuario del servidor web ( www-data). Los archivos creados por el usuario web suelen ser propiedad de, www-data:www-dataasí que pensé en cambiar el grupo principal de ese usuario para que coincida con el de los desarrolladores ( webgroup).

El cambio de grupo pareció realizarse, pero los archivos recién creados todavía pertenecen a www-data:www-data. No veo una groupdirectiva para nginx conf, así que me pregunto si hay alguna forma de garantizar que los archivos creados/actualizados por el usuario de nginx sean propiedad del grupo correcto.

Si hubiera pensado en el futuro, supongo que podría haber creado www-datael grupo principal para todos mis usuarios, pero no lo hice y me gustaría evitar volver atrás y tocar a todos esos usuarios. Recuerde, este es un entorno de desarrollo, por lo que la seguridad no es hipercrítica, pero aún así me gustaría evitar que todos se autentiquen como root o algo similar.

ACTUALIZAR

Desde entonces intenté actualizar mi nginx.confarchivo como se muestra a continuación, pero fue en vano. Los archivos nuevos todavía se crean www-data:www-datadespués de un reinicio y una recarga forzada.

user www-data webgroup

Respuesta1

Simplemente aplique un trozo adhesivo a la carpeta donde almacena los archivos de registro. nginx siempre usa el grupo que se proporcionó en el momento de la compilación para crear los registros. La directiva de grupo en la configuración solo se aplica durante el tiempo de ejecución.

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

Respuesta2

Cambiar el grupo nginx requiere recompilar. Afortunadamente, es tan fácil como 123. Sólo sigue estos sencillos pasos:

  1. Descargue el último código fuente de nginx:
    • wget http://nginx.org/download/nginx-1.11.9.tar.gz
  2. Descomprimirlo
    • tar xzvf nginx-1.11.9.tar.gz
  3. Navegar al directorio de origen
    • cd nginx-1.11.9
  4. Obtenga sus argumentos de configuración actuales de nginx a partir de nginx -Vla salida:

    • nginx -Vsalida de muestra:

      --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. Reemplace las opciones que necesite y ejecútelas ./configureen la raíz de origen

    • ./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. Espere a que se complete el comando (descargue módulos externos según sea necesario). Correr

    • make && make install

¡Ahora tienes novedades nginxcon las opciones que te gustan!

información relacionada