Solución 1:
Así es como funciona esto:cuando inicia sesión a través de FTP/SSH y carga archivos, estos se crean con sus permisos. Probablemente su webroot sea de escritura mundial (0777), eso es inseguro:todos los usuarios en el sistema pueden escribir algo allí. PHP se ejecuta con diferentes privilegios de usuario (se especifican en la configuración de PHP-FPM, no en la configuración de nginx), y como el directorio es de escritura mundial, el usuario de PHP (www-data) también puede escribir allí. Pero el propietario de este archivo es www-data, no su cuenta. Son 2 cuentas distintas en el nivel de permiso del sistema de archivos.
Le sugiero que cree un usuario dedicado con los mínimos privilegios posibles, que poseería el directorio webroot y se usaría para cargar FTP/SSH Y ejecutaría php. Debe cambiar la configuración de PHP-FPM, en la sección de trabajadores hay una entrada de usuario y una configuración de NGINX, para que pueda hacer que los archivos de su sitio web no sean legibles en todo el mundo y sean más seguros.
No ejecute PHP con un usuario privilegiado (capacidades sudo, privilegios de escritura fuera del sitio docroot), eso podría comprometer la seguridad del servidor.
Solución 2:
El www-data
usuario y grupo son bastante estándar. Puede ser www o web en otros sistemas, pero la idea es la misma:ejecutar los servicios web con una cuenta dedicada. Por lo tanto, cuando su servidor web se ve comprometido, el atacante solo podrá acceder a los archivos que se le han otorgado a esta cuenta. .
Si un usuario tiene que administrar los servicios web, debe agregar al usuario al grupo relevante (www-data) o permitirle su (o sudo) al usuario relevante (todavía www-data).