No trabalho, implantamos recentemente vários servidores de armazenamento S3. No entanto, nem todos os nossos clientes têm a capacidade de trabalhar com armazenamento S3 devido a hardware / software antigo.
Nós tentamos contornar o problema criando um "proxy" do samba que monta os dispositivos de armazenamento do S3 e, em seguida, compartilha a montagem na rede do Windows.
O samba e o s3fs parecem estar configurados corretamente; Eu posso montar os pontos de armazenamento do S3 e posso transformar diretórios em compartilhamentos de samba. No entanto, quando tento fazer um compartilhamento de samba fora do ponto de montagem s3fs, o windows relata uma "permissão negada".
samba.log
não é muito mais informativo, apenas dizendo chdir (/s3mounts/dvoijen) failed, reason: Permission denied
Eu tentei configurar o umask no fstab para 000, mas não teve efeito.
Linha fstab relevante:
dvoijen /s3mounts/dvoijen fuse.s3fs _netdev,noauto,url=https://s3-eu01.{redacted}/,passwd_file=/etc/passwd-s3fs-dvoijen,umask=000 0 0
Bloco smb.conf relevante:
[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
(Sim, eu sei, possíveis problemas de segurança, vamos nos preocupar com eles assim que tivermos funcionando e antes de serem implantados em produção)
Tenho certeza que estou sentindo falta de algo dolorosamente óbvio, mas não consigo descobrir o que é.
UPDATE : Em um esforço para eliminar possíveis erros, mudamos o compartilhamento do samba para /s3mounts/
, o que funciona bem, exceto que abrir o compartilhamento não mostra o ponto de montagem quando é montado ( é visível quando o balde S3 não está montado nele). Estou cada vez mais convencido de que estou perdendo um problema de permissão em algum lugar, mas o que?
Nova configuração:
[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
EDIT 2 O problema foi resolvido; Vou postar a correção assim que tiver certeza do motivo pelo qual trabalhei.