Autofs Maps
Autofs uses three types of maps:
Master map
Direct maps
Indirect maps
Master Autofs Map
The auto_master map associates a directory with a map. The map is a
master list that specifies all the maps that autofs should check. The following
example shows what an auto_master file could contain.
Example 6-3 Sample
/etc/auto_master File
# Master map for automounter
#
+auto_master
/net -hosts -nosuid,nobrowse
/home auto_home -nobrowse
/- auto_direct -ro
This example shows the generic auto_master file with one addition for the auto_direct
map. Each line in the master map /etc/auto_master has the following syntax:
mount-point map-name [ mount-options ]
- mount-point
mount-point is the full (absolute) path name of a directory. If the directory does not exist, autofs creates the directory if possible. If the directory exists and is not empty, mounting on the directory hides its contents. In this situation, autofs issues a warning.
The notation /- as a mount point indicates that this particular map is a direct map. The notation also means that no particular mount point is associated with the map.
- map-name
map-name is the map autofs uses to find directions to locations, or mount information. If the name is preceded by a slash (/), autofs interprets the name as a local file. Otherwise, autofs searches for the mount information by using the search that is specified in the name-service switch configuration file (/etc/nsswitch.conf). Special maps are also used for /net. See Mount Point /net for more information.
- mount-options
mount-options is an optional, comma-separated list of options that apply to the mounting of the entries that are specified in map-name, unless the entries in map-name list other options. Options for each specific type of file system are listed in the mount man page for that file system. For example, see the mount_nfs(1M) man page for NFS-specific mount options. For NFS-specific mount points, the bg (background) and fg (foreground) options do not apply.
A line that begins with # is a comment. All the text that
follows until the end of the line is ignored.
To split long lines into shorter ones, put a backslash (\) at the
end of the line. The maximum number of characters of an entry
is 1024.
Note - If the same mount point is used in two entries, the first
entry is used by the automount command. The second entry is ignored.
Mount Point /home
The mount point /home is the directory under which the entries that are
listed in /etc/auto_home (an indirect map) are to be mounted.
Note - Autofs runs on all computers and supports /net and /home (automounted home
directories) by default. These defaults can be overridden by entries in the NIS
auto.master map or NIS+ auto_master table, or by local editing of the /etc/auto_master
file.
Mount Point /net
Autofs mounts under the directory /net all the entries in the special map
-hosts. The map is a built-in map that uses only the hosts
database. Suppose that the computer gumbo is in the hosts database and it
exports any of its file systems. The following command changes the current directory
to the root directory of the computer gumbo.
% cd /net/gumbo
Autofs can mount only the exported file systems of host gumbo, that is,
those file systems on a server that are available to network users instead
of those file systems on a local disk. Therefore, all the files and
directories on gumbo might not be available through /net/gumbo.
With the /net method of access, the server name is in the path
and is location dependent. If you want to move an exported file system
from one server to another, the path might no longer work. Instead, you
should set up an entry in a map specifically for the file
system you want rather than use /net.
Note - Autofs checks the server's export list only at mount time. After a server's
file systems are mounted, autofs does not check with the server again until
the server's file systems are automatically unmounted. Therefore, newly exported file systems are
not “seen” until the file systems on the client are unmounted and then
remounted.
Direct Autofs Maps
A direct map is an automount point. With a direct map, a
direct association exists between a mount point on the client and a directory
on the server. Direct maps have a full path name and indicate the
relationship explicitly. The following is a typical /etc/auto_direct map:
/usr/local -ro \
/bin ivy:/export/local/sun4 \
/share ivy:/export/local/share \
/src ivy:/export/local/src
/usr/man -ro oak:/usr/man \
rose:/usr/man \
willow:/usr/man
/usr/games -ro peach:/usr/games
/usr/spool/news -ro pine:/usr/spool/news \
willow:/var/spool/news
Lines in direct maps have the following syntax:
key [ mount-options ] location
- key
key is the path name of the mount point in a direct map.
- mount-options
mount-options is the options that you want to apply to this particular mount. These options are required only if the options differ from the map default. Options for each specific type of file system are listed in the mount man page for that file system. For example, see the mount_cachefs(1M) man page for CacheFS specific mount options. For information about using CacheFS options with different versions of NFS, see Accessing NFS File Systems Using CacheFS.
- location
location is the location of the file system. One or more file systems are specified as server:pathname for NFS file systems or :devicename for High Sierra file systems (HSFS).
Note - The pathname should not include an automounted mount point. The pathname should be the actual absolute path to the file system. For instance, the location of a home directory should be listed as server:/export/home/username, not as server:/home/username.
As in the master map, a line that begins with # is a
comment. All the text that follows until the end of the line
is ignored. Put a backslash at the end of the line to split
long lines into shorter ones.
Of all the maps, the entries in a direct map most closely
resemble the corresponding entries in /etc/vfstab. An entry might appear in /etc/vfstab as follows:
dancer:/usr/local - /usr/local/tmp nfs - yes ro
The equivalent entry appears in a direct map as follows:
/usr/local/tmp -ro dancer:/usr/local
Note - No concatenation of options occurs between the automounter maps. Any options that are
added to an automounter map override all options that are listed in maps
that are searched earlier. For instance, options that are included in the auto_master
map would be overridden by corresponding entries in any other map.
See How Autofs Selects the Nearest Read-Only Files for Clients (Multiple Locations) for other important features that are associated with this type of
map.
Mount Point /−
In Example 6-3, the mount point /- tells autofs not to associate the entries in
auto_direct with any specific mount point. Indirect maps use mount points that are
defined in the auto_master file. Direct maps use mount points that are specified
in the named map. Remember, in a direct map the key, or mount
point, is a full path name.
An NIS or NIS+ auto_master file can have only one direct map entry
because the mount point must be a unique value in the namespace. An
auto_master file that is a local file can have any number of direct
map entries if entries are not duplicated.
Indirect Autofs Maps
An indirect map uses a substitution value of a key to establish the
association between a mount point on the client and a directory on
the server. Indirect maps are useful for accessing specific file systems, such as home
directories. The auto_home map is an example of an indirect map.
Lines in indirect maps have the following general syntax:
key [ mount-options ] location
- key
key is a simple name without slashes in an indirect map.
- mount-options
mount-options is the options that you want to apply to this particular mount. These options are required only if the options differ from the map default. Options for each specific type of file system are listed in the mount man page for that file system. For example, see the mount_nfs(1M) man page for NFS-specific mount options.
- location
location is the location of the file system. One or more file systems are specified as server:pathname.
Note - The pathname should not include an automounted mount point. The pathname should be the actual absolute path to the file system. For instance, the location of a directory should be listed as server:/usr/local, not as server:/net/server/usr/local.
As in the master map, a line that begins with # is a
comment. All the text that follows until the end of the line
is ignored. Put a backslash (\) at the end of the line to
split long lines into shorter ones. Example 6-3 shows an auto_master map that contains the
following entry:
/home auto_home -nobrowse
auto_home is the name of the indirect map that contains the entries to
be mounted under /home. A typical auto_home map might contain the following:
david willow:/export/home/david
rob cypress:/export/home/rob
gordon poplar:/export/home/gordon
rajan pine:/export/home/rajan
tammy apple:/export/home/tammy
jim ivy:/export/home/jim
linda -rw,nosuid peach:/export/home/linda
As an example, assume that the previous map is on host oak. Suppose
that the user linda has an entry in the password database that specifies
her home directory as /home/linda. Whenever linda logs in to computer oak, autofs mounts
the directory /export/home/linda that resides on the computer peach. Her home directory is
mounted read-write, nosuid.
Assume the following conditions occur: User linda's home directory is listed in the
password database as /home/linda. Anybody, including Linda, has access to this path from
any computer that is set up with the master map referring to the
map in the previous example.
Under these conditions, user linda can run login or rlogin on any
of these computers and have her home directory mounted in place for her.
Furthermore, now Linda can also type the following command:
% cd ~david
autofs mounts David's home directory for her (if all permissions allow).
Note - No concatenation of options occurs between the automounter maps. Any options that are
added to an automounter map override all options that are listed in maps
that are searched earlier. For instance, options that are included in the auto_master
map are overridden by corresponding entries in any other map.
On a network without a name service, you have to change all
the relevant files (such as /etc/passwd) on all systems on the network to allow
Linda access to her files. With NIS, make the changes on the NIS
master server and propagate the relevant databases to the slave servers. On a
network that is running NIS+, propagating the relevant databases to the slave servers
is done automatically after the changes are made.