通过 samba 共享 S3 存储挂载:权限被拒绝

通过 samba 共享 S3 存储挂载:权限被拒绝

我们最近在工作中部署了多台 S3 存储服务器。但由于硬件/软件陈旧,并非所有客户都能使用 S3 存储。

我们尝试通过创建一个 samba“代理”来解决这个问题,该代理会挂载 S3 存储设备,然后共享挂载到 Windows 网络。

samba 和 s3fs 似乎都配置正确;我可以挂载 S3 存储点,并且可以将目录转换为 samba 共享。但是,当我尝试从 s3fs 挂载点创建 samba 共享时,Windows 报告“权限被拒绝”。

samba.log并没有提供太多信息,只是说chdir (/s3mounts/dvoijen) failed, reason: Permission denied

我尝试将 fstab 中的 umask 设置为 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问题已解决;一旦我确定我所做的方法有效,我将立即发布修复程序。

相关内容