Eu tenho um servidor rodando PC-BSD (FreeBSD) 10 e puramente armazenamento ZFS. Eu criei uma cadeia com Warden e instalei o Samba 4. Eu provisionei um domínio, usando as opções para ntvfs e rfc2307 como recomendado para as configurações do FreeBSD + ZFS. Eu estou usando dois zpools na minha configuração. O primeiro zpool tem um par espelhado de unidades de 1 TB e contém todos os volumes para o sistema operacional e qualquer cadeia que eu configurei. O segundo zpool tem quatro pares de unidades de 4 TB que fornecem armazenamento em massa. Os volumes alocados a partir deste segundo zpool são presos e montados na cadeia que eu configurei para o Samba. Tudo sobre essa configuração está funcionando bem, exceto pelas ACLs. Eu incluí as seguintes opções no meu arquivo smb4.conf, que se eu entendi as coisas corretamente, deve permitir que o Samba use as ACLs do ZFS para armazenar as permissões do Windows:
objetos vfs = zfsacl
nfs4: mode = special
mfs4: acedup = merge
nfs4: chwon = yes
Também defini aclmode = passthrough e aclinherit = passthrough em todos os volumes do ZFS que estão sendo 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 fazer login usando meu nome de usuário e senha do Samba, meu nome de usuário aparece nas listagens de diretório) e posso atribuir permissões de ACL para outros usuários do Samba a arquivos usando o comando setfacl. No entanto, o Samba está ignorando completamente as ACLs do ZFS e todas as ACLs do Windows estão sendo armazenadas em um atributo estendido user.NTACL. Eu gostaria que as permissões do Windows fossem armazenadas nas ACLs do ZFS, de modo que o acesso fosse consistente entre os usuários logados através do SSH e os usuários acessando os compartilhamentos através do Windows.
Tenho certeza de que isso é apenas o resultado da minha 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 alguma informação no meu sistema, me avise e eu postarei.
EDITAR
Bem, depois de vários dias de pesquisas intensas on-line, pareço ter encontrado o problema - eu estava usando o NTVFS em vez do S3FS. Quando eu estava configurando meu servidor Samba muitos meses atrás, eu estava tendo problemas com a falha do script de provisão de domínio por causa do ZFS. A solução foi adicionar a opção "--use-ntvfs" conforme mencionado em vários guias diferentes. É possível que esta seja uma opção necessária para a versão do Samba4 que estava atual no momento em que eu estava instalando, mas parece que o módulo zfsacl não funciona com o NTVFS na versão que estou executando agora (4.0.25). Ao alterar o arquivo smb4.conf para usar o S3FS, o módulo zfsacl começou a fazer o que aconteceu.
TL; DR - use o S3FS e não o NTVFS com o módulo zfsacl