Compartir carpetas en Linux con NFS

De Wiki do Pazo da Mercé

Índice

Funcionamento de NFS

O servizo NFS (Network File System) permite compartir directorios entre distintas máquinas Linux.

O funcionamento do sistema NFS baséase na montaxe nun directorio local da máquina cliente do directorio remoto ao que se quere acceder. Unha vez montado o directorio remoto, o cliente accede a el igual que se fose un directorio do seu disco duro local.

Esquema de acceso a unha carpeta compartida por NFS

Instalación do cliente e servidor de NFS

Dentro do sistema de NFS podemos distinguir dous compoñentes:

  • O módulo de cliente NFS, que é necesario para poder montar carpetas compartidas por outros equipos por NFS:
    • En Ubuntu: nfs-common
    • En Mandriva: nfs-utils-clients
  • O módulo de servidor NFS, necesario para poder compartir carpetas por NFS.
    • En Ubuntu: nfs-kernel-server
    • En Mandriva: nfs-utils

Compartir carpetas por NFS

Unha vez instalado o paquete de servidor de NFS, podemos compartir carpetas por NFS utilizando o webmin:

Compartir carpetas por NFS con webmin

Acceder a carpetas compartidas por NFS

Tamén podemos utilizar o webmin para montar por NFS unha carpeta compartida noutro equipo:

Compartir carpetas por NFS con webmin

Seguridade e permisos en NFS

Con NFS podemos utilizar distintas opcións para establecer restriccións de seguridade sobre unha carpeta compartida:

  • Restricción por máquina cliente: Baseándonos na IP, nome de DNS, grupo de NIS ou rede da máquina cliente.
  • Restricción de compartición como só lectura: Podemos indicar que a carpeta se comparta para poder acceder ao seu contido pero non poder modificalo en ningún caso.
  • Restricción por uid do usuario cliente:
    • Cando un cliente monta unha carpeta compartida por NFS, o equipo servidor que comparte a carpeta toma o uid do usuario da máquina cliente como un uid dun usuario local.
    • Con ese uid, aplica os permisos correspondentes que a carpeta ten no sistema Linux.
    • Pode interesarnos desabilitar esta opción, ou evitar que certos usuarios, como por exemplo o root, poidan ser mapeados desta forma por NFS xa que isto pode supoñer un perigo para a seguridade do equipo.
Xestión de permisos nunha carpeta compartida por NFS con webmin

Comandos e ficheiros de configuración

O ficheiro de configuración principal do servizo NFS é /etc/exports. Nel podemos indicar que carpetas queremos exportar por NFS. Haberá unha liña por cada carpeta compartida por NFS co seguinte formato:

Ruta_da_carpeta_compartida   Máquinas_que_poden_acceder_e_outras opcións

Tras cambiar a configuración deste ficheiro podemos aplicar os cambios co comando:

exportfs –a

Dende o cliente, podemos usar o comando mount para montar unha carpeta remota da seguinte forma (tamén podemos usar o ficheiro /etc/fstab para montaxes permanentes):

mount –t nfs IP_máquina_remota:carpeta_compartida directorio_de_montaxe

O comando showmount IP_máquina permítenos ver as carpetas compartidas por NFS dun equipo e o seu uso.

Crear un libro