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.
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.
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 son33
.www-data
como propietario también puede ser un riesgo de seguridad como se menciona en labase-passwd
documentació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 alwww-data
propietario o utilizar un propietario diferente.www-data
definitivamente 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.www-data
es 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 quewww-data
pueda acceder. No tiene otra importancia.De la
base-passwd
documentación (/usr/share/doc/base-passwd/users-and-groups.txt.gz
):fuente
base-passwd
documentos para esowww-data
es el usuario (y también el grupo) con el que actúa el servicio httpd (apache) en su sistema.