Este tutorial tem por objetivo ensinar a configurar o NFS + NIS no Ubuntu de forma rápida e simples, mas sem deixar de transmitir os conceitos necessários para a aquisição do conhecimento teórico. Antes de configurarmos o NFS e o NIS no GNU/Linux, devemos compreender o que eles são e para o que eles são utilizados.
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) #
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.
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.
[2] Comentário enviado por amarof2009 em 11/10/2009 - 15:23h
Boa tarde,
Já estou a um tempo tentando fazer o compartilhamento de arquivos utilizando o nfs, mas sempre aparece um erro.
Este artigo é excelente, fiz todos os procedimentos orientados mas aparece o seguinte erro:
root@wilton-desktop:~# mount 10.0.0.101:/home/wilton/Documentos/testando/ /home/wilton/sisope/
mount.nfs: mount to NFS server '10.0.0.101:/home/wilton/Documentos/testando/' failed: RPC Error: Program not registered
root@wilton-desktop:~#
Por favor, me ajudem a resolver este problema. Eu já pesquisei em um monte de sites mas não consegui resolver.
Muito obrigado.
[3] Comentário enviado por nox6000 em 11/10/2009 - 17:06h
Caro amarof2009,
Eu acredito que vc esteja montando de seu computador para seu computador isso não foi feito pra funcionar assim.
Isso foi feito para funcionar da seguinte maneira:
Temos um servidor 10.0.0.1 que esta me sedendo a pasta "arquivos" encontrada em /home/usuario/arquivos
e temos a maquina cliente 10.0.0.2 que vai pegar o conteudo via rede e montar em seu diretorio onde este tem que ter permissão para tal.
a montagem de forma manual podera ser assim:
mount 10.0.0.1:/home/usuario/arquivos /home/cliente/Desktop/arq
Ou sejá, estou montando manualmente o conteúdo da pasta "arquivos" do servidor 10.0.0.1 no desktop do computador 10.0.0.2 no "Desktop" mais precisamente na pasta "arq" que esta no "Desktop".
Isso só é possivel após realizar todas as configurações sugeridas por este artigo e se a pasta "arq" do cliente 10.0.0.2 bem como a pasta "arquivos" do sevidor 10.0.0.1 tiver permissão de escrita e leitura.
[4] Comentário enviado por amarof2009 em 11/10/2009 - 18:18h
Não é querendo abusar, nox6000, mas eu acho que digitei o ip correto.
Para comprovar, quando digito ifconfig na maquina que seria o servidor(como você explicou, onde está a pasta sedida) aparece o seguinte:
wilton@wilton-laptop:~$ ifconfig
eth0 Link encap:Ethernet Endereço de HW 00:03:0d:77:37:b1
UP BROADCAST MULTICAST MTU:1500 Métrica:1
pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
IRQ:16 Endereço de E/S:0x2000
lo Link encap:Loopback Local
inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACK RUNNING MTU:16436 Métrica:1
pacotes RX:78 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:78 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:0
RX bytes:5968 (5.9 KB) TX bytes:5968 (5.9 KB)
[6] Comentário enviado por nox6000 em 11/10/2009 - 19:58h
Caro amarof2009,
Este ip que esta me informando é o ip da sua placa de rede sem fio e não da sua placa de rede com fio.
Este artigo foi feito para computadores que utilizam placa de rede com fio. "Rede com Fio".
as placas de rede com fio são as placas denominadas eth0, eth1, eht3 ... ethN.
as placas de rede sem fio são Wlan0 e etc.
Bem o que quiz explicar da ultima vez e vou tentar tornar explicar é que vc tem dois compudadores Computador 1 - É o servidor que tem o endereço da placa com o IP X e este tem a pasta que foi compartilhada atraves da configuração do "NFS" este computador tem uma placa "ethN" ou seja uma placa de rede com fio.
Computador 2 -É o cliente este é o compudador com o endereço IP Y onde este tem a placa de rede "ethN" e que vai acessar via "NFS" o servidor "Computador 1" e conseguir montar um diretorio que contenha os arquivos do computador 1 no computador 2 que é o cliente.
Se vc estiver usando rede sem fio nos dois ai vc tera que estudar melhor e ver se realmente os dois computadores estão se comunicando para depois realizar a configuração do NFS tanto no computador 1 quanto no 2.
[12] Comentário enviado por aislan_santos em 03/12/2012 - 16:24h
ola
sou novo com o linux estou configurando NFS quando startei o serviço, apareceu a seguinte mensagem:
* Exporting directories for NFS kernel daemon ...
exportfs: no options for /home/server/teste*(rw,sync,root_no_squash) : sugest (sync) to avoid warning
exportfs: \etc\exports [1]: Neithet "subtree_check" or "no_subtree_check" specified for export "/home/server/teste*(rw,sync,root_no_squash"
assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x
exportfs: failed to stat /home/server/teste*(rw,sync,root_no_squash) : no such file or directory
[ok]
* Starting NFS kernel daemon [ok]
[15] Comentário enviado por usiel em 29/12/2013 - 14:27h
Com o Debian 7.3 funciona perfeitamente.
Eu uso ubuntu 13.04 como cliente e nele não aparece opção pra eu digitar o nome de um usuário do servidor, aparecem apenas opções pra eu escolher os usuários da máquina local (cliente); quando eu faço no terminal o login com usuário do servidor, funciona perveitamente.
Vale lembra que usi este tutorial abaixo:
NIS Servidor
1. instalando: apt-get install nis
2. Adicione a seguinte linha ao hosts.allow:
portmap ypserv ypbind : list of IP addresses
Onde a "lista de endereços IP" string é, você precisa fazer uma lista de endereços IP que consiste no servidor e todos os clientes. Estes têm de ser endereços IP por causa de uma limitação no portmap (ele não gosta de nomes de host).
3. Edit /etc/default/nis e definir a linha NISSERVER para NISSERVER=master
4. Edit /etc/yp.conf and add a server line of the form:
domain <domainname> server <servername>
onde: <domainname> é o nome do domínio (flap.local), e <servername> é o nome do servidor.
5. Edit /etc/ypserv.securenets e adicionar linhas para restringir o acesso a membros do domínio. Eu uso linhas para máquinas específicas, como:
host 192.168.1.1
host 192.168.1.2
etc.
6. Construir o DB, pela primeira vez, execute:
sudo /usr/lib/yp/ypinit -m
7. reiniciar serviços: /etc/init.d/ypbind restart
8. sempre que fizer alguma alteração (adicionar usuários), execute este comando:
sudo make -C /var/yp
NIS Cliente
1. Adicionar servidor em /etc/hosts. Isso significa que você ainda pode encontrar o servidor se houver uma falha de DNS.
2.instalar o nis
sudo apt-get install nis
3. defina o nome do seu dominio NIS editando o arquivo /etc/defaultdomain, acrescente uma linha com o nome do doínio (flap.local)
nano /etc/defaultdomain
4. adicione uma linha portmap em /etc/hosts.allow por razões de segurança:
portmap : <endereço IP do servidor NIS> (ou nome de máquina do servidor)
5. acrescente esta linha no arquivo /etc/passwd
+::::::
6. acrescente esta linha no arquivo /etc/group
+:::
7. acrescente esta linha no arquivo /etc/shadow
+::::::::
8. Edite /etc/yp.conf e adicione a linha:
ypserver <endereço IP do servidor NIS> (ou nome de máquina do servidor)
9. No arquivo /etc/pam.d/common-session. Será necessário incluir a linha abaixo. Esta alteração irá criar a pasta home do usuário automaticamente no primeiro logon:
session required pam_mkhomedir.so skel=/etc/skel/ umask=077
10. editar: nano /etc/nsswitch.conf e adicionar alterar linhas para:
[17] Comentário enviado por eutugite em 27/04/2015 - 20:06h
desculpem a minha ignorância. isto deve ser o mais basico que há, mas não sei.
a configuração do servidor nis e nis cliente é feito na mesma máquina ou o nis server é feito na máquina servidor e o nis cliente na máquina cliente.
outra questão, o ubuntu desktop é apenas para a máquina cliente.
sei que as minhas perguntas são do mais basico que existe, mas estou a começar o linux. ando um pouco perdida.
obrigado