auto_master
—
auto_master and map file format
The automounter configuration consists of the
auto_master
configuration file, which assigns
filesystem paths to map names, and maps, which contain actual mount
information. The auto_master
configuration file is
used by the
automount(8)
command. Map files are read by the
automountd(8)
daemon.
The auto_master
file consists of lines
with two or three entries separated by whitespace and terminated by newline
character:
mountpoint map_name [-options]
mountpoint is either a fully specified
path, or /-
. When mountpoint
is a full path, map_name must reference an indirect
map. Otherwise, map_name must reference a direct
map. See MAP SYNTAX below.
map_name specifies map to use. If
map_name begins with -
, it
specifies a special map. See MAP SYNTAX
below. If map_name is not a fully specified path (it
does not start with /
),
automountd(8)
will search for that name in /etc
. Otherwise it will
use the path as given. If the file indicated by
map_name is executable,
automountd(8)
will assume it is an executable map. See
MAP SYNTAX below. Otherwise, the file
is opened and the contents parsed.
-options is an optional field that starts
with -
and can contain generic filesystem mount
options.
The following example specifies that the /etc/auto_example
indirect map will be mounted on /example.
Map files consist of lines with a number of entries separated by
whitespace and terminated by newline character:
key [-options] [mountpoint [-options]] location [...]
In most cases, it can be simplified to:
key is the path component used by
automountd(8)
to find the right map entry to use. It is also used to form the final
mountpoint. A wildcard (‘*
’) can be
used for the key. It matches every directory that does not match other keys.
Those directories will not be visible to the user until accessed.
The options field, if present, must begin
with -
. When mounting the filesystem, options
supplied to auto_master
and options specified in the
map entry are concatenated together. The special option
fstype
is used to specify filesystem type. It is not
passed to the mount program as an option. Instead, it is passed as an
argument to mount -t
. The default
fstype
is
‘nfs
’. The special option
nobrowse
is used to disable creation of top-level
directories for special and executable maps.
The optional mountpoint field is used to
specify multiple mount points for a single key.
The location field specifies the filesystem
to be mounted. Ampersands (‘&
’) in
the location field are replaced with the value of
key. This is typically used with wildcards, like:
The location field may contain references to
variables, like:
sys 192.168.1.1:/sys/${OSNAME}
Defined variables are:
ARCH
- Expands to the output of
uname -p
.
CPU
- Same as ARCH.
DOLLAR
- A literal $ sign.
HOST
- Expands to the output of
uname -n
.
OSNAME
- Expands to the output of
uname -s
.
OSREL
- Expands to the output of
uname -r
.
OSVERS
- Expands to the output of
uname -v
.
Additional variables can be defined with the
-D
option of
automount(8)
and
automountd(8).
To pass a location that begins with /
,
prefix it with a colon. For example, :/dev/cd0
.
This example, when put into
/etc/auto_example, and with
auto_master
referring to the map as described above,
specifies that the NFS share
192.168.1.1:/share/example/x
will be mounted on
/example/x/ when any process attempts to access that
mountpoint, with intr
and
nfsv4
mount options, described in
mount_nfs(8):
x -intr,nfsv4 192.168.1.1:/share/example/x
Automatically mount an SMB share on access, as a guest user,
without prompting for a password:
share -fstype=smbfs,-N ://@server/share
Automatically mount the CD drive on access:
cd -fstype=cd9660 :/dev/cd0
Special maps have names beginning with -
.
Supported special maps are:
-hosts
- Query the remote NFS server and map exported shares. This map is
traditionally mounted on /net. Access to files on
a remote NFS server is provided through the
/net/nfs-server-ip/share-name/
directory without any additional configuration. Directories for individual
NFS servers are not present until the first access, when they are
automatically created.
-media
- Query devices that are not yet mounted, but contain valid filesystems.
Generally used to access files on removable media.
-noauto
- Mount filesystems configured in
fstab(5)
as "noauto". This needs to be set up as a direct map.
-null
- Prevent
automountd(8)
from mounting anything on the mountpoint.
It is possible to add custom special maps by adding them, as
executable maps named special_foo, to the
/etc/autofs/ directory.
If the map file specified in auto_master
has the execute bit set,
automountd(8)
will execute it and parse the standard output instead of parsing the file
contents. When called without command line arguments, the executable is
expected to output a list of available map keys separated by newline
characters. Otherwise, the executable will be called with a key name as a
command line argument. Output from the executable is expected to be the
entry for that key, not including the key itself.
Indirect maps are referred to in
auto_master
by entries with a fully qualified path
as a mount point, and must contain only relative paths as keys. Direct maps
are referred to in auto_master
by entries with
/-
as the mountpoint, and must contain only fully
qualified paths as keys. For indirect maps, the final mount point is
determined by concatenating the auto_master
mountpoint with the map entry key and optional map entry mountpoint. For
direct maps, the final mount point is determined by concatenating the map
entry key with the optional map entry mountpoint.
The example above could be rewritten using direct map, by placing
this in auto_master
:
and this in /etc/auto_example
map
file:
/example/x -intr,nfsv4 192.168.1.1:/share/example/x
/example/share -fstype=smbfs,-N ://@server/share
/example/cd -fstype=cd9660 :/dev/cd0
Both auto_master
and maps may contain
entries consisting of a plus sign and map name:
Those entries cause
automountd(8)
daemon to retrieve the named map from directory services (like LDAP) and
include it where the entry was.
If the file containing the map referenced in
auto_master
is not found, the map will be retrieved
from directory services instead.
To retrieve entries from directory services,
automountd(8)
daemon runs /etc/autofs/include, which is usually a
shell script, with map name as the only command line parameter. The script
should output entries formatted according to
auto_master
or automounter map syntax to standard
output. An example script to use LDAP is included in
/etc/autofs/include_ldap. It can be symlinked to
/etc/autofs/include.
- /etc/auto_master
- The default location of the auto_master file.
- /etc/autofs/
- Directory containing shell scripts to implement special maps and directory
services.
The auto_master
configuration file
functionality was developed by Edward Tomasz
Napierala
<trasz@FreeBSD.org>
under sponsorship from the FreeBSD Foundation.