Спочатку додайте себе до групи www-data
usermod -a -G www-data (your username)
Потім:
chgrp www-data /home/myuser/folderA
chmod g+rwxs /home/myuser/folderA
Слід виконати трюк, якщо дозволи на вашому веб-сайті /home/myuser
не дозволяють іншим користувачам отримати доступ.
Перша команда змінює групове право власності на папку на власність веб-сервера. Друга команда дає членам www-data
групи читання, права записи, введіть-каталог, і група s
прапор гарантує , що всі файли , які отримують створювані всередині цього каталогу взяти в www-data
якості групи - так що якщо ви створюєте файл як користувач матиме доступ.myuser
www-data
Nb. це також залежить від umask
налаштувань вашого облікового запису користувача та веб-сервера: вам потрібно переконатися, що файли, створені в папціA, мають груповий rw
доступ (і каталоги, створені в групі потреб rwx
)
Якщо у вашого веб-сервера немає прав на введення вашого /home/myuser
редактора (цілком розумно), він не збирається туди потрапляти, якщо ви не зробите щось інше. Два солі:
sudo mount --bind /home/myuser/folderA /var/www/mysite/folderA
(це некрасивий злом, і його потрібно буде повторити після перезавантаження. Але потужний трюк, також можна використовувати, щоб зробити папки доступними в тюрмах SSH.)
Просто перемістіть загальну папку кудись інше, наприклад /home/shared-stuff/folderA
.
2-й варіант найприємніший. Скажімо, матеріал у папціA насправді загальнодоступний, і вам не байдуже, хто його бачить, ви можете налаштувати його як
sudo mkdir -m777 /home/shared-stuff
Потім ви можете помістити всередину, скажімо, папку A з дозволами, як описано вище, і папкуB, до якої www-дані не повинні мати доступ з різними дозволами, наприклад
$ 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
вg+rwxs
?