Autofs (Español)

From ArchWiki
Estado de la traducción: esta traducción de Autofs fue revisada el 2021-03-15. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Autofs provee montado automático para medios extraíbles y recursos de red cuando estos son insertados o accedidos.

Instalación

Instale el paquete autofsAUR.

Nota: Ya no es necesario que cargue el modulo autofs4.

Configuración

AutoFs ocupa los archivos de plantilla para la configuración que están ubicados en /etc/autofs. La plantilla principal se llama auto.master, y esta puede hacer referencia a una o más plantillas para distintos tipos de dispositivos.

  • Abra el archivo /etc/autofs/auto.master con su editor de texto favorito, va a ver algo así:
/etc/autofs/auto.master
#/media /etc/autofs/auto.media

El primer valor en cada linea determina el directorio base en donde todos los dispositivos en la plantilla van a ser montados, el segundo valor es la plantilla que se va a usar. El directorio base por defecto es /media, pero puede cambiarlo a la dirección que prefiera. Por ejemplo:

/etc/autofs/auto.master
/media/misc     /etc/autofs/auto.misc     --timeout=5
/media/net      /etc/autofs/auto.net      --timeout=60
Nota: Asegúrese que haya una linea vacía al final de los archivos de plantilla (presione INTRO después de ultima palabra). Si no hay una linea EOF correcta (final de archivo, en inglés: end of file), el demonio de AutoFS no va a cargar correctamente.
Sugerencia: El parámetro opcional timeout establece la cantidad de segundos que debe esperar para desmontar los directorios. Puede desactivar esta espera estableciéndolo a 0.

El directorio base va a ser creado sí es que no existe en su sistema. El directorio base va a ser montado para cargar dinámicamente los dispositivos, lo que significa que cualquier contenido en el directorio base no podrá accederse mientras autofs esté activado. Este procedimiento no es destructivo, así que sí se monta automáticamente en un directorio que está ocupando, simplemente puede cambiar la dirección en auto.master y reiniciarlo para acceder a sus archivos.

Si aún así quiere montar automáticamente en un directorio que no esté vacío y tener acceso a los archivos incluso después que los directorios sean cargados dinámicamente, puede hacer que autofs los monte en otro directorio (p.ej /var/autofs/net) y los enlace.

# ln -s /var/autofs/net/nombre_del_dispocitivo /media/nombre_del_dispositivo

Alternativamente, puede hacer que autofs monte sus dispositivos en una carpeta especifica, en vez de hacerlo en una carpeta en común.

/etc/autofs/auto.master
/-     /etc/autofs/auto.template
/etc/autofs/auto.template
/path/to/folder     -options :/device/path
/home/user/usbstick  -fstype=auto,async,nodev,nosuid,umask=000  :/dev/sdb1
Nota: Esto puede causar problemas sí es que los recursos queden trabados sí se pierde la conexión. Cuando se intente acceder a la carpeta, los programas se va a bloquear mientras esperan una respuesta, y la conexión tiene que ser o restaurada o cortada de manera forzosa para que se pueda desmontar. Para mitigar esto, Solo úselo sí es que puede estar siempre conectado al dispositivo, y no ocupe su carpeta home o alguna otra que sea usada regularmente por su explorador de archivos, para que no lea la carpeta desconectada.
  • Abra el archivo /etc/nsswitch.conf y añada una entrada para montarlo automáticamente:
automount: files
  • Cuando termine de configurar sus plantillas (vea más abajo), inicie el demonio de AutoFS como root habilitándolos e iniciando el servicio autofs.service.

Ahora los dispositivos son montados automáticamente cuando son accedidos, y se mantendrán montados mientras los acceda.

Medios extraíbles

A los dispositivos extraíbles se les asigna su ubicación en los dispositivos de bloques según el que esté disponible, p.ej. sí /dev/sd{a,b,c} ya están ocupados, al siguiente dispositivo extraíble se le va a asignar el bloque /dev/sdd. En vez de asignar un punto de montaje a la ubicación de un dispositivo de bloques impredecible, una alternativa más robusta es usar el UUID (Identificación Universalmente Única) o el PARTUUID (Identificación Universalmente Única de la PARTE) del dispositivo extraíble como la ubicación a la que se le asigna el archivo.

