Autofs (Español) - ArchWiki

Jump to content

# Autofs (Español)

From ArchWiki
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#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).

Category:

- File systems (Español)

Autofs (Español)
Add topic