Primero, agréguese al grupo www-data
usermod -a -G www-data (your username)
Luego:
chgrp www-data /home/myuser/folderA
chmod g+rwxs /home/myuser/folderA
Debería hacer el truco a menos que los permisos en su /home/myuserno permitan el acceso de otros usuarios.
El primer comando cambia la propiedad del grupo de la carpeta a la del servidor web. El segundo comando otorga a los miembros del www-datagrupo derechos de lectura, escritura, entrada al directorio, y el sindicador del grupo garantizará que cualquier archivo que se cree dentro de ese directorio tome www-datacomo grupo, por lo que si crea un archivo, myuserel www-datausuario tendrá acceso.
Nótese bien. esto también depende de la umaskconfiguración de su cuenta de usuario y del servidor web: debe asegurarse de que los archivos creados en la carpeta A tengan rwacceso de grupo (y los directorios creados dentro del grupo de necesidad rwx)
Si su servidor web no tiene derechos de entrada en su /home/myuserdirectorio (bastante sensato), entonces no entrará allí a menos que haga otra cosa. Dos soles:
sudo mount --bind /home/myuser/folderA /var/www/mysite/folderA (Este es un truco feo y tendría que repetirse después del reinicio. Pero un truco poderoso, también se puede usar para hacer que las carpetas sean accesibles dentro de las cárceles SSH).
Simplemente mueva la carpeta compartida a otro lugar, por ejemplo /home/shared-stuff/folderA.
La segunda opción es la mejor. Digamos que el contenido de la carpeta A es realmente público y no te importa quién lo vea, puedes configurarlo como
sudo mkdir -m777 /home/shared-stuff
Luego puede poner dentro de eso, digamos, la carpeta A con permisos como se indicó anteriormente, y la carpeta B a la que www-data no debería tener acceso con diferentes permisos, por ejemplo
$ cd /home/shared-stuff ; ls -l
drwxrwsr-x 2 myuser www-data 4096 Jan 17 21:46 folderA
drwxrwx--- 2 myuser myuser 4096 Jan 17 21:46 folderB
seng+rwxs?