]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - usr.sbin/autofs/auto_master.5
MFC r275681:
[FreeBSD/stable/10.git] / usr.sbin / autofs / auto_master.5
1 .\" Copyright (c) 2014 The FreeBSD Foundation
2 .\" All rights reserved.
3 .\"
4 .\" This software was developed by Edward Tomasz Napierala under sponsorship
5 .\" from the FreeBSD Foundation.
6 .\"
7 .\" Redistribution and use in source and binary forms, with or without
8 .\" modification, are permitted provided that the following conditions
9 .\" are met:
10 .\" 1. Redistributions of source code must retain the above copyright
11 .\"    notice, this list of conditions and the following disclaimer.
12 .\" 2. Redistributions in binary form must reproduce the above copyright
13 .\"    notice, this list of conditions and the following disclaimer in the
14 .\"    documentation and/or other materials provided with the distribution.
15 .\"
16 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 .\" SUCH DAMAGE.
27 .\"
28 .\" $FreeBSD$
29 .\"
30 .Dd November 22, 2014
31 .Dt AUTO_MASTER 5
32 .Os
33 .Sh NAME
34 .Nm auto_master
35 .Nd auto_master and map file format
36 .Sh DESCRIPTION
37 The automounter configuration consists of the
38 .Nm
39 configuration file, which assigns filesystem paths to map names,
40 and maps, which contain actual mount information.
41 The
42 .Nm
43 configuration file is used by the
44 .Xr automount 8
45 command.
46 Map files are read by the
47 .Xr automountd 8
48 daemon.
49 .Sh AUTO_MASTER SYNTAX
50 The
51 .Nm
52 file consists of lines with two or three entries separated by whitespace
53 and terminated by newline character:
54 .Bd -literal -offset indent
55 .Pa mountpoint Pa map_name Op Ar -options
56 .Ed
57 .Pp
58 .Pa mountpoint
59 is either a fully specified path, or
60 .Li /- .
61 When
62 .Pa mountpoint
63 is a full path,
64 .Pa map_name
65 must reference an indirect map.
66 Otherwise,
67 .Pa map_name
68 must reference a direct map.
69 See
70 .Sx "MAP SYNTAX" below.
71 .Pp
72 .Pa map_name
73 specifies map to use.
74 If
75 .Pa map_name
76 begins with
77 .Li - ,
78 it specifies a special map.
79 See
80 .Sx "MAP SYNTAX"
81 below.
82 If
83 .Pa map_name
84 is not a fully specified path
85 .Pq it does not start with Li / ,
86 .Xr automountd 8
87 will search for that name in
88 .Li /etc .
89 Otherwise it will use the path as given.
90 If the file indicated by
91 .Pa map_name
92 is executable,
93 .Xr automountd 8
94 will assume it is an executable map.
95 See
96 .Sx "MAP SYNTAX"
97 below.
98 Otherwise, the file is opened and the contents parsed.
99 .Pp
100 .Pa -options
101 is an optional field that starts with
102 .Li -
103 and can contain generic filesystem mount options.
104 .Pp
105 The following example specifies that the /etc/auto_example indirect map
106 will be mounted on /example.
107 .Bd -literal -offset indent
108 /example auto_example
109 .Ed
110 .Sh MAP SYNTAX
111 Map files consist of lines with a number of entries separated by whitespace
112 and terminated by newline character:
113 .Bd -literal -offset indent
114 .Pa key Oo Ar -options Oc Oo Ar mountpoint Oo -options Oc Oc Ar location Op ...
115 .Ed
116 .Pp
117 In most cases, it can be simplified to:
118 .Bd -literal -offset indent
119 .Pa key Oo Ar -options Oc Ar location
120 .Ed
121 .Pp
122 .Pa key
123 is the path component used by
124 .Xr automountd 8
125 to find the right map entry to use.
126 It is also used to form the final mountpoint.
127 A wildcard
128 .Pq Ql *
129 can be used for the key.
130 It matches every directory that does not match other keys.
131 Those directories will not be visible to the user
132 until accessed.
133 .Pp
134 The
135 .Ar options
136 field, if present, must begin with
137 .Li - .
138 When mounting the filesystem, options supplied to
139 .Nm
140 and options specified in the map entry are concatenated together.
141 The special option
142 .Li fstype
143 is used to specify filesystem type.
144 It is not passed to the mount program as an option.
145 Instead, it is passed as an argument to
146 .Cm "mount -t".
147 The default
148 .Li fstype
149 is
150 .Ql nfs .
151 The special option
152 .Li nobrowse
153 is used to disable creation of top-level directories for special
154 and executable maps.
155 .Pp
156 The optional
157 .Pa mountpoint
158 field is used to specify multiple mount points
159 for a single key.
160 .Pp
161 The
162 .Ar location
163 field specifies the filesystem to be mounted.
164 Ampersands
165 .Pq Ql &
166 in the
167 .Ar location
168 field are replaced with the value of
169 .Ar key .
170 This is typically used with wildcards, like:
171 .Bd -literal -offset indent
172 .Li *   192.168.1.1:/share/&
173 .Ed
174 .Pp
175 To pass a location that begins with
176 .Li / ,
177 prefix it with a colon.
178 For example,
179 .Li :/dev/cd0 .
180 .Pp
181 This example, when put into
182 .Pa /etc/auto_example ,
183 and with
184 .Nm
185 referring to the map as described above, specifies that the NFS share
186 .Li 192.168.1.1:/share/example/x
187 will be mounted on
188 .Pa /example/x/
189 when any process attempts to access that mountpoint, with
190 .Li intr
191 and
192 .Li nfsv4
193 mount options, described in
194 .Xr mount_nfs 8 :
195 .Bd -literal -offset indent
196 .Li x -intr,nfsv4 192.168.1.1:/share/example/x
197 .Ed
198 .Pp
199 Automatically mount an SMB share on access, as a guest user,
200 without prompting for a password:
201 .Bd -literal -offset indent
202 .Li share -fstype=smbfs,-N ://@server/share
203 .Ed
204 .Pp
205 Automatically mount the CD drive on access:
206 .Bd -literal -offset indent
207 .Li cd -fstype=cd9660 :/dev/cd0
208 .Ed
209 .Sh SPECIAL MAPS
210 Special maps have names beginning with
211 .Li - .
212 Supported special maps are:
213 .Pp
214 .Bl -tag -width "-hosts" -compact
215 .It Li -hosts
216 Query the remote NFS server and map exported shares.
217 This map is traditionally mounted on
218 .Pa /net .
219 Access to files on a remote NFS server is provided through the
220 .Pa /net/nfs-server-ip/share-name/
221 directory without any additional configuration.
222 .It Li -media
223 Query devices that are not yet mounted, but contain valid filesystems.
224 Generally used to access files on removable media.
225 .It Li -null
226 Prevent
227 .Xr automountd 8
228 from mounting anything on the mountpoint.
229 .El
230 .Sh EXECUTABLE MAPS
231 If the map file specified in
232 .Nm
233 has execute bit set, the
234 .Xr automountd 8
235 will execute it and parse the standard output instead of parsing
236 the file contents.
237 .Sh INDIRECT VERSUS DIRECT MAPS
238 Indirect maps are referred to in
239 .Nm
240 by entries with a fully qualified path as a mount point, and must contain only
241 relative paths as keys.
242 Direct maps are referred to in
243 .Nm
244 by entries with
245 .Li /-
246 as the mountpoint, and must contain only fully qualified paths as keys.
247 For indirect maps, the final mount point is determined by concatenating the
248 .Nm
249 mountpoint with the map entry key and optional map entry mountpoint.
250 For direct maps, the final mount point is determined by concatenating
251 the map entry key with the optional map entry mountpoint.
252 .Pp
253 The example above could be rewritten using direct map, by placing this in
254 .Nm :
255 .Bd -literal -offset indent
256 .Li /- auto_example
257 .Ed
258 .Pp
259 and this in
260 .Li /etc/auto_example
261 map file:
262 .Bd -literal -offset indent
263 .Li /example/x -intr,nfsv4 192.168.1.1:/share/example/x
264 .Li /example/share -fstype=smbfs,-N ://@server/share
265 .Li /example/cd -fstype=cd9660 :/dev/cd0
266 .Ed
267 .Sh DIRECTORY SERVICES
268 Both
269 .Nm
270 and maps may contain entries consisting of a plus sign and map name:
271 .Bd -literal -offset indent
272 .Li +auto_master
273 .Ed
274 .Pp
275 Those entries cause
276 .Xr automountd 8
277 daemon to retrieve the named map from directory services (like LDAP)
278 and include it where the entry was.
279 .Pp
280 If the file containing the map referenced in
281 .Nm
282 is not found, the map will be retrieved from directory services instead.
283 .Pp
284 To retrieve entries from directory services,
285 .Xr automountd 8
286 daemon runs
287 .Pa /etc/autofs/include ,
288 which is usually a shell script, with map name as the only command line
289 parameter.
290 The script should output entries formatted according to
291 .Nm
292 or automounter map syntax to standard output.
293 An example script to use LDAP is included in
294 .Pa /etc/autofs/include_ldap .
295 It can be symlinked to
296 .Pa /etc/autofs/include .
297 .Sh FILES
298 .Bl -tag -width ".Pa /etc/auto_master" -compact
299 .It Pa /etc/auto_master
300 The default location of the
301 .Pa auto_master
302 file.
303 .El
304 .Sh SEE ALSO
305 .Xr autofs 5 ,
306 .Xr automount 8 ,
307 .Xr automountd 8 ,
308 .Xr autounmountd 8
309 .Sh AUTHORS
310 The
311 .Nm
312 configuration file functionality was developed by
313 .An Edward Tomasz Napierala Aq Mt trasz@FreeBSD.org
314 under sponsorship from the FreeBSD Foundation.