Najpierw dodaj się do grupy www-data
usermod -a -G www-data (your username)
Następnie:
chgrp www-data /home/myuser/folderA
chmod g+rwxs /home/myuser/folderA
Powinieneś zrobić lewę, chyba że twoje uprawnienia /home/myuser
nie pozwalają na dostęp innym użytkownikom.
Pierwsze polecenie zmienia własność grupy folderu na własność serwera WWW. Drugie polecenie daje członkom www-data
grupy czytać, prawa zapisu, wprowadź-katalogu, a grupa s
flaga będzie upewnić się, że wszystkie pliki, które się utworzone wewnątrz tego katalogu ujęcia www-data
jako grupy - jeśli więc utworzyć plik jako użytkownik będzie miał dostęp.myuser
www-data
Uwaga zależy to również od umask
ustawień konta użytkownika i serwera WWW: musisz upewnić się, że pliki utworzone w folderze A mają rw
dostęp do grupy (i katalogi utworzone w ramach grupy potrzeb rwx
)
Jeśli twój serwer nie ma praw dostępu do twojego /home/myuser
katalogu (całkiem rozsądne), to nie wejdzie tam, chyba że zrobisz coś innego. Dwie solówki:
sudo mount --bind /home/myuser/folderA /var/www/mysite/folderA
(jest to brzydki hack i musiałby zostać powtórzony po ponownym uruchomieniu. Ale potężna sztuczka, może być również użyta do udostępnienia folderów w więzieniach SSH).
Po prostu przenieś folder współdzielony w inne miejsce, np /home/shared-stuff/folderA
.
Druga opcja jest najładniejsza. Powiedzmy, że rzeczy w folderze A są naprawdę publiczne i nie obchodzi cię, kto je zobaczy, możesz to skonfigurować
sudo mkdir -m777 /home/shared-stuff
Następnie możesz umieścić w tym, powiedzmy, folderze A z uprawnieniami jak wyżej, i folderze B, do którego dane www nie powinny mieć dostępu z różnymi uprawnieniami, np.
$ 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
wg+rwxs
środku