AUTOMOUNT(8) | Maintenance Commands and Procedures | AUTOMOUNT(8) |
automount
—
install automatic mount points
automount |
[-v ] [-t
duration] |
The automount
utility installs
autofs
mount points and associates an automount map
with each mount point. It starts the
automountd(8) daemon if it finds
any non-trivial entries in either local or distributed automount maps and if
the daemon is not already running. The autofs
file
system monitors attempts to access directories within it and notifies the
automountd(8) daemon. The daemon
uses the map to locate a file system, which it then mounts at the point of
reference within the autofs
file system. A map can
be assigned to an autofs
mount using an entry in the
/etc/auto_master map or a direct map.
If the file system is not accessed within an appropriate interval
(10 minutes by default), the automountd
daemon
unmounts the file system.
The file /etc/auto_master determines the
locations of all autofs
mount points. By default,
this file contains three entries:
# Master map for automounter # +auto_master /net -hosts -nosuid /home auto_home
The +auto_master entry is a reference to an
external NIS master map. If one exists, then its entries are read as if they
occurred in place of the +auto_master entry. The remaining
entries in the master file specify a directory on which an
autofs
mount will be made followed by the
automounter map to be associated with it. Optional mount options may be
supplied as an optional third field in the each entry. These options are
used for any entries in the map that do not specify mount options
explicitly. The automount
command is usually run
without arguments. It compares the entries
/etc/auto_master with the current list of
autofs
mounts in /etc/mnttab
and adds, removes or updates autofs
mounts to bring
the /etc/mnttab up to date with the
/etc/auto_master. At boot time it installs all
autofs
mounts from the master map. Subsequently, it
may be run to install autofs
mounts for new entries
in the master map or the direct map, or to perform unmounts for entries that
have been removed from these maps.
If a system is configured with Solaris Trusted Extensions,
additional processing is performed to facilitate multilevel home directory
access. A list of zones whose labels are dominated by the current zone is
generated and default auto_home automount maps are
generated if they do not currently exist. These automount maps are named
auto_home_zonename, where
zonename is the name of each zone's lower-level zone.
An autofs
mount of each such
auto_home map is then performed, regardless of whether it
is explicitly or implicitly listed in the master map. Instead of
autofs
mounting the standard
auto_home map, the zone uses an
auto_home file appended with its own zone name. Each
zone's auto_home map is uniquely named so that it can be
maintained and shared by all zones using a common name server.
By default, the home directories of lower-level zones are mounted
read-only under
/zone/zonename/export/home
when each zone is booted. The default
auto_home_zonename automount map
specifies that path as the source directory for an
lofs
remount onto
/zone/zonename/home/username.
For example, the file auto_home_public, as generated
from a higher level zone would contain:
+auto_home_public * -fstype=lofs :/zone/public/export/home/&
When a home directory is referenced and the name does not match any other keys in the auto_home_public map, it will match this loopback mount specification. If this loopback match occurs and the name corresponds to a valid user whose home directory does not exist in the public zone, the directory is automatically created on behalf of the user.
The following options are supported:
A simple map entry (mapping) takes the form:
key [-
mount-options] location...
where key is the full pathname of the
directory to mount when used in a direct map, or the simple name of a
subdirectory in an indirect map. mount-options is a
comma-separated list of mount
options, and
location specifies a file system from which the
directory may be mounted. In the case of a simple NFS mount, the options
that can be used are specified in
mount_nfs(8), and
location takes the form:
host:pathname
host is the name of the host from which to mount the file system, and pathname is the absolute pathname of the directory to mount.
Options to other file systems are documented in the other
mount_*
reference manual pages.
Multiple location fields can be specified
for replicated NFS file systems, in which case
automount
and the kernel will each try to use that
information to increase availability. If the read-only flag is set in the
map entry, automountd
mounts a list of locations
that the kernel may use, sorted by several criteria. Only locations
available at mount time will be mounted, and thus be available to the
kernel. When a server does not respond, the kernel will switch to an
alternate server. The sort ordering of automount
is
used to determine how the next server is chosen. If the read-only flag is
not set, automount
will mount the best single
location, chosen by the same sort ordering, and new servers will only be
chosen when an unmount has been possible, and a remount is done. Servers on
the same local subnet are given the strongest preference, and servers on the
local net are given the second strongest preference. Among servers equally
far away, response times will determine the order if no weighting factors
(see below) are used.
If the list includes server locations using both the NFS Version 2
Protocol and the NFS Version 3 Protocol, automount
will choose only a subset of the server locations on the list, so that all
entries will be the same protocol. It will choose servers with the NFS
Version 3 Protocol so long as an NFS Version 2 Protocol server on a local
subnet will not be ignored. See the FIXME for additional details.
If each location in the list shares the same pathname then a single location may be used with a comma-separated list of hostnames:
hostname,hostname...:pathname
Requests for a server may be weighted, with the weighting factor appended to the server name as an integer in parentheses. Servers without a weighting are assumed to have a value of zero (most likely to be selected). Progressively higher values decrease the chance of being selected. In the example,
man -ro alpha,bravo,charlie(1),delta(4):/usr/man
hosts alpha and bravo have the highest priority; host delta has the lowest.
Server proximity takes priority in the selection process. In the example above, if the server delta is on the same network segment as the client, but the others are on different network segments, then delta will be selected; the weighting value is ignored. The weighting has effect only when selecting between servers with the same network proximity. The automounter always selects the localhost over other servers on the same network segment, regardless of weighting.
In cases where each server has a different export point, the weighting can still be applied. For example:
man -ro alpha:/usr/man bravo,charlie(1):/usr/share/man \ delta(3):/export/man
A mapping can be continued across input lines by escaping the NEWLINE with a backslash ("\"). Comments begin with a number sign ("#") and end at the subsequent NEWLINE.
The ampersand ("&") character is expanded to the value of the key field for the entry in which it occurs. In this case:
jane sparcserver:/home/&
the & expands to jane.
The asterisk ("*") character, when supplied as the key field, is recognized as the catch-all entry. Such an entry will match any key not previously matched. For instance, if the following entry appeared in the indirect map for /config:
* &:/export/config/&
this would allow automatic mounts in /config of any remote file system whose location could be specified as:
hostname:/export/config/hostname
Note that the wildcard key does not work in conjunction with the
-browse
option.
Client specific variables can be used within an
automount
map. For instance, if
$HOST
appeared within a map, automount
would expand it to
its current value for the client's host name. Supported variables are:
NAME | OUTPUT OF | DESCRIPTION (EXAMPLE) |
ARCH |
arch |
architecture name ("sun4") |
CPU |
uname -p |
processor type ("sparc") |
HOST |
uname -n |
host name ("myhost") |
KARCH |
arch -k
or uname
-m |
kernel architecture name or machine hardware name ("sun4u") |
OSNAME |
uname -s |
OS name ("SunOS") |
OSREL |
name -r |
OS release name ("5.3") |
OSVERS |
uname -v |
OS version ("beta1.0") |
NATISA |
isainfo -n |
native instruction set architecture for the system ("sparcv9") |
PLATFORM |
uname -i |
platform name ("SUNW,Sun-Fire-V240") |
If a reference needs to be protected from affixed characters, you can surround the variable name with curly braces ("{}").
A multiple mount entry takes the form:
key [-
mount-options] [[mountpoint] [-
mount-options] location...]...
The initial mountpoint is optional for the first mount and mandatory for all subsequent mounts. The optional mountpoint is taken as a pathname relative to the directory named by key. If mountpoint is omitted in the first occurrence, a mountpoint of / (root) is implied.
Given an entry in the indirect map for /src:
beta -ro \ / svr1,svr2:/export/src/beta \ /1.0 svr1,svr2:/export/src/beta/1.0 \ /1.0/man svr1,svr2:/export/src/beta/1.0/man
All offsets must exist on the server under
beta.
automount
will automatically mount
/src/beta, /src/beta/1.0,
and /src/beta/1.0/man, as needed, from either
svr1 or
svr2,
whichever host is nearest and responds first.
The automounter assumes NFS mounts as a default file system type. Other file system types can be described using the fstype mount option. Other mount options specific to this file system type can be combined with the fstype option. The location field must contain information specific to the file system type. If the location field begins with a slash, a colon character must be prepended, for instance, to mount a CD file system:
cdrom -fstype=hsfs,ro :/dev/sr0
or to perform an autofs
mount:
src -fstype=autofs auto_src
Use this procedure only if you are not using Volume Manager.
See the NOTES section for information on option inheritance.
An indirect map allows you to specify mappings for the subdirectories you wish to mount under the directory indicated on the command line. In an indirect map, each key consists of a simple name that refers to one or more file systems that are to be mounted as needed.
Entries in a direct map are associated directly with
autofs
mount points. Each key
is the full pathname of an autofs
mount point. The
direct map as a whole is not associated with any single directory.
Direct maps are distinguished from indirect maps by the - key. For example:
# Master map for automounter # +auto_master /net -hosts -nosuid,nobrowse /home auto_home -nobrowse /- auto_direct
The contents of another map can be included within a map with an entry of the form
+mapname
If mapname begins with a slash, it is assumed to be the pathname of a local file. Otherwise, the location of the map is determined by the policy of the name service switch according to the entry for the automounter in /etc/nsswitch.conf, such as
automount: files nis
If the name service is files, then the name is assumed to be that of a local file in /etc. If the key being searched for is not found in the included map, the search continues with the next entry.
There are two special maps available: -hosts and
-null. The -hosts map is used with the
/net directory and assumes that the map key is the
hostname of an NFS server. The automountd
daemon
dynamically constructs a map entry from the server's list of exported file
systems. References to a directory under /net/hermes
will refer to the corresponding directory relative to
hermes
root.
The -null map cancels a previous map for the directory indicated. This is most useful in the /etc/auto_master for cancelling entries that would otherwise be inherited from the +auto_master include entry. To be effective, the -null entries must be inserted before the included map entry.
Local maps that have the execute bit set in their file permissions will be executed by the automounter and provided with a key to be looked up as an argument. The executable map is expected to return the content of an automounter map entry on its stdout or no output if the entry cannot be determined. A direct map cannot be made executable.
When initiated without arguments,
automount
consults the master map for a list of
autofs
mount points and their maps. It mounts any
autofs
mounts that are not already mounted, and
unmounts autofs
mounts that have been removed from
the master map or direct map.
The master map is assumed to be called auto_master and its location is determined by the name service switch policy. Normally the master map is located initially as a local file /etc/auto_master.
The automountd
daemon supports
browsability of indirect maps. This allows all of the potential mount points
to be visible, whether or not they are mounted. The
-nobrowse
option can be added to any indirect autofs
map to
disable browsing. For example:
/net -hosts -nosuid,nobrowse /home auto_home
In this case, any hostnames would only be
visible in /net after they are mounted, but all
potential mount points would be visible under /home.
The -browse option enables browsability of
autofs
file systems. This is the default for all
indirect maps.
The -browse option does not work in conjunction with the wildcard key.
Options specified for a map are used as the default options for all the entries in that map. They are ignored when map entries specify their own mount options.
In some cases, however, it is desirable to force nosuid, nodevices, nosetuid, or noexec for a complete mount map and its submounts. This can be done by specifying the additional mount option, -restrict.
/home auto_home -restrict,nosuid,hard
The -restrict option forces the inheritance of all the restrictive options nosuid, nodevices, nosetuid, and noexec as well as the restrict option itself. In this particular example, the nosuid and restrict option are inherited but the hard option is not. The restrict option also prevents the execution of "executable maps" and is enforced for auto mounts established by programs with fewer than all privileges available in their zone.
The automount
utility exits 0 on
success, and >0 if an error occurs.
isainfo(1), ls(1), svcs(1), uname(1), autofs(5), attributes(7), nfssec(7), smf(7), automountd(8), mount(8), mount_nfs(8), svcadm(8)
autofs
mount points must not be
hierarchically related. automount
does not allow an
autofs
mount point to be created within another
autofs
mount.
Since each direct map entry results in a new
autofs
mount such maps should be kept short.
Entries in both direct and indirect maps can be modified at any
time. The new information is used when automountd
next uses the map entry to do a mount.
New entries added to a master map or direct map will not be useful
until the automount command is run to install them as new
autofs
mount points. New entries added to an
indirect map may be used immediately.
As of the Solaris 2.6 release, a listing (see
ls(1)) of the
autofs
directory associated with an indirect map
shows all potential mountable entries. The attributes associated with the
potential mountable entries are temporary. The real file system attributes
will only be shown once the file system has been mounted.
Default mount options can be assigned to an entire map when specified as an optional third field in the master map. These options apply only to map entries that have no mount options. Note that map entities with options override the default options, as at this time, the options do not concatenate. The concatenation feature is planned for a future release.
When operating on a map that invokes an NFS mount, the default number of retries for the automounter is 0, that is, a single mount attempt, with no retries. Note that this is significantly different from the default (10000) for the mount_nfs(8) utility.
The Network Information Service (NIS) was formerly known as Sun Yellow Pages (YP). The functionality of the two remains the same.
The automount
service is managed by the
service management facility, smf(7),
under the service identifier:
svc:/system/filesystem/autofs:default
Administrative actions on this service, such as enabling, disabling, or requesting restart, can be performed using svcadm(8). The service's status can be queried using the svcs(1) command.
February 25, 2017 | OmniOS |