Por ejemplo, para montar una unidad USB especifico a la ubicación /mnt/black, configure el archivo de plantilla y el de asignado:

/etc/autofs/auto.master
# master template file
/mnt     /etc/autofs/auto.mnt   # [ponga aquí las opciones]

Use blkid para encontrar el UUID de la partición a montar, y genere el archivo de asignado:

 # _ID=$( blkid --output value --match-tag PARTUUID /dev/sdXY )
 # printf "%s %s\n" "black -fstype=auto :PARTUUID=" "${_ID}" >/etc/autofs/auto.mnt

Montado de red NFS

AutoFS puede descubrir y montar automáticamente recursos NFS en servidores remotos (la plantilla de red de AutoFS en /etc/autofs/auto.net fue removida en autofs5). Para habilitar el descubrimiento y montado automático de recursos compartidos en todos los servidores disponibles sin tener que configurar nada mas, tendrá que añadir lo siguiente a el archivo /etc/autofs/auto.master:

/net -hosts --timeout=60
Nota: Todos los nombres de host deben ser resolvibles, p.ej. el nombre y la dirección IP en /etc/hosts o a través de DNS y asegúrese que tiene nfs-utils instalado y configurado. También tiene que habilitar rpcbind para navegar los directorios compartidos.

Por ejemplo, sí tiene un servidor remoto llamado servidor (el nombre del directorio es el nombre del servidor) con un dispositivo NFS llamado /home/share, usted puede acceder a esté escribiendo:

# cd /net/servidor/home/share
Nota: Tome en cuenta que el ghosting (es decir: crear automáticamente directorios provisorios antes de montar los recursos) está activado por defecto; Aunque las notas de instalación de AutoFS digan que se debe sacar esa opción de /etc/conf.d/autofs para iniciar el demonio de AutoFS.

La opción -hosts usa un mecanismo similar al del comando showmount para detectar recursos compartidos. Usted puede ver los recursos exportados escribiendo:

# showmount <servername> -e 

Reemplazando <servername> con el nombre de su servidor.

Configuración manual para NFS

Para montar un dispositivo NFS para el servidor_de_archivos en /srv/shared_dir en la ubicación /mnt/foo, añada un nuevo archivo de configuración, p.ej file_server.autofs:

/etc/autofs/auto.master.d/servidor_de_archivos.autofs
/mnt   /etc/autofs/auto.servidor_de_archivos --timeout 60
/etc/autofs/auto.servidor_de_archivos
foo  -rw,soft,rsize=8192,wsize=8192 servidor_de_archivos:/srv/shared_dir

Samba

Un solo recurso

Añada lo siguiente a /etc/autofs/auto.master:

/media/[servidor] /etc/autofs/auto.[servidor] --timeout 60 --browse

Donde --timeout define cuantos segundos se tienen que esperar antes de desmontar el sistema de archivos. La opción --browse crea carpetas vacías para cada punto de montaje en el archivo, para prevenir tiempos de espera sí es que no se puede contactar con el recurso compartido.

Después, cree el archivo /etc/autofs/auto.[servidor]

[nombre] -fstype=cifs,[otras_opciones] ://[servidor_remoto]/[nombre_del_servidor_remoto]

Usted puede especificar un nombre de usuario y contraseña para ocupar con el recurso en la sección otras_opciones:

[nombre] -fstype=cifs,username=[nombre_de_usuario],password=[contraseña],[otras_opciones] ://[servidor_remoto]/[nombre_del_servidor_remoto]
Nota: Escape $, y otros caracteres cuando sea necesario.

Múltiples recursos

Puede especificar múltiples recursos en /etc/autofs/auto.[servidor], por ejemplo:

[nombre] -fstype=cifs,[otras_opciones] /photos ://[servidor_remoto]/photos /music ://[servidor_remoto]/music /video ://[servidor_remoto]/video

Descubrimiento automático

