Tengo 2 usuarios en mi servidor. Uno con sudo accede a otro sin. ¿Cómo puedo dar acceso a los registros de nginx?
/var/log/nginx/error.log
¿A otro usuario sin sudo
permiso para usar cat /var/log/nginx/error.log
? ¿Puedo crear algo así como un enlace simbólico para iniciar sesión en su directorio / home / username?
Entonces mi pregunta es: ¿cómo puede un usuario sin sudo
permiso verificar los registros de nginx?
sudo
acceso a que? No está claro a partir de su pregunta. Sé que algunas personas hacen que 'sudo access' signifique 'acceso raíz', pero eso no es técnicamente exacto. Por favor ellaborate.sudo
para darle los permisos en realidad, dependiendo de cómo quieras configurarlo.setfacl -m 'user:someuser:r' /var/log/nginx/error.log
. No estoy seguro de cómo funcionaría eso con logrotate.sudo
acceso a cat / tail / etc, el registro es probablemente una mejor opción de todos modos. "Respuestas:
Por ejemplo, así:
chmod 755 /var/log/nginx && chmod 644 /var/log/nginx/*.log && chmod 644 /var/log/nginx/*.gz
De esta forma, cualquiera podrá leer y leer el contenido del directorio / var / log / nginx y leer los archivos * .log.
También debe verificar la configuración de rotación del registro para que los permisos no se vuelvan a cambiar. Para las últimas versiones de Nginx, hasta 1.6.2 inclusive, el archivo
/etc/logrotate.d/nginx
ha utilizado la líneacreate 0640 www-data adm
para establecer permisos al rotar registros. Esto debería cambiarse a algo asícreate 0644 www-data adm
. Cabe señalar que esta solución permite a todos los usuarios del servidor leer todos los registros de Nginx.Actualización: las configuraciones de logrotate también deben actualizarse para incluir el
su www-data adm
para permitir que la utilidad logadm funcione sin quejarse de los permisos de directorio incorrectos.fuente
/etc/logrotate.d/nginx
escreate 0640 www-data adm
. Eso está en 1.6.2, pero no creo que esa línea haya cambiado en bastante tiempo.