¿El usuario no tiene permiso de escritura en sus carpetas de propiedad?

¿El usuario no tiene permiso de escritura en sus carpetas de propiedad?

En lo que estoy trabajando Debian10 with php8 fpm + apache2, creé un nuevo usuario con un grupo username:usernamey configuré un directorio de inicio para este usuario ubicado en

/home/username/www

Por supuesto, tengo chmod -Rtodas las carpetas y archivos username:username, antes era www-data cuando los archivos estaban dentro./var/html

Básicamente, tengo un pequeño script que intenta escribir una carpeta de caché, pero no funciona cuando modifico las carpetas a nombre de usuario: nombre de usuario, ¿solo funciona si modifico las carpetas a www-data?

la carpeta de caché chown 755, y funciona bien si www-datano es propiedad de nadieusername

¿Es posible permitir que usernametenga un permiso de escritura como www-data?

PD: el nombre de usuario es un ejemplo del real

Respuesta1

Aposibleenfoque para permitir usernameel control de cosas, mientras que www-datatiene acceso de solo lectura por razones de seguridad y acceso de escritura solo cuando es necesario:

  • Establecer usernamecomo propietario y www-datacomo grupo

    chown -R username:www-data /home/username/www
    
  • Otorgue acceso completo al propietario (lectura/escritura/ejecución: 7) y acceso de solo lectura al grupo (lectura/ejecución: 5). El Othergrupo aquí no tiene acceso (0).

    chmod -R 750 /home/username/www
    
  • Dar acceso de escritura a www-datadonde sea necesario:

    chmod -R 770 /home/username/www/path/writable/by/webserver
    

Los archivos creados por el servidor web serán de su entera propiedad ( www-data:www-data), pero el propietario del directorio ( username) aún podrá moverlos.

Respuesta2

De forma predeterminada, cuando instala PHP-FPM, instala un único grupo que se ejecuta como el www-datausuario. Si cambia usery groupal /etc/php/8.0/fpm/pool.d/www.confusuario correcto, su secuencia de comandos se ejecutará como el usuario y www-datano necesitará permisos de escritura.

Tu configuración tiene estas 2 líneas por defecto:

user = www-data
group = www-data

Reemplace esas líneas con:

user = username
group = username

Reinicie el demonio FPM

service php8.0-fpm restart

información relacionada