Vea los comentarios en /etc/autofs/auto.smb.

FTP y SSH (con FUSE)

Puede acceder servidores FTP y SSH sin problemas AutoFS usando FUSE, la implementación de un sistema de archivos virtual.

FTP remoto

Primero, instale el paquete curlftpfs.

Cargue el modulo fuse:

# modprobe fuse

Cree un archivo /etc/modules-load.d/fuse.conf que contenga fuse para que lo cargue en cada inicio.

Después, añada una nueva entrada para los servidores FTP en /etc/autofs/auto.master:

/media/ftp        /etc/autofs/auto.ftp    --timeout=60

Cree el archivo /etc/autofs/auto.ftp y añada un servidor usando el formato ftp://usuario:contraseña@host:puerto/ruta:

nombre_del_servidor -fstype=curl,rw,allow_other,nodev,nonempty,noatime    :ftp\://usuario\:contraseña\@servidor_remoto
Nota: Sus contraseñas serán visibles para cualquiera que ejecute df (solo en los servidores montados) o vea el archivo /etc/autofs/auto.ftp.

Si quiere una opción ligeramente más segura, cree el archivo ~root/.netrc y añada ahí las contraseñas. Las contraseñas siguen en texto plano, pero puede ponerles el modo 600, y el comando df no las va a mostrar (montado o no). Este método también es menos sensible a los caracteres especiales (los que, sí no, deben ser escapados) en las contraseñas. El formato es:

machine servidor_remoto
login usuario
password contraseña

La linea en /etc/autofs/auto.ftp se ve así sin el usuario ni la contraseña:

nombre_del_servidor -fstype=curl,allow_other    :ftp\://servidor_remoto

Cree el archivo /sbin/mount.curl con este código:

/sbin/mount.curl
 #! /bin/sh
 curlftpfs $1 $2 -o $4,disable_eprt

Cree el archivo /sbin/umount.curl con este código:

/sbin/umount.curl
 #! /bin/sh
 fusermount -u $1

Establezca los permisos para ambos archivos:

# chmod 755 /sbin/mount.curl
# chmod 755 /sbin/umount.curl

Después de un reinicio, su servidor FTP debería ser accesible a través de /media/ftp/nombre_del_servidor.

SSH remoto

Aquí tiene instrucciones básicas de como acceder a un sistema de archivos a través de SSH con AutoFS.

Nota: La autenticación sin contraseña puede ser conveniente, pero también tiene implicaciones de seguridad. Vea Llaves SSH para más detalles.

Instale el paquete sshfs.

Cargue el modulo fuse:

# modprobe fuse

Cree un archivo /etc/modules-load.d/fuse.conf que contenga fuse para que lo cargue en cada inicio sí es que no tiene uno aun.

Instale openssh.

Genere unas llaves SSH:

$ ssh-keygen

Cuando el generador le pida una contraseña, solo presione INTRO. Usar llaves SSH sin una contraseña es menos seguro, aún así, ejecutar AutoFS con contraseña posee dificultades adicionales que no están cubiertas (aun) en este articulo.

Después, copie la llave publica al servidor SSH:

$ ssh-copy-id nombre_de_usuario@host_remoto

Vea sí puede iniciar sección en el servidor remoto como root:

# ssh nombre_de_usuario@host_remoto
Nota: Esto va a añadir el servidor remoto a la lista de known_hosts (hosts conocidos) del usuario root. Los hosts también pueden ser añadidos manualmente a /etc/ssh/ssh_known_hosts.

Cree una nueva entrada para los servidores SSH en /etc/autofs/auto.master:

/media/ssh		/etc/autofs/auto.ssh	--timeout=60

Cree el archivo /etc/autofs/auto.ssh y añada un servidor SSH:

/etc/autofs/auto.ssh
nombre_del_servidor     -fstype=fuse,rw,allow_other,IdentityFile=/home/nombre_de_usuario/.ssh/id_rsa :sshfs\#nombre_de_usuario@host\:/

Después de un reinicio, su servidor SSH debería ser accesible a través de /media/ssh/nombre_del_servidor.

MTP

