Melhor maneira de montar a pasta remota

34

Eu tenho dois RasberryPi executando o debian wheezy e gostaria de montar uma pasta do computador A no computador B.

Qual é a melhor maneira (como é mais eficiente) de fazer isso?

Eu posso fazer isso via SMB, mas isso é para windows, eu acho que deve haver uma maneira melhor de compartilhar através do linux.

    
por cjburkha 26.01.2013 / 21:12

4 respostas

26

Você pode usar muitas coisas, entre as quais opções populares são:

  • NFS
  • Samba / CIFS
  • SSHFS

Por facilidade de configuração eu acho que eles teriam que ser colocados nesta ordem (top: mais fácil)

SSHFS

Através do FUSE, você pode montar sistemas de arquivos remotos via ssh. Não vou cobrir como, como Cristopher já explicou muito bem isso. Apenas observe que, para montar o arquivo automaticamente, será necessário um pouco mais de trabalho .

Samba

Ele permitirá que você use máquinas Windows e Unix para acessar a pasta remota. Se não é um grande negócio para você, então você provavelmente não irá se beneficiar dele. No entanto, é fácil montá-lo automaticamente no init (basta inserir os valores apropriados em /etc/fstab , incluindo username=<your-samba-username>,password=<your-samba-password> na coluna de opções.

NFS

Ele permitirá que você autentique apenas via IP (nenhum nome de usuário = mais rápido, somente de uso dentro de sua não-hostil LAN) ou via Kerberos Tickets (muito doloroso para apenas dois Raspberries; mas útil em ambientes corporativos).

Como ele tem suporte ao modo kernel, ele será executado mais rapidamente que o sshfs. Além disso, como não há nenhuma criptografia realizada , ela terá uma taxa de transferência melhor e, no caso da minúscula Raspberry ARM, isso pode fazer a diferença.

Além disso, não é tão difícil de configurar, simplesmente você confia na sua rede. Você também tem suporte a automount em /etc/fstab e não precisa colocar dados confidenciais (como nomes de usuário ou senhas) e, se tiver seus nomes de usuário sincronizados (mesmos arquivos /etc/passwd e /etc/group ), poderá usar o o conjunto de ferramentas de permissões POSIX usual ( chown , chgrp e chmod ).

    
por 27.01.2013 / 00:04
35

SSHFS é maravilhoso; ele pode montar diretórios remotos em um diretório local.

Você pode instalar o ssh em ambos os lados:

# apt-get install ssh

No lado do cliente, ou ambos os lados, se desejar, instale utilitários sshfs e fusíveis:

# apt-get install fuse-utils sshfs

Primeiro, verifique se o módulo fuse foi carregado.

# lsmod | grep fuse

Se você obtiver um resultado, o módulo foi carregado. Caso contrário, carregue o módulo do kernel sem reiniciar:

# modprobe fuse

Crie um ponto de montagem para o sistema de arquivos remoto:

# mkdir /mnt/directory-name
# chown your-user:group /mnt/directory-name/

Verifique as permissões de /dev/fuse . As permissões devem fornecer à sua conta de usuário regular acesso de leitura / gravação.

# ls -l /dev/fuse

A saída pode ser algo como um dos seguintes:

crw-rw-rw- 1 root root (all users can read/write)
crw------- 1 root fuse (only root can read/write)
crw-rw---- 1 root fuse (root and members of fuse group can read/write)

Em 2013, meu Debian criou /dev/fuse com 0600 permissions, owner (root), group owner (fuse). Então eu deixo o grupo de fusíveis usar o dispositivo, como mostrado abaixo. (Ignore esta parte se seu usuário regular já tiver permissão de leitura / gravação em /dev/fuse .)

Adicione o nome de usuário ao grupo de fusíveis:

# usermod -a -G fuse [your-user]
# chmod 0660 /dev/fuse

Se você precisar adicionar sua conta de usuário a um grupo, faça o logout e volte a se inscrever para se tornar membro do grupo. Então, como o usuário regular ...

$ sshfs remote-username@remote-server-name: /mnt/directory-name/

Para montar um diretório diferente de home, especifique-o após os dois pontos:

$ sshfs remote-username@remote-server-name:/remote/directory /mnt/directory-name

Desmontar:

fusermount -u /mnt/directory-name

Os comandos acima usam # para indicar que foi feito como o usuário root, e o $ indica que foi feito como um usuário comum.

Se você tiver uma máquina Windows, ela também poderá usar o SSHFS com win-sshfs . Este software irá "mapear uma unidade" com SSHFS, para que você possa ter uma letra de unidade do Windows que contenha o diretório remoto.

Atualização de 9 de outubro de 2018 :

Parece que, para o Ubuntu 18, os utilitários de fusível já podem estar instalados ou o software é instalado como resultado da instalação de outro software que depende do software do fusível. Pode-se fazer o seguinte no Ubuntu 18.x.

apt-get install sshfs

Em qualquer caso, o nome do pacote no Ubuntu 18.x é fuse .

    
por 26.01.2013 / 21:44
7

No linux, você escolheria NFS (veja também o artigo em archwiki sobre ele que pode ter informações aplicáveis para sua distribuição também). Tem recursos mais avançados que o samba. Se você precisar bloquear (ou seja, acesso simultâneo) arquivos, você também deve procurar lockd porque o nfs é stateless. No entanto, é mais difícil de configurar do que o smb. Eu sugeriria tentar samba e nfs para ver qual deles atende às suas necessidades.

    
por 26.01.2013 / 21:15
1

Já usei a unidade de rede SFTP e o ExpanDrive no passado e posso dizer que o sshfs supera os dois sem uma pergunta.

    
por 05.11.2015 / 21:20