Autofs (Español)
Autofs provee montado automático para medios extraíbles y recursos de red cuando estos son insertados o accedidos.
Instalación
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
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.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
- 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
/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
/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]
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
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.
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
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 lineaOPTIONS
:
OPTIONS='--timeout=5'
- Para activar el registro (por defecto no se registra nada), descomente y añada
--verbose
a la lineaOPTIONS
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#Setting static device names 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 mount(8) § FILESYSTEM-SPECIFIC MOUNT OPTIONS.
- Para opciones de montado especificas para fuse, vea mount.fuse(8).