У меня есть конкретный пользователь ОС под названием «приложение», которое запускает Dropbox. Приложение развернуто (на одном сервере) для нескольких сайтов. Но в Dropbox пользователя приложения есть информация обо всех сайтах.
В дропбоксе есть каталог вроде /home/app/Dropbox/Sites/siteXXX/folder
по одному для каждого сайта. Вся папка Dropbox автоматически создается приложением пользователя ОС.
Однако каждая установка приложения использует внутреннюю папку Dropbox. Например: /app/sites/siteXXX/siteData/shared/folder
. Каждый экземпляр приложения работает с определенным пользователем ОС, например siteXXX. Проблема в том, что я хочу все /app/sites/siteXXX/siteData/shared/folder
быть 700
и с собственностью siteXXX
. Приложение может создавать или редактировать новые файлы. Кроме того, пользовательское «приложение» Dropbox должно продолжать синхронизацию ....
Итак ... чтобы решить эту проблему, я установил bindfs и добавил это в fstab:
/home/app/Dropbox/Sites/siteXXX/folder /app/sites/siteXXX/siteData/shared/folder fuse.bindfs force-user=siteXXX,force-group=siteXXX,perms=0700 0 0
Это дает мне то, что я хочу /app/sites/siteXXX/siteData/shared/folder
: 700 и владение siteXXX
.
Теперь проблема в том, что если я создам файл из приложения, он будет создан с пользователем siteXXX. Dropbox, скорее всего, сможет его прочитать (потому что по умолчанию большинство файлов читаются другими). Но вряд ли он будет обновлять его, если появятся более новые версии, поскольку файл мог быть создан с помощью 644, а Dropbox работает с пользователем ОС «app».
Извините, если объяснение немного запутанное. Есть ли обходной путь для этого? Есть ли способ сохранить оригинал? /home/app/Dropbox/Sites/siteXXX/folder
с пользователем приложения, несмотря ни на что?
Заранее спасибо,
Если я правильно понял вопрос, вам следует проверить Опции --create-for-user и --create-with-perms.