A configuração do NFS no servidor consiste de três simples passos.
1° passo:
Baixar o pacote nfs-kernel-server utilizando o comando:
# apt-get install nfs-kernel-server
Estando como root no shell.
2° passo:
Definir qual pasta será compartilhada pela rede. Para isso é necessário editar o arquivo/etc/exports. Estando como root, no shell, digite:
# vi /etc/exports
E pressione "enter". Deverá ser mostrado um arquivo que poderá estar vazio ou cheio de comentários como estes:
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
Os comentários são definidos quando, no início da linha, aparece um "#", que diz que tudo que vem após ele é um comentário e não deverá ser levado em conta pelo sistema. Bem, dentro deste arquivo basta inserirmos no final dele o diretório que desejamos compartilhar e que tipo de acesso permitiremos dentro do mesmo.
Ficará assim:
/diretório_a_ser_compartilhado tipo_de_acesso_permitido Exemplo:
/home/ *(rw,sync,no_root_squash)
Obs.: "*" (asterisco) define que todos da rede terão permissão de acesso ao diretório. "rw" poderão ler, gravar e apagar o conteúdo do diretório no_root_squash, o root do servidor também poderá se logar remotamente.
Para definir apenas alguns usuários específicos a terem permissão de acesso ao compartilhamento, basta que no lugar do "*" seja colocado o IP da máquina que você deseja que tenha acesso aos arquivos. Se desejar somente leitura, no lugar de "rw" coloque "ro". Feito sua configuração basta salvar o arquivo pressionar "Esc", depois ":" (dois pontos) e digitar "wq", por fim pressione "enter".
3° passo:
Estando ainda no shell, como root, vá ao diretório /etc/init.d e dentro dele digite:
# ./nfs-kernel-server start
Isso iniciará o servidor com nossas configurações preestabelecidas, deixando-o pronto para compartilhar a pasta que definimos, bem como as máquinas que poderão acessá-la.
Agora que já temos um servidor NFS configurado e rodando, devemos definir no(s) cliente(s) quais máquinas na rede estão cedendo o direito de acessar arquivos, pastas, dispositivos etc.
Para isso teremos dois simples passos a seguir.
1° passo:
Instalar o pacote nfs-common no(s) cliente(s) digitando:
# apt-get install nfs-common
2° passo:
Após instalado o pacote nfs-common no cliente, existem duas formas de fazer a configuração. Uma é fazer de forma que ela só irá funcionar naquela hora e depois que o computador for desligado não irá mais funcionar; e outra é uma forma permanente.
Primeira forma:
Basta, estando no shell, como root, digitarmos o comando mount seguido do IP do servidor mais o diretório que ele está nos cedendo e definirmos em qual lugar no nosso computador montaremos, ou seja, criar o link que nos direcionará para o diretório que está no servidor em algum lugar na rede... Fascinante, hauhauah.
Exemplo:
# mount 192.168.10.101:/home /home
Traduzindo... ;-)
Estou dizendo que quero que no meu home seja montado o acesso ao diretório /home que está na máquina 192.168.10.101 da rede.
Obs.: Esta foi a forma que, ao reiniciar o computador, este ponto de montagem desaparecerá, sendo necessário remontá-lo novamente.
Segunda forma:
Estando no shell, como root, digite:
# vim /etc/fstab
Dentro do arquivo aparecerá algo semelhante a isto:
# /etc/fstab: static file system information.
#
# Use 'vol_id --uuid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/host/ubuntu/disks/root.disk / ext3 loop,errors=remount-ro 0 1
/host/ubuntu/disks/boot /boot none bind 0 0
/host/ubuntu/disks/swap.disk none swap loop,sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
#
# Use 'vol_id --uuid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/host/ubuntu/disks/root.disk / ext3 loop,errors=remount-ro 0 1
/host/ubuntu/disks/boot /boot none bind 0 0
/host/ubuntu/disks/swap.disk none swap loop,sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
No final do arquivo basta adicionarmos uma linha com o IP do servidor mais o diretório que ele está nos cedendo acesso e mais algumas configurações, ficando assim:
192.168.10.101:/home /home nfs rw,bg,tcp,rsize=32768,wsize=32768,hard,nointr,nolock,noac,timeo=600,user,auto 0 0
Feito sua configuração, basta salvar o arquivo. Pressione "Esc", depois dois pontos ":" e digite "wq" e aperte "Enter". Onde estamos dizendo ao sistema o seguinte: toda vez que o computador for ligado execute a montagem do diretório do servidor no meu home, assim essa configuração nunca desaparecerá quando desligarmos o PC. ;-)
Muito bom para não termos que dar o mount toda hora.