На работе мы недавно развернули несколько серверов хранения S3. Однако не все наши клиенты могут работать с хранилищем S3 из-за устаревшего оборудования / программного обеспечения.
Мы попытались обойти эту проблему, создав «прокси-сервер» самбы, который монтирует устройства хранения S3, а затем совместно использует это подключение в сети Windows.
Кажется, что и samba, и s3fs настроены правильно; Я могу монтировать точки хранения S3 и превращать каталоги в общие ресурсы самбы. Однако, когда я пытаюсь создать общий ресурс samba из точки монтирования s3fs, Windows сообщает об отказе в разрешении.
samba.log
не намного информативнее, просто говоря chdir (/s3mounts/dvoijen) failed, reason: Permission denied
Я пробовал установить umask в fstab на 000, но это не помогло.
Соответствующая строка fstab:
dvoijen /s3mounts/dvoijen fuse.s3fs _netdev,noauto,url=https://s3-eu01.{redacted}/,passwd_file=/etc/passwd-s3fs-dvoijen,umask=000 0 0
Соответствующий блок smb.conf:
[dvoijen]
comment = S3 bucket dvoijen
path = /s3mounts/dvoijen/
valid users = "@SYSTEMECCLOUD\Domain Admins"
admin users = "@SYSTEMECCLOUD\Domain Admins"
force group = "Domain Admins"
browseable = yes
writable = yes
read only = no
inherit acls = yes
inherit permissions = yes
force create mode = 0660
create mask = 0777
directory mask = 0777
force directory mode = 0770
access based share enum = yes
hide unreadable = yes
(Да, я знаю, возможные проблемы с безопасностью, мы будем беспокоиться о них, как только они заработают и до того, как они будут запущены в производство)
Я почти уверен, что упускаю что-то до боли очевидное, но не могу понять, что именно.
ОБНОВИТЬ: Стремясь устранить возможные ошибки, мы переместили общий ресурс samba в /s3mounts/
, который работает нормально, за исключением того, что при открытии общего ресурса не отображается точка монтирования, когда он монтируется (это видно, когда к нему не подключена корзина S3). Теперь я все больше и больше убеждаюсь, что где-то упускаю проблему с разрешением, но что?
Новый конфиг:
[s3mounts]
comment = S3 buckets
path = /s3mounts/
valid users = "@SYSTEMECCLOUD\Domain Admins"
admin users = "@SYSTEMECCLOUD\Domain Admins"
force group = "Domain Admins"
browseable = yes
writable = yes
read only = no
inherit acls = yes
inherit permissions = yes
force create mode = 0660
create mask = 0777
directory mask = 0777
force directory mode = 0770
access based share enum = yes
hide unreadable = yes
РЕДАКТИРОВАТЬ 2 Проблема решена; Я отправлю исправление, как только буду уверен, почему то, что я сделал, сработало.