Eu tenho um servidor executando PC-BSD (FreeBSD) 10 e armazenamento puramente ZFS. Criei uma prisão com o Warden e instalei o Samba 4. Provisionei um domínio, usando as opções para ntvfs e rfc2307, conforme recomendado nas configurações do FreeBSD + ZFS. Estou usando dois zpools na minha configuração. O primeiro zpool possui um par espelhado de unidades de 1 TB e contém todos os volumes do sistema operacional e todas as cadeias que eu configurei. O segundo zpool possui quatro pares de unidades de 4 TB, fornecendo armazenamento em massa. Os volumes alocados nesse segundo zpool são presos e montados na cadeia que eu configurei para o Samba. Tudo nessa configuração está funcionando bem, exceto as ACLs. Eu incluí as seguintes opções no meu arquivo smb4.conf, que, se eu entender as coisas corretamente, deverá permitir que o Samba use ACLs do ZFS para armazenar permissões do Windows:
objetos vfs = zfsacl
nfs4: mode = especial
mfs4: acedup = mescla
nfs4: chwon = yes
Também defini aclmode = passthrough e aclinherit = passthrough em todos os volumes ZFS compartilhados pelo Samba. Independentemente do que eu tente, as ACLs do ZFS estão sendo ignoradas. Os usuários do Samba são visíveis (posso efetuar login usando meu nome de usuário e senha do Samba, meu nome de usuário aparece nas listagens de diretórios) e posso atribuir permissões de ACL para outros usuários do Samba aos arquivos usando o comando setfacl. No entanto, o Samba ignora completamente as ACLs do ZFS e todas as ACLs do Windows estão sendo armazenadas em um atributo estendido user.NTACL. Gostaria que as permissões do Windows fossem armazenadas nas ACLs do ZFS, para que o acesso seja consistente entre os usuários conectados através do SSH e os usuários que acessam os compartilhamentos através do Windows.
Estou certo de que isso é apenas o resultado da falta de algum parâmetro ou opção pequena, mas crucial, em algum lugar, e espero que alguém possa me colocar no caminho certo. Se você precisar de mais informações sobre meu sistema, entre em contato e eu postarei.
EDITAR
Bem, depois de vários dias de intensa pesquisa on-line, parece que encontrei o problema - eu estava usando o NTVFS em vez do S3FS. Quando eu estava configurando meu servidor Samba há muitos meses, eu estava tendo problemas com o script de fornecimento de domínio falhando por causa do ZFS. A solução foi adicionar a opção "--use-ntvfs", conforme mencionado em vários guias diferentes. É possível que essa fosse uma opção necessária para a versão do Samba4 que estava atual no momento da instalação, mas parece que o módulo zfsacl não funciona com o NTVFS na versão que estou executando agora (4.0.25). Alterando meu arquivo smb4.conf para usar o S3FS, o módulo zfsacl de repente começou a funcionar.
TL; DR - use S3FS e não NTVFS com o módulo zfsacl