Autofs – Montaje Automático de filesystems en Linux

aff i?offer id=131&file id=2668&aff id=3675

¿Qué es Autofs?

AutoFS es un tipo de sistema de archivos para Linux que se implementa en el espacio del kernel.

Su configuración predeterminada es que el sistema de archivos se monta tan pronto como un cliente lo solicite. Del mismo modo, cuando no hay solicitudes de clientes, AutoFS desmonta el sistema de archivos.

Es frecuente utilizar AutoFS para el montaje automático de filesystems de perfiles de usuarios centralizados con LDAP (/home), el montaje de un filesystem NFS o una imagen ISO, por ejemplo.

Para poder utilizar autofs, es necesario que tengamos instalado el software correspondiente. En RedHat 8, sería el siguiente RPM:

[[email protected] ~]# rpm -qa |grep -i autofs
autofs-5.1.4-48.el8.x86_64
libsss_autofs-2.4.0-9.el8_4.1.x86_64
[[email protected] ~]# 

Configuración de autofs (o automount)

La instalación por defecto crea una serie de ficheros de configuración en /etc, tal y como podemos ver a continuación:

Ficheros de autofs

En el fichero auto.misc tenemos varios ejemplos de configuración de filesystems que podemos utilizar para añadir nuevos filesystems personalizados. Veamos cómo funciona:

[[email protected] etc]# cat auto.misc
#
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage

cd		-fstype=iso9660,ro,nosuid,nodev	:/dev/cdrom

# the following entries are samples to pique your imagination
#linux		-ro,soft,intr		ftp.example.org:/pub/linux
#boot		-fstype=ext2		:/dev/hda1
#floppy		-fstype=auto		:/dev/fd0
#floppy		-fstype=ext2		:/dev/fd0
#e2floppy	-fstype=ext2		:/dev/fd0
#jaz		-fstype=ext2		:/dev/sdc1
#removable	-fstype=ext2		:/dev/hdd

Tal y como comentaba antes, tenemos varias plantillas de configuración para diferentes tipos de filesystems. Si quisiéramos añadir un filesystem nuevo, lo haríamos al final de este fichero.

  Cómo instalar la última versión de LibreOffice en Linux CentOS

Por ejemplo, vamos a añadir la siguiente línea y veamos lo que ocurre:

[[email protected] etc]# tail -1 auto.misc
nfsclient	-ro,soft,intr		192.168.248.137:/nfssrv
[[email protected] etc]# 

Ahora voy a escribir un fichero en el servidor de NFS y voy a ver cómo lo veo en el cliente de NFS (directorio «nfsclient») cuando entro en él:

[[email protected] ~]# systemctl start autofs
[[email protected] ~]# cd /misc/nfsclient
[[email protected] nfsclient]# ls -la
total 0
drwxr-xr-x 2 root root 6 Jul 25 23:25 .
drwxr-xr-x 3 root root 0 Jul 25 23:36 ..
[[email protected] nfsclient]# df -hP .
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        18G  8.7G  9.1G  49% /misc/nfsclient
[[email protected] nfsclient]# touch /nfssrv/test
[[email protected] nfsclient]# ls -la
total 0
drwxr-xr-x 2 root root 18 Jul 25 23:36 .
drwxr-xr-x 3 root root  0 Jul 25 23:36 ..
-rw-r--r-- 1 root root  0 Jul 25 23:36 test
[[email protected] nfsclient]# 

Cuando he ejecutado el comando «cd /misc/nfsclient» este FS se ha montado automáticamente. Os lo demostraré:

  • Paro el servicio autofs:
[[email protected] ~]# systemctl stop autofs
[[email protected] ~]# cd /misc
-bash: cd: /misc: No such file or directory
[[email protected] ~]#

Al pararlo, el directorio /misc se desmonta y elimina automáticamente, tal y como podemos observar.

  • Vuelvo a arrancar el servicio autofs:
[[email protected] ~]# systemctl start autofs
[[email protected] ~]# cd /misc/
[[email protected] misc]# ls -la
total 4
drwxr-xr-x   2 root root    0 Jul 25 23:40 .
dr-xr-xr-x. 23 root root 4096 Jul 25 23:40 ..
[[email protected] misc]# cd nfsclient
[[email protected] nfsclient]# ls -la
total 0
drwxr-xr-x 2 root root 18 Jul 25 23:36 .
drwxr-xr-x 3 root root  0 Jul 25 23:41 ..
-rw-r--r-- 1 root root  0 Jul 25 23:36 test
[[email protected] nfsclient]# 

¿Os habéis fijado en que el directorio «nfsclient» no existía hasta que he ejecutado «cd nfsclient»? Esto ha sido porque autofs lo ha montado automáticamente.

¿Y si no quiero montar mis directorios debajo de /misc?

Para personalizar el path de montaje, utilizaremos otro fichero de configuración distinto:

  • Editamos el fichero auto.master y añadimos la siguiente línea:
[[email protected] etc]# tail -1 auto.master
/- /etc/auto.mount
[[email protected] etc]# 
  • A continuación, editamos el fichero auto.mount personalizando el path que nos interesa:
[[email protected] etc]# cat auto.mount
/nfsclient       -ro,soft,intr           192.168.248.137:/nfssrv
[[email protected] etc]# 

Ahora vamos a probar si el fichero auto.mount funciona correctamente:

[[email protected] ~]# systemctl reload autofs
[[email protected] ~]# cd /nfsclient/
[[email protected] nfsclient]# ls -la
total 4
drwxr-xr-x   2 root root   18 Jul 25 23:36 .
dr-xr-xr-x. 23 root root 4096 Jul 25 23:40 ..
-rw-r--r--   1 root root    0 Jul 25 23:36 test
[[email protected] nfsclient]#

Montaje de un filesystem Samba con usuario y contraseña con autofs

En este caso, utilizaremos el fichero auto.cifs con la siguiente sintaxis:

/samba -fstype=cifs,rw,username=usuario,password=contraseña ://servidor_samba/recurso

Más ejemplos de ayuda de Autofs

Si ejecutamos el comando man autofs y vamos al final de la página, nos encontraremos con la sección «SEE ALSO» o «ver también» y veremos autofs(5).

Otros comandos de ayuda de autofs con man

autofs(5) nos está indicando que revisemos la página 5 del man de autofs. Es decir, si ejecutamos el comando man 5 autofs obtendremos más ayuda sobre el funcionamiento de autofs. En esta ayuda, veremos más ejemplos de uso:

Ejemplos de configuracion de automount con la ayuda de man 5 autofs

Te puede interesar

Montaje de filesystems con Samba

COMPÁRTEME

2 comentarios en «Autofs – Montaje Automático de filesystems en Linux»

  1. Hola,
    entonces se podrían automontar los fs de los usuarios compartidos desde un nfs server?

    Osea, que el home de los usuarios existieran únicamente en un nfs server y que se automontaran automáticamente?

    gracias 😛

    Responder

Deja un comentario