sexta-feira, 10 de abril de 2009

Como compartilhar pastas entre sistemas Linux

Um tutorial simples de como compartilhar diretórios no linux para estações linux. Primeiramente são necessários dois pacotes, um no servidor e um no cliente, lembrando que no servidor é onde eu vou compartilhar a pasta e no cliente é onde eu vou acessar a pasta compartilhada.
No servidor é preciso instalar o pacote nfs-kernel-server, para isso digite como root:
# apt-get install nfs-kernel-server

No cliente é preciso instalar o pacote nfs-common, para isso digite como root:
# apt-get install nfs-common

Após a instalação vem a parte da configuração, o que não é tão complicado.
No servidor temos que dizer qual o diretório estamos compartilhando, qual o nível de acesso a esse diretório e quem pode acessar esse compartilhamento.
Para isso basta editar o arquivo /etc/exports no servidor e configurá-lo da seguinte forma:
#exemplos
/home/fulano/Desktop 192.168.1.*(rw)
/var/log/ Desktop-01 (ro)

Na primeira linha o diretório Desktop do usuário fulano está sendo compartilhado com permissão de escrita para todos as estações com IP iniciando por 192.168.1.
Na segunda linha o diretório /var/log está sendo compartilhado apenas para a estação desktop-01 com permissão somente de leitura.

Para aplicar as alterações no arquivo exports, execute " exportfs -ra " ou reinicie o serviço NFS server (/etc/init.d/nfs-kernel-server restart).

E no cliente?
Bom, como o nfs é um tipo de sistema de arquivos, para o cliente acessar os diretórios compartilhados será preciso montar o diretório compartilhado pelo servidor em um diretório local, assim como é feito com discos rígidos, pendrives, mp3, cdrom, etc.... Supondo que o endereço IP do servidor seja 192.168.1.3 o comando a ser executado no cliente para montar o primeiro compartilhamento seria esse:

#mount -t nfs 192.168.1.3:/home/fulano/Desktop /mnt

A partir daí o diretório Desktop do usuário fulano da máquina de IP 192.168.1.3 (servidor) será acessado do diretório /mnt da estação cliente.

Para verificar quais diretórios estão compartilhados no servidor execute o comando:
# exportfs

Lembre-se de dar as devidas permissões de acesso local aos arquivos e diretórios a serem acessados via compartilhamento.

3 comentários:

Luciano disse...

Lembre-se de dar as devidas permissões de acesso local aos arquivos e diretórios a serem acessados via compartilhamento."

Fiz todo o procedimento e deu certo,mas esse eu não sei como fazer.
Print de como está a situação:http://img714.imageshack.us/img714/3052/capturadetelas.png

Felipe Augusto disse...

Então luciano, o comando para esses acessos é o chmod. Você pode usá-lo da seguinte forma:
#chmod 777 -R /diretorio

Unknown disse...

Felipe, muito bom seu post, de fácil entendimento porem no ultimo comando deu problema, na hora de montar a pasta no linux cliente ele fica pensando, pensando depois aparece timed out, ou seja, tempo esgotado.

Tenho feito teste de ping desde que comecei e sempre funciona, porem falta os dois se verem na rede.

Estou há dias nisso já...
Cassio