Объединенный сетевой / веб-ресурс: право собственности на файл и права доступа
Я использую комбинацию pyd.io и netatalk, чтобы мое удаленное хранилище было доступно дома и из любого места. Пока (чтение) все работает нормально, но сейчас - при попытке загрузить что-то в первый раз - у меня проблема, которая вызывает у меня головную боль.
Каталог /mnt/data
через afpd
(netatalk) как обычный пользователь pi
(да, я начал с малины). Таким образом, владение файлом pi:pi
, разрешения 755
, Прекрасно работает: я могу читать и писать локально и с Mac через Netatalk.
Этот же каталог доступен через pyd.io через apache2. Чтение работает отлично, а запись - нет, так как apache запускается под пользователем www-data:www-data
, Если я чмод к 777
в целях тестирования новые файлы создаются в www-data:www-data
владение (конечно). Но они тогда не доступны для записи пользователю pi
через netatalk.
Я действительно не знаю, как решить эту проблему, так как объединение двух (запуск apache под pi или аналогичным) кажется очень небезопасным.
1 ответ
Я решил это с помощью следующих шагов:
- Создать новую группу (в моем случае
shared-data
) - добавлять
www-data
а такжеpi
в группу - Измените разрешения для общей папки на
664
- Сделать разрешения для новых папок одинаковыми
chflags g+s -R /path
- Сделать разрешения для новых файлов одинаковыми с
setacl
- Заставьте pyd.io создавать новые файлы и папки с
664
- Редактировать netatalk доли в
/usr/local/etc/afp.conf
: Добавлятьfile perm = 0664
а такжеdirectory perm = 0664
- Перезапустите Apache и Netatalk