我们最近在工作中部署了多台 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问题已解决;一旦我确定我所做的方法有效,我将立即发布修复程序。