Provided by: autofs_5.1.2-1ubuntu3.2_amd64 bug

NAME

       autofs - Format of the automounter maps

DESCRIPTION

       The  automounter  maps  are FILE, NIS, NISPLUS or LDAP (including LDAP via SSS) referred to by the master
       map of the automounter (see auto.master(5)).  These maps describe how file systems below the mount  point
       of  the  map  (given  in  the  master map) are to be mounted.  This page describes the sun map format; if
       another map format, other than amd , is specified (e.g. hesiod), this documentation does not apply.

       Indirect maps, except for the internal hosts map, can be changed on  the  fly  and  the  automouter  will
       recognize  those  changes on the next operation it performs on that map. Direct maps require a HUP signal
       be sent to the daemon to refresh their contents as does the master map.

SUN FORMAT

       This is a description of the text file format.  Other methods of specifying these files may  exist.   All
       empty lines or lines beginning with # are ignored. The basic format of one line in such maps is:

       key [-options] location

       key
              For  indirect  mounts  this is the part of the path name between the mount point and the path into
              the filesystem when it is mounted. Usually you can think about the key  as  a  sub-directory  name
              below the autofs managed mount point.

              For  direct  mounts  this is the full path of each mount point. This map is always associated with
              the /- mount point in the master map.

       options
              Zero or more options may be given.  Options can also be given in the  auto.master  file  in  which
              case  both  values  are  cumulative  (this is a difference from SunOS).  The options are a list of
              comma separated options as customary for the mount(8) command.

              There are several special options

              -fstype=
                     is used to specify a filesystem type if the filesystem is not  of  the  default  NFS  type.
                     This option is processed by the automounter and not by the mount command.

              -strict
                     is  used  to  treat  errors  when  mounting  file  systems as fatal. This is important when
                     multiple file systems should be mounted (`multi-mounts'). If this option is given, no  file
                     system is mounted at all if at least one file system can't be mounted.

              -use-weight-only
                     is  used to make the weight the sole factor in selecting a server when multiple servers are
                     present in a map entry.  and

              -no-use-weight-only
                     can be used to negate the option if it is present in the master map entry for the  map  but
                     is not wanted for the given mount.

       location
              The  location  specifies from where the file system is to be mounted.  In the most cases this will
              be an NFS volume and the usual notation host:pathname is used to indicate  the  remote  filesystem
              and  path  to  be  mounted.   If  the filesystem to be mounted begins with a / (such as local /dev
              entries or smbfs shares) a : needs to be prefixed (e.g.  :/dev/sda1).

EXAMPLE

       Indirect map:

         kernel    -ro,soft,intr       ftp.kernel.org:/pub/linux
         boot      -fstype=ext2        :/dev/hda1
         windoze   -fstype=smbfs       ://windoze/c
         removable -fstype=ext2        :/dev/hdd
         cd        -fstype=iso9660,ro  :/dev/hdc
         floppy    -fstype=auto        :/dev/fd0
         server    -rw,hard,intr       / -ro myserver.me.org:/ \
                                       /usr myserver.me.org:/usr \
                                       /home myserver.me.org:/home

       In the first line we have a NFS remote mount of the kernel directory on ftp.kernel.org.  This is  mounted
       read-only.   The  second  line  mounts  an  ext2  volume from a local ide drive.  The third makes a share
       exported from a Windows machine available for automounting.  The rest should be fairly  self-explanatory.
       The last entry (the last three lines) is an example of a multi-map (see below).

       If  you  use the automounter for a filesystem without access permissions (like vfat), users usually can't
       write on such a filesystem because it is mounted as user root.  You can solve this problem by passing the
       option  gid=<gid>,  e.g. gid=floppy. The filesystem is then mounted as group floppy instead of root. Then
       you can add the users to this group, and they can write to the filesystem. Here's an example entry for an
       autofs map:

         floppy-vfat  -fstype=vfat,sync,gid=floppy,umask=002  :/dev/fd0

       Direct map:

         /nfs/apps/mozilla             bogus:/usr/local/moxill
         /nfs/data/budgets             tiger:/usr/local/budgets
         /tst/sbin                     bogus:/usr/sbin

FEATURES

   Map Key Substitution
       An  &  character  in  the location is expanded to the value of the key field that matched the line (which
       probably only makes sense together with a wildcard key).

   Wildcard Key
       A map key of * denotes a wild-card entry. This entry is consulted if the specified key does not exist  in
       the map.  A typical wild-card entry looks like this:

         *         server:/export/home/&

       The  special  character '&' will be replaced by the provided key.  So, in the example above, a lookup for
       the key 'foo' would yield a mount of server:/export/home/foo.

   Variable Substitution
       The following special variables will be substituted in the location field of an automounter map entry  if
       prefixed with $ as customary from shell scripts (curly braces can be used to separate the field name):

         ARCH           Architecture (uname -m)
         CPU            Processor Type
         HOST           Hostname (uname -n)
         OSNAME         Operating System (uname -s)
         OSREL          Release of OS (uname -r)
         OSVERS         Version of OS (uname -v)

       autofs provides additional variables that are set based on the user requesting the mount:

         USER           The user login name
         UID            The user login ID
         GROUP          The user group name
         GID            The user group ID
         HOME           The user home directory
         SHOST          Short hostname (domain part removed if present)

       If  a program map is used these standard environment variables will have a prefix of "AUTOFS_" to prevent
       interpreted languages like python from being able to load and execute arbitray  code  from  a  user  home
       directory.

       Additional entries can be defined with the -Dvariable=Value map-option to automount(8).

   Executable Maps
       A  map  can  be  marked  as executable. A program map will be called with the key as an argument.  It may
       return no lines of output if there's an error, or one or more  lines  containing  a  map  entry  (with  \
       quoting line breaks). The map entry corresponds to what would normally follow a map key.

       An  executable map can return an error code to indicate the failure in addition to no output at all.  All
       output sent to stderr is logged into the system logs.

   Multiple Mounts
       A multi-mount map can be used to name multiple filesystems to mount.  It takes the form:

         key [ -options ] [[/] location [/relative-mount-point [ -options ] location...]...

       This may extend over multiple lines, quoting the line-breaks with `\ยด.  If  present,  the  per-mountpoint
       mount-options  are  appended  to  the  default  mount-options.  This  behaviour  may be overridden by the
       append_options configuration setting.

   Replicated Server
       A mount location can specify multiple hosts for a location, portentially with a different export path for
       the  same  file  system.  Historically  these  different  locations  are  read-only  and provide the same
       replicated file system.

         Multiple replicated hosts, same path:
         <path> host1,host2,hostn:/path/path

         Multiple hosts, some with same path, some with another
         <path> host1,host2:/blah host3:/some/other/path

         Multiple replicated hosts, different (potentially) paths:
         <path> host1:/path/pathA host2:/path/pathB

         Mutliple weighted, replicated hosts same path:
         <path> host1(5),host2(6),host3(1):/path/path

         Multiple weighted, replicated hosts different (potentially) paths:
         <path> host1(3):/path/pathA host2(5):/path/pathB

         Anything else is questionable and unsupported, but these variations will also work:
         <path> host1(3),host:/blah

UNSUPPORTED

       This version of the automounter supports direct maps stored in FILE, NIS,  NISPLUS  and  LDAP  (including
       LDAP via SSS) only.

AMD FORMAT

       This  is  a  description  of  the  text file format. Other methods of specifying mount map entries may be
       required for different map sources.  All empty lines or lines beginning with #  are  ignored.  The  basic
       format of one line in such maps is:

       key location-list

       key
              A  key  is a path (or a single path component alone) that may end in the wildcard key, "*", or the
              wildcard key alone and must not begin with the "/" character.

       location-list
              Following the key is a mount location-list.

       A location-list list has the following syntax:

       location[ location[ ... ]] [|| location[ location[ ... ]]

       A mount location-list can use the cut operator, ||, to specify locations that should be tried if none  of
       the locations to the left of it where selected for a mount attempt.

       A mount location consists of an optional colon separated list of selectors, followed by a colon separated
       list of option:=value pairs.

       The selectors that may be used return a value or boolean result.  Those that return a  value  may  be  to
       used  with  the comparison operators == and != and those that return a boolean result may be negated with
       the !.

       For a location to be selected for a mount attempt all of its  selectors  must  evaluate  to  true.  If  a
       location is selected for a mount attempt and succeeds the lookup is completed and returns success. If the
       mount attempt fails the proceedure continues with the next location until they have all been tried.

       In addition some selectors take  no  argumenets,  some  one  argument  and  others  optionally  take  two
       arguments.

       The selectors that take no arguments are:

              arch
                     The machine architecture which, if not set in the confugration, is obtained using uname(2).

              karch
                     The  machine  kernel  architecture which, if not set in the confugration, is obtained using
                     uname(2).

              os
                     The operating system name, if not set in the confugration, is obtained using uname(2).

              osver
                     The operating system version, if not set in the confugration, is obtained using uname(2).

              full_os
                     The full operating system name, if not set in the confugration this selector has no value.

              vendor
                     The operating system vendor name, if not set in the  confugration  this  selector  has  the
                     value "unknown".

              byte
                     The endianness of the hardware.

              cluster
                     The name of the local cluster. It has a value only if it is set in the configuration.

              autodir
                     The  base  path  under  which external mounts are done if they are needed.  Most mounts are
                     done in place but some can't be and this is the base path under which those mounts will  be
                     done.

              domain
                     The  local  domain  name. It is set to the value of the configuration option sub_domain. If
                     sub_domain is not given in the configuration it is set to the domain part of the local host
                     name, as given by gethostname(2).

              host
                     The local host name, without the domain part, as given by gethostname(2).

              hostd
                     The  full  host  name.  If  sub_domain  is  given  in  the configuration this is set to the
                     contatenation of host and sub_domain deperated by a .. If sub_domain  is  not  set  in  the
                     configuration the value of domain is used instead of sub_domain.

              uid
                     The numeric value of the uid of the user that first requested the mount. Note this is usual
                     the same as that used by amd but can be different within autofs.

              gid
                     The numeric value of the gid of the user that first requested the mount. Note this is usual
                     the same as that used by amd but can be different within autofs.

              key
                     The string value of the key being looked up.

              map
                     The string value of the map name used to lookup keys.

              path
                     The string value of the full path to the mount being requested.

              dollar
                     Evaluates to the string "$".

       The selectors that take one argument are:

              in_network(network) ,  network(network) ,  netnumber(network) ,  wire(network)
                     These selectors are all the same. in_network() is the preferred usage. The network argument
                     is an address (which may include a subnet mask) or  network  name.  The  function  compares
                     network  against  each  interface  and  returns  true if network belongs to the network the
                     interface is connected to.

              xhost(hostname)
                     The xhost() selector compares hostname to the ${host} and if it doesn't match  it  attempts
                     to lookup the cannonical name of hostname and compares it to {host} as well.

              exists(filename)
                     Returns true if filename exits as determined by lstat(2).

              true()
                     Evaluates to true, the argument is ignored and may be empty.

              false()
                     Evaluates to false, the argument is ignored and may be empty.

       The selectors that take up to two arguments are:

              netgrp(netgroup[,hostname])
                     The  netgrp()  selector  returns  true if hostname is a member of the netgroup netgroup. If
                     hostname is not given ${host} is used for the comparison.

              netgrpd(netgroup[,hostname])
                     The netgrpd()i selector behaves the same as netgrp() except that if hostname is  not  given
                     ${hostd}, the fully qualified hostname, is used instead of ${host}.

       The options that may be used are:

              type
                     This  is  the mount filesystem type.  It can have a value of auto, link, linkx, host, lofs,
                     ext2-4, xfs, nfs, nfsl or cdfs.  Other types that  are  not  yet  implemented  or  are  not
                     available iin autofs are nfsx, lustre, jfs, program, cachefs and direct.

              maptype
                     The  maptype option specifies the type of the map source and can have a value of file, nis,
                     nisplus, exec, ldap or hesiod. Map sources either not yet implemented or not  available  in
                     autofs are sss, ndbm, passwd and union.

              fs
                     The  option  fs  is  used  to specify the local filesystem. The meaning of this option (and
                     whether or not it is used) is dependent on the mount filesystem type.

              rhost
                     The remote host name for network mount requests.

              rfs
                     The remote host filesystem path for network mount requests.

              dev
                     Must resolve to the device file for local device mount requests.

              sublink
                     The sublink option is used to specify a subdirectory within the  mount  location  to  which
                     this entry will point.

              pref
                     The  pref  option  is  used  to specify a prefix that is prepended to the lookup key before
                     looking up the map entry key.

              opts
                     The opts option is used to specify mount options to be used for the  mount.  If  a  "-"  is
                     given it is ignored.  Options that may be used are dependend on the mount filesystem.

              addopts
                     The  addopts  option  is  used  to specify additional mount options used in addition to the
                     default mount options for the mount location.

              remopts
                     The addopts option is used to specify mount options used instead the options given in  opts
                     when the mount location is on a remote retwork.

       A number of options aren't available or aren't yet implemented
              within autofs, these are:

              cache
                     The cache option isn't used by autofs. The map entry cache is continually updated and stale
                     entries cleaned on re-load when map changes are detected so these configuration entries are
                     not  used.   The  regex  map  key  matching  is  not  implemented and may not be due to the
                     potential overhead of the full map scans needed on every key lookup.

              cachedir
                     The cachefs filesystem is not available on Linux, a different implementation  is  used  for
                     caching network mounted file systems.

              mount ,  unmount ,  umount
                     These options are used by the amd program mount type which is not yet implemented.

              delay
                     This option is not used by the autofs implementation and is ignored.

FEATURES

   Key Matching
       The amd parser key matching is unusual.

       The key string to be looked up is constructed by prepending the prefix, if there is one.

       The  resulting relative path string is matched by first trying the sting itself. If no match is found the
       last component of the key string is replaced with the wilcard match cahracter ("*") and a wildcard  match
       is  attemted.  This process continues until a match is found or until the last match, against the wilcard
       match key alone, fails to match a map entry and the key lookup fails.

   Macro Usage
       Macros are used a lot in the autofs amd implementation.

       Many of the option values are set as macro variables corresponding to the  option  name  during  the  map
       entry  parse.  So  they may be used in subsequent option values. Beware though, the order in which option
       values is not necessarily left to right so you may get unexpected results.

EXAMPLE

       Example NFS mount map:

       Assuming we have the autofs master map entry:

         /test     file,amd:/etc/amd.test

       And the following map in /etc/amd.test:

         /defaults type:=nfs;rhost:=bilbo
         apps      rfs:=/autofs
         util      rhost:=zeus;rfs:=/work/util
         local     rfs:=/shared;sublink:=local

       In the first line we have an NFS remote mount of the exported directory /autofs  from  host  bilbo  which
       would  be  mounted  on /test/apps. Next another nfs mount for the exported directory /work/util from host
       zeus.  This would be mounted on /test/util.

       Finally we have an example of the use of the sublink option. In this case  the  filesystem  bilbo:/shared
       would  be  mounted  on a path external the automount directory (under the direcory given by configuration
       option auto_dir) and the path /test/local either symlinked or bind  mounted  (depending  on  the  setting
       autofs_use_lofs) to the "local" subdirectory of the external mount.

NOTES

       To  be  able to use IPv6 within autofs maps the package must be build to use the libtirpc library for its
       RPC communications. This is becuase the glibc RPC implementation doesn't support IPv6 and  is  depricated
       so this is not likely to change.

SEE ALSO

       automount(8), auto.master(5), autofs(8), autofs.conf(5), mount(8).  autofs_ldap_auth.conf(5)

AUTHOR

       This  manual  page  was written by Christoph Lameter <chris@waterf.org>, for the Debian GNU/Linux system.
       Edited by H.  Peter  Avian  <hpa@transmeta.com>,  Jeremy  Fitzhardinge  <jeremy@goop.org>  and  Ian  Kent
       <raven@themaw.net>.

                                                   9 Feb 2014                                          AUTOFS(5)