Я пытаюсь смонтировать хранилище облачного хранилища Google с помощью плагина Google Fuse и поделиться им через Samba.
Крепление ковша работает нормально. Я использую следующую команду:
gcsfuse --uid 1001 --gid 1002 --only-dir data -o allow_other bucket-name /mnt/bucket/data
Флаг -o allow_other
необходим, поскольку пользователю samba необходим доступ к каталогу.
Моя конфигурация общего ресурса samba приведена ниже.
[myshare]
path = /mnt/bucket/data
valid users = %U
writable = yes
durable handles = yes
kernel oplocks = no
kernel share modes = no
posix locking = no
ea support = yes
browseable = yes
read only = No
inherit acls = yes
Теперь, похоже, все работает. Я могу создавать файлы в смонтированном облачном хранилище, если я подключен к серверу с помощью ssh. Я даже могу подключиться к общему ресурсу samba и прочитать все файлы.
Есть только одна проблема. И это действительно странно. Если я пытаюсь загрузить файлы через samba напрямую, происходит сбой (код ошибки -50 в mac finder, разрешение запрещено cp). Но, как ни странно, файл, который я пытаюсь загрузить, создается на общем ресурсе как пустой файл. Поэтому мне кажется, что мне разрешено создавать файлы, как будто они созданы, но клиент, похоже, не понимает этого и не может загрузить файл целиком.
Есть ли проблема с моей настройкой? Разве нельзя использовать совместно установленные диски с предохранителями через самбу?