2015-03-12 2 views
0

Я использую комбинацию pyd.io и netatalk, чтобы мое удаленное хранилище можно было найти дома и из любого места. Пока (чтение) все работает нормально, но теперь - при попытке загрузить что-то в первый раз - у меня проблема, которая вызывает у меня головную боль.Комбинированная сеть/веб-контент: права собственности на файл и разрешения

Справочник /mnt/data является общим с помощью afpd (netatalk) до нормального пользователя pi (да, я начал с малины). Таким образом, владельцем файла является pi:pi, разрешения 755. Отлично работает: я могу читать и писать локально и с mac через netatalk.

Этот же каталог является общим с помощью pyd.io через apache2. Чтение отлично работает, однако запись не выполняется, поскольку apache работает под пользователем www-data:www-data. Если я chmod до 777 для целей тестирования, новые файлы создаются под управлением www-data:www-data (конечно). Но, они тогда не доступны для записи для пользователя pi через netatalk.

Я действительно не знаю, как решить эту проблему, поскольку объединение двух (работает apache под pi или аналогичное) кажется очень неуверенным.

+0

Кто-нибудь? Пожалуйста? – senthor

ответ

0

Я решил его со следующими шагами:

  1. Создать новую группу (в моем случае shared-data)
  2. Добавить www-data и pi к группе
  3. Изменить разрешения для общей папки для 664
  4. Сделать разрешения для новых папок одинаковыми chflags g+s -R /path
  5. Сделать разрешения для новых файлов одинаковыми с setacl
  6. Make pyd.io создавать новые файлы и папки с 664
  7. Редактировать Netatalk акцию (ы) в /usr/local/etc/afp.conf: Добавить file perm = 0664 и directory perm = 0664
  8. Перезапустите Apache и Netatalk