El Protocolo de Transmisión de Medios (MTP) es usado en algunos dispositivos android.

Instale el paquete mtpfs.

Cree una nueva entrada para el dispositivo MTP en /etc/autofs/auto.misc:

android -fstype=fuse,allow_other,umask=000     :mtpfs

Solución de problemas y ajustes

Esta sección tiene algunas soluciones para problemas comunes de AutoFS.

Usando NIS

La versión 5.0.5 de AutoFS tiene un soporte más avanzado para NIS. Para usar AutoFS en conjunto con NIS, añada yp: adelante de los nombres de las plantillas en /etc/autofs/auto.master:

/home   yp:auto_home    --timeout=60 
/sbtn   yp:auto_sbtn    --timeout=60
+auto.master

En versiones anteriores de NIS (antes de la 5.0.4), usted debía añadir nis a /etc/nsswitch.conf:

automount: files nis

Parámetros opcionales

Puede establecer parámetros como timeout en el sistema para todos los recursos AutoFS en /etc/default/autofs:

  • Abra el archivo /etc/default/autofs y edite la linea OPTIONS:
OPTIONS='--timeout=5'
  • Para activar el registro (por defecto no se registra nada), descomente y añada --verbose a la linea OPTIONS en /etc/default/autofs p.ej.:
OPTIONS='--verbose --timeout=5'

Después de reiniciar el demonio autofs, la salida detallada va a ser visible con systemctl status o en journalctl.

Identificado múltiples dispositivos

Si utiliza varias unidades USB y quiere poder distinguirlas fácilmente, puede hacer que AutoFS maneje los puntos de montado y que Udev cree nombres distintos para sus unidades USB. Vea udev (Español)#Configurar nombres estáticos para los dispositivos para obtener instrucciones de como configurar reglas udev.

Permisos de AutoFS

Si AutoFS no le está funcionando, asegúrese que los archivos de plantillas tengan los permisos correctos, sí no, AutoFS no va a iniciar. Esto puede suceder sí hizo un respaldo de esos archivos de una manera que no preserva los modos de sus archivos. Aquí salen los modos que deberían tener los archivos de configuración:

  • 0644 - /etc/autofs/auto.master
  • 0644 - /etc/autofs/auto.media
  • 0644 - /etc/autofs/auto.misc
  • 0644 - /etc/conf.d/autofs

En general, los scripts (como el previo auto.net) deberían tener los bits ejecutables (chmod a+x nombre_de_archivo) puestos y las listas de montados no.

Si tiene errores en /var/log/daemon.log similares a este, tiene un problema con los permisos:

May  7 19:44:16 peterix automount[15218]: lookup(program): lookup for petr failed
May  7 19:44:16 peterix automount[15218]: failed to mount /media/cifs/petr

Problemas con fusermount

Con algunas versiones de util-linux, puede que no pueda desmontar un sistema de archivos fuse montado por autofs, incluso sí tiene la opción "user=". Vía la discusión aquí: [1].

Depurando problemas de automontado

Para una mejor depuración, usted puede intentar montando automáticamente en primer plano:

# systemctl stop autofs.service
# automount -f -v

O, sí quiere más información de depuración, use:

# automount -f --debug

Alternativas a AutoFS

  • Systemd (Español) puede montar sistemas de archivos automáticamente bajo demanda; vea aquí para la descripción y el articulo de sshfs para un ejemplo.
  • Administrador del Volumen Thunar es un sistema de montado automático para el gestor de archivos Thunar.
  • PCManFM es un gestor de archivos ligero con soporte incluido para acceder a recursos de red.
  • Udisks es servicio de montado automático de discos minimalista.

Véase también

  • Uso de FTP y SFTP con AutoFS está basado en este articulo de la Wiki de Gentoo: [2].
  • Mas información de SSH puede ser encontrada en las paginas SSH y SSH Keys de esta wiki.
  • La ayuda de AutoFS de Ubuntu esta en [3].
  • Para opciones especificas para el montado de los sistemas de archivos, vea [4].
  • Para opciones de montado especificas para fuse, vea [5].