1AUTOFS(5)                     File Formats Manual                    AUTOFS(5)
2
3
4

NAME

6       autofs - Format of the automounter maps
7

DESCRIPTION

9       The automounter maps are FILE, NIS, NISPLUS or LDAP (including LDAP via
10       SSS) referred to by the master map of the  automounter  (see  auto.mas‐
11       ter(5)).  These maps describe how file systems below the mount point of
12       the map (given in the  master  map)  are  to  be  mounted.   This  page
13       describes  the  sun map format; if another map format, other than amd ,
14       is specified (e.g. hesiod), this documentation does not apply.
15
16       Indirect maps, except for the internal hosts map, can be changed on the
17       fly  and the automouter will recognize those changes on the next opera‐
18       tion it performs on that map. Direct maps require a HUP signal be  sent
19       to the daemon to refresh their contents as does the master map.
20

SUN FORMAT

22       This is a description of the text file format.  Other methods of speci‐
23       fying these files may exist.  All empty lines or lines beginning with #
24       are ignored. The basic format of one line in such maps is:
25
26       key [-options] location
27
28       key
29              For  indirect  mounts  this is the part of the path name between
30              the mount point and the path into  the  filesystem  when  it  is
31              mounted.  Usually you can think about the key as a sub-directory
32              name below the autofs managed mount point.
33
34              For direct mounts this is the full path  of  each  mount  point.
35              This  map  is  always  associated with the /- mount point in the
36              master map.
37
38       options
39              Zero or more options may be given.  Options can also be given in
40              the  auto.master  file  in which case both values are cumulative
41              (this is a difference from SunOS).  The options are  a  list  of
42              comma separated options as customary for the mount(8) command.
43
44              There are several special options
45
46              -fstype=
47                     is used to specify a filesystem type if the filesystem is
48                     not of the default NFS type.  This option is processed by
49                     the automounter and not by the mount command.
50
51              -strict
52                     is  used  to  treat  errors when mounting file systems as
53                     fatal. This  is  important  when  multiple  file  systems
54                     should  be  mounted  (`multi-mounts').  If this option is
55                     given, no file system is mounted at all if at  least  one
56                     file system can't be mounted.
57
58              -use-weight-only
59                     is used to make the weight the sole factor in selecting a
60                     server when multiple servers are present in a map entry.
61
62              -no-use-weight-only
63                     can be used to negate the option if it is present in  the
64                     master  map  entry  for the map but is not wanted for the
65                     given mount.
66
67       location
68              The location specifies from where  the  file  system  is  to  be
69              mounted.   In  the most cases this will be an NFS volume and the
70              usual notation host:pathname is  used  to  indicate  the  remote
71              filesystem  and  path  to  be  mounted.  If the filesystem to be
72              mounted begins with a / (such as local  /dev  entries  or  smbfs
73              shares) a : needs to be prefixed (e.g.  :/dev/sda1).
74

EXAMPLE

76       Indirect map:
77
78         kernel    -ro,soft            ftp.kernel.org:/pub/linux
79         boot      -fstype=ext2        :/dev/hda1
80         windoze   -fstype=smbfs       ://windoze/c
81         removable -fstype=ext2        :/dev/hdd
82         cd        -fstype=iso9660,ro  :/dev/hdc
83         floppy    -fstype=auto        :/dev/fd0
84         server    -rw,hard            / -ro myserver.me.org:/ \
85                                       /usr myserver.me.org:/usr \
86                                       /home myserver.me.org:/home
87
88       In the first line we have a NFS remote mount of the kernel directory on
89       ftp.kernel.org.  This is mounted read-only.  The second line mounts  an
90       ext2  volume  from a local ide drive.  The third makes a share exported
91       from a Windows machine available for automounting.  The rest should  be
92       fairly  self-explanatory.  The  last entry (the last three lines) is an
93       example of a multi-map (see below).
94
95       If you use the automounter for a filesystem without access  permissions
96       (like  vfat), users usually can't write on such a filesystem because it
97       is mounted as user root.  You can solve this  problem  by  passing  the
98       option  gid=<gid>,  e.g.  gid=floppy. The filesystem is then mounted as
99       group floppy instead of root. Then you can add the users to this group,
100       and  they  can  write to the filesystem. Here's an example entry for an
101       autofs map:
102
103         floppy-vfat  -fstype=vfat,sync,gid=floppy,umask=002  :/dev/fd0
104
105       Direct map:
106
107         /nfs/apps/mozilla             bogus:/usr/local/moxill
108         /nfs/data/budgets             tiger:/usr/local/budgets
109         /tst/sbin                     bogus:/usr/sbin
110
111

FEATURES

113   Map Key Substitution
114       An & character in the location is expanded to  the  value  of  the  key
115       field  that  matched the line (which probably only makes sense together
116       with a wildcard key).
117
118   Wildcard Key
119       A map key of * denotes a wild-card entry. This entry  is  consulted  if
120       the specified key does not exist in the map.  A typical wild-card entry
121       looks like this:
122
123         *         server:/export/home/&
124
125       The special character '&' will be replaced by the provided key.  So, in
126       the  example  above,  a lookup for the key 'foo' would yield a mount of
127       server:/export/home/foo.
128
129   Variable Substitution
130       The following special variables will be  substituted  in  the  location
131       field  of an automounter map entry if prefixed with $ as customary from
132       shell scripts (curly braces can be used to separate the field name):
133
134         ARCH           Architecture (uname -m)
135         CPU            Processor Type
136         HOST           Hostname (uname -n)
137         OSNAME         Operating System (uname -s)
138         OSREL          Release of OS (uname -r)
139         OSVERS         Version of OS (uname -v)
140
141       autofs provides additional variables that are set  based  on  the  user
142       requesting the mount:
143
144         USER           The user login name
145         UID            The user login ID
146         GROUP          The user group name
147         GID            The user group ID
148         HOME           The user home directory
149         SHOST          Short hostname (domain part removed if present)
150
151       If a program map is used these standard environment variables will have
152       a prefix of "AUTOFS_" to prevent interpreted languages like python from
153       being  able  to load and execute arbitrary code from a user home direc‐
154       tory.
155
156       Additional entries can be defined with the -Dvariable=Value  map-option
157       to automount(8).
158
159   Executable Maps
160       A  map  can  be marked as executable. A program map will be called with
161       the key as an argument.  It may return no lines of output if there's an
162       error, or one or more lines containing a map entry (with \ quoting line
163       breaks). The map entry corresponds to what would normally follow a  map
164       key.
165
166       An  executable  map can return an error code to indicate the failure in
167       addition to no output at all.  All output sent to stderr is logged into
168       the system logs.
169
170   Multiple Mounts
171       A  multi-mount  map  can be used to name multiple filesystems to mount.
172       It takes the form:
173
174         key [ -options ] [[/] location [/relative-mount-point [ -options ] location...]...
175
176
177       This may extend over multiple lines, quoting the line-breaks with  `\´.
178       If  present,  the  per-mountpoint  mount-options  are  appended  to the
179       default  mount-options.  This  behaviour  may  be  overridden  by   the
180       append_options configuration setting.
181
182   Replicated Server
183       A  mount  location  can  specify multiple hosts for a location, porten‐
184       tially with a different export path for the same file system.  Histori‐
185       cally  these  different  locations  are  read-only and provide the same
186       replicated file system.
187
188         Multiple replicated hosts, same path:
189         <path> host1,host2,hostn:/path/path
190
191         Multiple hosts, some with same path, some with another
192         <path> host1,host2:/blah host3:/some/other/path
193
194         Multiple replicated hosts, different (potentially) paths:
195         <path> host1:/path/pathA host2:/path/pathB
196
197         Mutliple weighted, replicated hosts same path:
198         <path> host1(5),host2(6),host3(1):/path/path
199
200         Multiple weighted, replicated hosts different (potentially) paths:
201         <path> host1(3):/path/pathA host2(5):/path/pathB
202
203         Anything else is questionable and unsupported, but these variations will also work:
204         <path> host1(3),host:/blah
205

UNSUPPORTED

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

AMD FORMAT

211       This  is a description of the text file format. Other methods of speci‐
212       fying mount map entries may be required for different map sources.  All
213       empty  lines or lines beginning with # are ignored. The basic format of
214       one line in such maps is:
215
216       key location-list
217
218       key
219              A key is a path (or a single path component alone) that may  end
220              in the wildcard key, "*", or the wildcard key alone and must not
221              begin with the "/" character.
222
223       location-list
224              Following the key is a mount location-list.
225
226       A location-list list has the following syntax:
227
228       location[ location[ ... ]] [|| location[ location[ ... ]]
229
230       A mount location-list can use the cut operator, ||,  to  specify  loca‐
231       tions  that  should be tried if none of the locations to the left of it
232       where selected for a mount attempt.
233
234       A mount location consists of an optional colon separated list of selec‐
235       tors, followed by a colon separated list of option:=value pairs.
236
237       The selectors that may be used return a value or boolean result.  Those
238       that return a value may be to used with the comparison operators == and
239       != and those that return a boolean result may be negated with the !.
240
241       For  a location to be selected for a mount attempt all of its selectors
242       must evaluate to true. If a location is selected for  a  mount  attempt
243       and  succeeds the lookup is completed and returns success. If the mount
244       attempt fails the procedure continues with the next location until they
245       have all been tried.
246
247       In  addition,  some  selectors take no arguments, some one argument and
248       others optionally take two arguments.
249
250       The selectors that take no arguments are:
251
252              arch
253                     The machine architecture which, if not set in the config‐
254                     uration, is obtained using uname(2).
255
256              karch
257                     The  machine kernel architecture which, if not set in the
258                     configuration, is obtained using uname(2).
259
260              os
261                     The operating system name, if not set in  the  configura‐
262                     tion, is obtained using uname(2).
263
264              osver
265                     The  operating system version, if not set in the configu‐
266                     ration, is obtained using uname(2).
267
268              full_os
269                     The full operating system name, if not set in the config‐
270                     uration this selector has no value.
271
272              vendor
273                     The  operating system vendor name, if not set in the con‐
274                     figuration this selector has the value "unknown".
275
276              byte
277                     The endianness of the hardware.
278
279              cluster
280                     The name of the local cluster. It has a value only if  it
281                     is set in the configuration.
282
283              autodir
284                     The  base  path  under  which external mounts are done if
285                     they are needed.  Most mounts are done in place but  some
286                     can't  be  and  this  is  the base path under which those
287                     mounts will be done.
288
289              domain
290                     The local domain name. It is set to the value of the con‐
291                     figuration  option sub_domain. If sub_domain is not given
292                     in the configuration it is set to the domain part of  the
293                     local host name, as given by gethostname(2).
294
295              host
296                     The local host name, without the domain part, as given by
297                     gethostname(2).
298
299              hostd
300                     The full host name. If sub_domain is given in the config‐
301                     uration  this  is  set  to  the contatenation of host and
302                     sub_domain deperated by a .. If sub_domain is not set  in
303                     the  configuration the value of domain is used instead of
304                     sub_domain.
305
306              uid
307                     The numeric value of the  uid  of  the  user  that  first
308                     requested  the mount. Note this is usual the same as that
309                     used by amd but can be different within autofs.
310
311              gid
312                     The numeric value of the  gid  of  the  user  that  first
313                     requested  the mount. Note this is usual the same as that
314                     used by amd but can be different within autofs.
315
316              key
317                     The string value of the key being looked up.
318
319              map
320                     The string value of the map name used to lookup keys.
321
322              path
323                     The string value of the full  path  to  the  mount  being
324                     requested.
325
326              dollar
327                     Evaluates to the string "$".
328
329       The selectors that take one argument are:
330
331              in_network(network)  ,  network(network) ,  netnumber(network) ,
332              wire(network)
333                     These selectors are all the  same.  in_network()  is  the
334                     preferred  usage.  The  network  argument  is  an address
335                     (which may include a subnet mask) or  network  name.  The
336                     function  compares  network  against  each  interface and
337                     returns true if network belongs to the network the inter‐
338                     face is connected to.
339
340              xhost(hostname)
341                     The xhost() selector compares hostname to the ${host} and
342                     if it doesn't match it attempts to lookup the  cannonical
343                     name of hostname and compares it to {host} as well.
344
345              exists(filename)
346                     Returns true if filename exits as determined by lstat(2).
347
348              true()
349                     Evaluates  to  true,  the  argument is ignored and may be
350                     empty.
351
352              false()
353                     Evaluates to false, the argument is ignored  and  may  be
354                     empty.
355
356       The selectors that take up to two arguments are:
357
358              netgrp(netgroup[,hostname])
359                     The  netgrp() selector returns true if hostname is a mem‐
360                     ber of the netgroup netgroup. If hostname  is  not  given
361                     ${host} is used for the comparison.
362
363              netgrpd(netgroup[,hostname])
364                     The  netgrpd()i  selector  behaves  the  same as netgrp()
365                     except that if hostname is not given ${hostd}, the  fully
366                     qualified hostname, is used instead of ${host}.
367
368       The options that may be used are:
369
370              type
371                     This  is  the mount filesystem type.  It can have a value
372                     of auto, link, linkx, host, lofs, ext2-4, xfs, nfs,  nfsl
373                     or cdfs.  Other types that are not yet implemented or are
374                     not available in autofs are nfsx, lustre,  jfs,  program,
375                     cachefs and direct.
376
377              maptype
378                     The  maptype  option specifies the type of the map source
379                     and can have a value of file, nis, nisplus, exec, ldap or
380                     hesiod.  Map  sources  either  not yet implemented or not
381                     available in autofs are sss, ndbm, passwd and union.
382
383              fs
384                     The option fs is used to specify  the  local  filesystem.
385                     The  meaning  of  this  option  (and whether or not it is
386                     used) is dependent on the mount filesystem type.
387
388              rhost
389                     The remote host name for network mount requests.
390
391              rfs
392                     The  remote  host  filesystem  path  for  network   mount
393                     requests.
394
395              dev
396                     Must  resolve  to  the device file for local device mount
397                     requests.
398
399              sublink
400                     The sublink option is  used  to  specify  a  subdirectory
401                     within the mount location to which this entry will point.
402
403              pref
404                     The  pref  option  is  used  to  specify a prefix that is
405                     prepended to the lookup key before  looking  up  the  map
406                     entry key.
407
408              opts
409                     The  opts  option  is used to specify mount options to be
410                     used for the mount. If a "-"  is  given  it  is  ignored.
411                     Options  that  may  be  used  are  dependend on the mount
412                     filesystem.
413
414              addopts
415                     The addopts option is used to  specify  additional  mount
416                     options used in addition to the default mount options for
417                     the mount location.
418
419              remopts
420                     The addopts option is used to specify mount options  used
421                     instead the options given in opts when the mount location
422                     is on a remote retwork.
423
424       A number of options aren't available or aren't yet implemented
425              within autofs, these are:
426
427              cache
428                     The cache option isn't used  by  autofs.  The  map  entry
429                     cache is continually updated and stale entries cleaned on
430                     re-load when map changes are detected so these configura‐
431                     tion entries are not used.  The regex map key matching is
432                     not implemented and may not be due to the potential over‐
433                     head of the full map scans needed on every key lookup.
434
435              cachedir
436                     The  cachefs filesystem is not available on Linux, a dif‐
437                     ferent implementation is used for caching network mounted
438                     file systems.
439
440              mount ,  unmount ,  umount
441                     These  options  are  used  by  the amd program mount type
442                     which is not yet implemented.
443
444              delay
445                     This option is not used by the autofs implementation  and
446                     is ignored.
447
448

FEATURES

450   Key Matching
451       The amd parser key matching is unusual.
452
453       The key string to be looked up is constructed by prepending the prefix,
454       if there is one.
455
456       The resulting relative path string is matched by first trying the sting
457       itself.  If  no  match is found the last component of the key string is
458       replaced with the wilcard match cahracter ("*") and a wildcard match is
459       attemted.  This  process  continues until a match is found or until the
460       last match, against the wilcard match key alone, fails to match  a  map
461       entry and the key lookup fails.
462
463   Macro Usage
464       Macros are used a lot in the autofs amd implementation.
465
466       Many  of  the option values are set as macro variables corresponding to
467       the option name during the map entry parse. So they may be used in sub‐
468       sequent  option values. Beware though, the order in which option values
469       is not necessarily left to right so you may get unexpected results.
470

EXAMPLE

472       Example NFS mount map:
473
474       Assuming we have the autofs master map entry:
475
476         /test     file,amd:/etc/amd.test
477
478       And the following map in /etc/amd.test:
479
480         /defaults type:=nfs;rhost:=bilbo
481         apps      rfs:=/autofs
482         util      rhost:=zeus;rfs:=/work/util
483         local     rfs:=/shared;sublink:=local
484
485       In the first line we have an NFS remote mount of the exported directory
486       /autofs  from  host  bilbo  which  would be mounted on /test/apps. Next
487       another nfs mount for the exported directory /work/util from host zeus.
488       This would be mounted on /test/util.
489
490       Finally,  we  have an example of the use of the sublink option. In this
491       case the filesystem bilbo:/shared would be mounted on a  path  external
492       the  automount  directory  (under  the  direcory given by configuration
493       option auto_dir) and the path  /test/local  either  symlinked  or  bind
494       mounted  (depending on the setting autofs_use_lofs) to the "local" sub‐
495       directory of the external mount.
496

NOTES

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

SEE ALSO

504       automount(8), auto.master(5), autofs(8), autofs.conf(5), mount(8), aut‐
505       ofs_ldap_auth.conf(5).
506

AUTHOR

508       This manual page was written by Christoph  Lameter  <chris@waterf.org>,
509       for  the Debian GNU/Linux system.  Edited by H. Peter Avian <hpa@trans‐
510       meta.com>,  Jeremy  Fitzhardinge   <jeremy@goop.org>   and   Ian   Kent
511       <raven@themaw.net>.
512
513
514
515                                  9 Feb 2014                         AUTOFS(5)
Impressum