autofs - Format of the automounter maps


   The automounter maps are FILE, NIS, NISPLUS or LDAP maps 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.


   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

          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.

          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

                 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.

                 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.

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

                 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.

          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).


   Indirect map:

     kernel    -ro,soft,intr
     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 \
                                   /usr \

   In the first line we have a NFS remote mount of the kernel directory on   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


   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

   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

   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

   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


   This  version  of  the automounter supports direct maps stored in FILE,
   NIS, NISPLUS and LDAP only.


   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

          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.

          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:

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

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

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

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

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

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

                 The endianness of the hardware.

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

                 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.

                 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).

                 The local host name, without the domain part, as given by

                 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.

                 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.

                 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.

                 The string value of the key being looked up.

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

                 The  string  value  of  the  full path to the mount being

                 Evaluates to the string "$".

   The selectors that take one argument are:

          in_network(network) ,  network(network) ,  netnumber(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.

                 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.

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

                 Evaluates to true, the argument is  ignored  and  may  be

                 Evaluates  to  false,  the argument is ignored and may be

   The selectors that take up to two arguments are:

                 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.

                 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:

                 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.

                 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.

                 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.

                 The remote host name for network mount requests.

                 The   remote  host  filesystem  path  for  network  mount

                 Must resolve to the device file for  local  device  mount

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

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

                 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

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

                 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:

                 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.

                 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.

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


   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


   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.


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


   This manual page was written by Christoph  Lameter  <>,
   for   the   Debian   GNU/Linux   system.   Edited  by  H.  Peter  Avian
   <>, Jeremy Fitzhardinge <> and Ian Kent

                              9 Feb 2014                         AUTOFS(5)


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.