https://manuais.iessanclemente.net/index.php?title=Instalaci%C3%B3n_do_servidor_NFS._Exportaci%C3%B3ns&feed=atom&action=historyInstalación do servidor NFS. Exportacións - Historial de revisiones2024-03-29T04:38:11ZHistorial de revisiones de esta página en el wikiMediaWiki 1.36.2https://manuais.iessanclemente.net/index.php?title=Instalaci%C3%B3n_do_servidor_NFS._Exportaci%C3%B3ns&diff=62598&oldid=prevCarrion: /* Exportar os recursos compartidos do servidor */2017-10-07T11:05:05Z<p><span dir="auto"><span class="autocomment">Exportar os recursos compartidos do servidor</span></span></p>
<p><b>Página nueva</b></p><div>==Introdución==<br />
*Xa temos a estrutura de carpetas creada no servidor e agora só queda '''exportala''' (Compartila).<br />
<br />
<br />
== Instalación do servidor NFS ==<br />
Simplemente teremos que instalar o paquete correspondente co servidor NFS:<br />
'''apt-get install nfs-kernel-server <br />
Lendo as listas de paquetes... Feito<br />
Construindo a árbore de dependencias <br />
Lendo a información do estado... Feito<br />
Os seguintes paquetes NOVOS hanse instalar:<br />
nfs-kernel-server<br />
0 anovados, 1 instalados, Vanse retirar 0 e deixar 0 sen anovar.<br />
... <br />
A configurar nfs-kernel-server (1:1.2.6-4) ...<br />
<br />
Creating config file /etc/exports with new version<br />
<br />
Creating config file /etc/default/nfs-kernel-server with new version<br />
[ ok ] Starting NFS common utilities: statd idmapd.<br />
Processing triggers for systemd (215-17+deb8u5) ...<br />
<br />
== O ficheiro de exportación/compartición do servidor NFS: /etc/exports ==<br />
<br />
* O ficheiro '''/etc/exports''' é o que recolle a definición das distintas carpetas compartidas polo servidor nfs e os parámetros dos recursos compartidos.<br />
'''cat /etc/exports <br />
# /etc/exports: the access control list for filesystems which may be exported<br />
# to NFS clients. See exports(5).<br />
#<br />
# Example for NFSv2 and NFSv3:<br />
'''# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)<br />
#<br />
# Example for NFSv4:<br />
'''# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)<br />
'''# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)<br />
#<br />
<br />
*O propio ficheiro xa nos indica cuns exemplos como debemos facer se queremos usar a versión 3 de NFS, que é a que imos usar, e a versión 4 con Kerberos (non imos ver kerberos nesta edición ao ver Samba 4 nunha parte posterior).<br />
<br />
<br />
*Cada liña deste ficheiro define:<br />
**A carpeta do sistema de ficheiros que se comparte (exporta) por NFS,<br />
**Unha lista, opcional, separada por espazos en branco de todos os clientes que están autorizados a acceder a esa carpeta.<br />
***A cada cliente da lista se lle poden indicar unha serie de opcións de acceso entre parénteses, separadas por comas.<br />
***No ficheiro que se inclúe por defecto no paquete podemos ver algunhas entradas de exemplo (nótese que están comentadas, xa que comezan polo símbolo '''#'''), como a seguinte:<br />
<br />
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)<br />
<br />
*Esta compartición, comentada, exportaría:<br />
**unha carpeta ficticia ''/srv/homes'' ás máquinas<br />
*** ''hostname1'' con lectura e escritura sobre o recurso<br />
***e ''hostname2'', con so lectura sobre o recurso compartido<br />
<br />
<br />
* Podemos incluír unha liña neste ficheiro para cada carpeta que queiramos compartir por NFS no servidor. Remitimos ao lector ao manual do ficheiro ''exports'' (http://linux.die.net/man/5/exports) para consulta das distintas opcións posibles na compartición ('''man exports''' tamén ofrece axuda sobre os distintos parámetros e cales son por defecto).<br />
<br />
*Unha vez modificado o ficheiro '''/etc/exports''', aplicaremos os cambios mediante o comando '''exportfs -ra'''. Non é preciso reiniciar o servizo salvo que non estea iniciado.<br />
<br />
* A continuación imos ver algunhas das opcións máis importantes que podemos establecer cando compartimos unha carpeta por NFS:<br />
** '''Versión de NFS''': <br />
***se indicamos directamente á carpeta a compartir estamos indicando NFSv3, <br />
***Se desexamos máis velocidade, kerberos, etc, debemos usar NFSv4 e para iso as carpetas a compartir compártense indirectamente a través de outras.<br />
** '''Directorio a exportar''': Indicaremos a rota da carpeta/directorio do servidor que queremos exportar (compartir).<br />
** '''Exportar a...''': Nesta opción podemos indicar que máquinas poderán acceder a esta compartición, para o que teremos varias posibilidades:<br />
*** '''Todo o mundo''': Pódese acceder á carpeta dende calquera máquina, incluso de fóra da nosa rede. Por cuestións de seguridade, non é recomendable usar esta opción.<br />
*** '''Máquina(s)''': Nesta opción pode indicarse o nome dunha ou varias máquinas, usando comodín como o '''*''' e o '''?'''. Por exemplo, *.iescalquera.local autorizaría o acceso a calquera máquina que tivese un nome dentro dese dominio DNS.<br />
*** '''Rede IPv4''': A opción máis recomendable, na que podemos indicar a dirección IP e máscara dunha rede ou subrede para restrinxir o acceso á carpeta só aos equipos dese rede. O habitual será que esa rede sexa a nosa rede local.<br />
**'''Opcións'''<br />
*** '''Solo lectura (ro)''': Opción por defecto. Permítenos indicar os usuarios poderán só ler sobre a carpeta compartida, independentemente dos permisos que teñan fisicamente sobre a mesma.<br />
***'''Escritura (rw)''': Permítenos indicar aos usuarios que poderán ler e escribir sobre o recurso compartido.<br />
*** '''no_subtree checking''': Opción por defecto. Fai que o servidor NFS cando recibe unha petición de acceso a un ficheiro comprobe os permisos de acceso sobre ese ficheiro/carpeta e non, tamén, sobre toda a árbore da que colga o que suporía unha elevada carga de traballo. Esa opción sería ''subtree_check'', habería que indicala explicitamente e suporía unha elevada carga de traballo no servidor.<br />
*** '''Mapeado de IDs de usuario''': Podemos indicar se o ''root'' dun cliente pode ou non acceder aos recursos compartidos como se fora o root do servidor. Tamén podemos indicar que conecte quen se conecte a un recurso que sempre o conecte como se fora o usuario co id 100, por exemplo:<br />
****'''no_root_squash''': esta opción pode ser moi cómoda e perigosa á vez, pois permite que un usuario ''root'' dun equipo cliente poida actuar sobre o contido dos recursos compartidos e montados no cliente, como se fora o root do servidor, aínda que non teña permiso explícito sobre un cartafol ou ficheiro. Iso é moi cómodo, pero moi perigoso porque pode que non saibamos que usuarios do cliente poden pasar a root e actuar como tal. A opción por defecto é '''root_squash'''.<br />
****'''anouid''', serve para indicar que todo usuario que se conecta a un recurso compartido vai comportarse como se fora o usuario con id X do servidor. Por defecto esta opción non está habilitada.<br />
<br />
==Exportar os recursos compartidos do servidor==<br />
Engadimos ao ficheiro '''/etc/exports''':<br />
<br />
<br />
<syntaxhighlight lang="bash" enclose="div" line highlight="11,12"><br />
# /etc/exports: the access control list for filesystems which may be exported<br />
# to NFS clients. See exports(5).<br />
#<br />
# Example for NFSv2 and NFSv3:<br />
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_$<br />
#<br />
# Example for NFSv4:<br />
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)<br />
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)<br />
#<br />
/home/iescalquera 172.16.5.0/255.255.255.0(rw)<br />
/comun 172.16.5.0/255.255.255.0(rw)<br />
</syntaxhighlight><br />
<br />
*Hai que (re)iniciar o servizo.<br />
<br />
'''service nfs-kernel-server restart<br />
<br />
*Comprobar o que está exportando o servidor:<br />
'''exportfs -v<br />
/home/iescalquera 172.16.5.0/255.255.255.0(rw,wdelay,root_squash,no_subtree_check,sec=sys,rw,root_squash,no_all_squash)<br />
/comun 172.16.5.0/255.255.255.0(rw,wdelay,root_squash,no_subtree_check,sec=sys,rw,root_squash,no_all_squash)<br />
<br />
*Observar as opcións coas que se realiza cada compartición:<br />
**''rw'': posta de forma explícita no ficheiro ''/etc/exports''<br />
**''wdelay'': por defecto, indica que se o servidor ve que unha escritura de disco pode vir seguida doutra, espera a ter unhas cantas e realizas nunha soa operación.<br />
**''root_squash'': o root do cliente non vai poder acceder ao contido das comparticións salvo que, algún ficheiro/carpeta teña concedidos permisos a "others"<br />
**''no_subtree_check'': cando se accede a un obxecto no cliente non se comproban todos os permisos da árbore da que colga.<br />
**''sec=sys'': Modo de autenticación por defecto, sen cifrado.<br />
**''no_all_squash'': Opción por defecto que evita que se mapeen todos os usuarios como o usuario anónimo.<br />
<br />
<br />
*A partir de agora, unha vez que o servizo NFS está iniciado, xa non é preciso reinicialo cada vez que fagamos cambios en ''/etc/exports'' podemos usar:<br />
'''exportfs -ra<br />
<br />
*Aconséllase reiniciar o servidor para asegurarse de que se aplican os cambios.<br />
<br />
<br />
<br />
<br />
-- [[Usuario:antonio| Antonio de Andrés Lema]] e [[Usuario:Carrion| Carlos Carrión Álvarez]]</div>Carrion