Permitir que o aplicativo use o volume compartilhado da rede, desde que o aplicativo saiba o endereço ou caminho do volume

2

Estou portando um aplicativo do Windows para o Linux (especificamente o Ubuntu 14.04). O aplicativo precisa gravar dados em um volume compartilhado da rede em um NAS.

No Windows, meu aplicativo pode acessar o volume compartilhado do SMB3 no NAS, desde que essas condições sejam atendidas:

  1. conhece o caminho UNC do volume compartilhado do SMB3
  2. a conta na qual o aplicativo é executado é autorizada (ou seja, o mesmo nome de usuário e senha entre o cliente e o servidor).

Eu não preciso de uma etapa extra de montagem ou mapeamento do volume compartilhado do SMB3 do aplicativo.

É possível obter um efeito semelhante no Linux? O ponto importante é que não quero tocar em fstab ou autofs, se possível. Eu quero a configuração para o meu aplicativo ser centralizado. Se eu tiver que modificar as regras fstab ou setup autofs, então eu estou começando a espalhar a configuração por todo o lugar, do ponto de vista da minha aplicação. O volume compartilhado da rede é somente usado por este aplicativo específico; O resto do sistema não se importa.

O NAS suporta SMB2 / 3 ou NFSv3 / v4 e não tenho opinião sobre o uso de um protocolo sobre outro.

    
por Kal 01.09.2016 / 04:14

1 resposta

0

Você não precisa de acesso root para montar sistemas de arquivos, graças ao FUSE . Existe um driver FUSE para o Samba: smbnetfs .

Eu não usei muito e foi há muito tempo, mas lembro que não é totalmente simples configurar se o servidor tem peculiaridades. Isso pode ou não ser um problema, dependendo da sua configuração e do quanto o seu NAT se desvia do protocolo básico. Você precisa fornecer uma lista de servidores ou domínios que ele acessará.

Como alternativa, vincule seu aplicativo às bibliotecas GVfs . (Isso não requer o uso de bibliotecas Gnome para sua interface de usuário.) Você precisa usar as funções GIO em vez de open ou fopen , e dessa forma você pode especificar arquivos sobre backends alternativos incluindo o smb. GVfs requer reescrever alguns de seus aplicativos em vez de apenas acessar um diretório específico, mas tem o benefício de não precisar de nenhuma configuração além do fornecimento das credenciais (geralmente gravando-as em gnome-keyring ).

    
por 02.09.2016 / 09:21