Primeiro, adicione-se ao grupo www-data
usermod -a -G www-data (your username)
Então:
chgrp www-data /home/myuser/folderA
chmod g+rwxs /home/myuser/folderA
Deve fazer o truque, a menos que as permissões do seu /home/myuser
computador não permitam o acesso de outros usuários.
O primeiro comando altera a propriedade do grupo da pasta para a do servidor da web. O segundo comando fornece aos membros do www-data
grupo direitos de leitura, gravação, entrada no diretório e o s
sinalizador do grupo garantirá que todos os arquivos criados dentro desse diretório www-data
sejam do grupo - portanto, se você criar um arquivo, myuser
o www-data
usuário terá acesso.
Nb. isso também depende das umask
configurações da sua conta de usuário e do servidor da web: você precisa garantir que os arquivos criados na pasta A tenham rw
acesso ao grupo (e diretórios criados no grupo de necessidade rwx
)
Se o seu servidor da Web não tiver direitos de entrada no seu /home/myuser
diretório (bastante sensato), ele não será acessado, a menos que você faça outra coisa. Dois solns:
sudo mount --bind /home/myuser/folderA /var/www/mysite/folderA
(esse é um truque feio e teria que ser repetido após a reinicialização. Mas um truque poderoso também pode ser usado para tornar as pastas acessíveis dentro das cadeias SSH.)
Simplesmente mova a pasta compartilhada para outro lugar, por exemplo /home/shared-stuff/folderA
.
A segunda opção é mais agradável. Digamos que o conteúdo da pasta A é realmente público e você não se importa com quem o vê, pode configurá-lo como
sudo mkdir -m777 /home/shared-stuff
Em seguida, você pode colocar dentro, digamos, da pasta A com as permissões acima, e da pasta B que os dados da www não devem ter acesso com permissões diferentes, por exemplo
$ 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
s
dentrog+rwxs
?