¿Qué es el usuario de www-data?


Respuestas:


36

Por seguridad.

Los archivos no se pueden escribir en el mundo. Están restringidos al propietario de los archivos para escribir.

El servidor web debe ejecutarse con un usuario específico. Ese usuario debe existir.

Si se ejecutara bajo root, entonces todos los archivos tendrían que ser accesibles por root y el usuario debería ser root para acceder a los archivos. Siendo root el propietario, un servidor web comprometido tendría acceso a todo su sistema. Al especificar una ID específica, un servidor web comprometido solo tendría acceso completo a sus archivos y no a todo el servidor.

Si decide ejecutarlo con una ID de usuario diferente, entonces ese usuario deberá ser el propietario efectivo de los archivos para obtener los privilegios adecuados. Podría ser confuso tener la propiedad personal de los archivos de todo el sistema en su cuenta personal.

La creación de un usuario específico facilitaría el reconocimiento de los archivos y la coherencia para reconocer qué ID chownpara los nuevos archivos y carpetas agregados al sitio.

El nombre de usuario o nombre del propietario no importa. Lo que se elija o decida tendrá que configurarse en los archivos de configuración del servidor web.

Por defecto, la configuración del propietario está www-dataen la configuración de Ubuntu de Apache2. Como esa es la configuración predeterminada, usted sabe cómodamente la propiedad necesaria para sus archivos web. Si lo cambia, tendría que cambiar los archivos en su sitio para que coincidan.

No ejecuto Nginx , pero como está en el repositorio de Ubuntu, estoy seguro de que se ha probado con la www-dataconfiguración predeterminada.


2
Eso es genial, gracias por tratar de explicar la imagen global también.
user61629

1
por cierto, ¿qué es una 'identificación específica'?
user61629

1
Es www-data. Es por eso que, como en su pregunta, le pidieron que creara la ID de usuario y la ID de grupo si no existe. La instalación de Apache2 crea automáticamente el usuario. No estoy seguro acerca de Nqinx . Usted puede comprobar para ver si existe con: iid -u www-data&&id -g www-data. Si existe, le mostrará el número de identificación del usuario y grupo. Por defecto en Ubuntu los números de usuario y grupo son 33.
LD James

Presentarse www-datacomo propietario también puede ser un riesgo de seguridad como se menciona en la base-passwddocumentación (consulte la respuesta de @ muru), ya que los propietarios generalmente tienen acceso de lectura / escritura a todo el contenido de publicación en la web. Puede eliminar el acceso de escritura al www-datapropietario o utilizar un propietario diferente. www-datadefinitivamente necesita acceso de lectura a todos los datos para ser servidos, pero si solo otorga los permisos necesarios para cada archivo y directorio, y no más, estará más seguro.
Yuval

18

www-dataes el usuario que los servidores web en Ubuntu (Apache, nginx, por ejemplo) usan de manera predeterminada para el funcionamiento normal. El proceso del servidor web puede acceder a cualquier archivo que www-datapueda acceder. No tiene otra importancia.

De la base-passwddocumentación ( /usr/share/doc/base-passwd/users-and-groups.txt.gz):

Algunos servidores web se ejecutan como www-data. El contenido web no debe ser propiedad de este usuario, o un servidor web comprometido podría reescribir un sitio web. Los datos escritos por los servidores web serán propiedad de www-data.


3
excepto la discusión sobre por qué no debe dar acceso a www-data a través de archivos webroot;)
kitingChris

1
Solo para hacer esto más concreto para mí, ¿puedo preguntar a qué servicios necesita acceder un servidor web cuando sirve una página?
user61629

2
@ user61629 servicios? El servidor web es en sí mismo un servicio, según las definiciones habituales de servicio.
muru

1
@kitingChris sí, solo estaba desenterrando los base-passwddocumentos para eso
muru

1
www-dataes el usuario (y también el grupo) con el que actúa el servicio httpd (apache) en su sistema.
kitingChris
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.