xref: /freebsd-12.1/contrib/amd/scripts/amd.conf.5 (revision bb487d2b)
1.\"
2.\" Copyright (c) 1997-2014 Erez Zadok
3.\" Copyright (c) 1990 Jan-Simon Pendry
4.\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine
5.\" Copyright (c) 1990 The Regents of the University of California.
6.\" All rights reserved.
7.\"
8.\" This code is derived from software contributed to Berkeley by
9.\" Jan-Simon Pendry at Imperial College, London.
10.\"
11.\" Redistribution and use in source and binary forms, with or without
12.\" modification, are permitted provided that the following conditions
13.\" are met:
14.\" 1. Redistributions of source code must retain the above copyright
15.\"    notice, this list of conditions and the following disclaimer.
16.\" 2. Redistributions in binary form must reproduce the above copyright
17.\"    notice, this list of conditions and the following disclaimer in the
18.\"    documentation and/or other materials provided with the distribution.
19.\" 3. Neither the name of the University nor the names of its contributors
20.\"    may be used to endorse or promote products derived from this software
21.\"    without specific prior written permission.
22.\"
23.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33.\" SUCH DAMAGE.
34.\"
35.\"
36.\" File: am-utils/scripts/amd.conf.5
37.\" $FreeBSD$
38.\"
39.Dd February 26, 2016
40.Dt AMD.CONF 5
41.Os
42.Sh NAME
43.Nm amd.conf
44.Nd
45.Xr amd 8
46configuration file
47.Sh SYNOPSIS
48.Nm
49.Sh DESCRIPTION
50.Bf -symbolic
51This configuration file is obsolete.
52Users are advised to use
53.Xr autofs 5
54instead.
55.Ef
56.Pp
57The
58.Nm
59file is the configuration file for
60.Xr amd 8 ,
61as part of the am-utils suite.
62.Pp
63The
64.Nm
65file
66contains runtime configuration information for the
67.Xr amd 8
68automounter program.
69.Sh FILE FORMAT
70The file consists of sections and parameters.
71A section begins with the
72name of the section in square brackets and continues until the next section
73begins or the end of the file is reached.
74Sections contain parameters of the
75form
76.Dq Ar name No = Ar value .
77.Pp
78The file is line-based \[em] that is, each newline-terminated line represents
79either a comment, a section name or a parameter.
80No line-continuation
81syntax is available.
82.Pp
83Section, parameter names and their values are case sensitive.
84.Pp
85Only the first equals sign in a parameter is significant.
86Whitespace before
87or after the first equals sign is discarded.
88Leading, trailing and
89internal whitespace in section and parameter names is irrelevant.
90Leading
91and trailing whitespace in a parameter value is discarded.
92Internal
93whitespace within a parameter value is not allowed, unless the whole
94parameter value is quoted with double quotes as in
95.Dq Ar name No = Qq Li "some\ value" .
96.Pp
97Any line beginning with a pound sign (#) is ignored, as are lines containing
98only whitespace.
99.Pp
100The values following the equals sign in parameters are all either a string
101(no quotes needed if string does not include spaces) or a boolean, which may
102be given as
103.Dq Li yes/no .
104Case is significant in all values.
105Some items such as
106cache timeouts are numeric.
107.Sh SECTIONS
108.Ss "The [global] section"
109Parameters in this section either apply to
110.Nm amd
111as a whole, or to all other
112regular map sections which follow.
113There should be only one global section
114defined in one configuration file.
115.Pp
116It is highly recommended that this section be specified first in the
117configuration file.
118If it is not, then regular map sections which precede
119it will not use global values defined later.
120.Ss "Regular [/map] sections"
121Parameters in regular (non-global) sections apply to a single map entry.
122For example, if the map section
123.Bq Pa /homes
124is defined, then all parameters following it will be applied to the
125.Pa /homes
126.Nm amd Ns
127-managed mount point.
128.Sh PARAMETERS
129.Ss "Parameters common to all sections"
130These parameters can be specified either in the global or a map specific
131section.
132Entries specified in a map-specific section override the default
133value or one defined in the global section.
134If such a common parameter is
135specified only in the global section, it is applicable to all regular map
136sections that follow.
137.Bl -tag -width 4n
138.It Va browsable_dirs Pq string, default=no
139If
140.Dq Li yes ,
141then
142.Nm amd Ns 's
143top-level mount points will be browsable to
144.Xr readdir 3
145calls.
146This means you could run for example
147.Xr ls 1
148and see what keys are available to mount in that directory.
149Not all entries
150are made visible to
151.Xr readdir 3 :
152the
153.Dq Li /default
154entry, wildcard entries, and those with a
155.Ql /
156in them are not included.
157If you specify
158.Dq Li full
159to this option, all but
160.Dq Li /default
161will be visible.
162Note that if you run a command which will attempt to
163.Xr stat 2
164the entries, such as often done by
165.Dq Li "ls -l"
166or
167.Dq Li "ls -F" ,
168.Xr amd 8
169will attempt to mount
170.Em every
171entry in that map.
172This is often called a
173.Dq "mount storm" .
174.It Va map_defaults Pq string, default no empty
175This option sets a string to be used as the map's /defaults entry,
176overriding any /defaults specified in the map.
177This allows local users to
178override map defaults without modifying maps globally.
179.It Va map_options Pq string, default no options
180This option is the same as specifying map options on the command line to
181.Xr amd 8 ,
182such as
183.Dq Li "cache:=all" .
184.It Va map_type Pq string, default search all map types
185If specified,
186.Xr amd 8
187will initialize the map only for the type given.
188This is
189useful to avoid the default map search type used by
190.Xr amd 8
191which takes longer
192and can have undesired side-effects such as initializing
193.Tn NIS
194even if not
195used.
196Possible values are:
197.Pp
198.Bl -tag -width ".Cm nisplus" -compact
199.It Cm exec
200executable maps
201.It Cm file
202plain files
203.It Cm hesiod
204Hesiod name service from MIT
205.It Cm ldap
206Lightweight Directory Access Protocol
207.It Cm ndbm
208(New) dbm style hash files
209.It Cm nis
210Network Information Services (version 2)
211.It Cm nisplus
212Network Information Services Plus (version 3)
213.It Cm passwd
214local password files
215.It Cm union
216union maps
217.El
218.It Va mount_type Pq string, default=nfs
219All
220.Xr amd 8
221mount types default to
222.Tn NFS .
223That is,
224.Xr amd 8
225is an
226.Tn NFS
227server on the
228map mount points, for the local host it is running on.
229If
230.Dq Li autofs
231is specified,
232.Xr amd 8
233will be an autofs server for those mount points.
234.It Va autofs_use_lofs Pq string, default=yes
235When set to
236.Dq Li yes
237and using Autofs,
238.Xr amd 8
239will use lofs-type (loopback) mounts
240for type:=link mounts.
241This has the advantage of mounting in place, and
242users get to the see the same pathname that they chdir'ed into.
243If this
244option is set to
245.Dq Li no ,
246then
247.Xr amd 8
248will use symlinks instead: that code is more
249tested, but negates autofs's big advantage of in-place mounts.
250.It Va search_path Pq string, default no search path
251This provides a (colon-delimited) search path for file maps.
252Using a search
253path, sites can allow for local map customizations and overrides, and can
254query
255distributed maps in several locations as needed.
256.It Va selectors_in_defaults Pq boolean, default=no
257If
258.Dq Li yes ,
259then the /defaults entry of maps will search for and process any
260selectors before setting defaults for all other keys in that map.
261Useful
262when you want to set different options for a complete map based on some
263parameters.
264For example, you may want to better the NFS performance over
265slow slip-based networks as follows:
266.Bd -literal
267/defaults \\
268	wire==slip-net;opts:=intr,rsize=1024,wsize=1024 \\
269	wire!=slip-net;opts:=intr,rsize=8192,wsize=8192
270.Ed
271Deprecated form: selectors_on_default
272.TP
273.BR sun_map_syntax " (boolean, default=no)"
274If "yes," then Amd will parse the map according to the Sun Automount syntax.
275
276.\" **************************************************************************
277.El
278.Ss "Parameters applicable to the global section only"
279
280.Bl -tag -width 4n
281.It Va arch Pq string, default to compiled in value
282Same as the
283.Fl A
284option to
285.Xr amd 8 .
286Allows you to override the value of the
287.Va arch
288.Xr amd 8
289variable.
290.It Va auto_attrcache Pq numeric, default=0
291Specify in seconds (or units of 0.1 seconds, depending on the OS), what is
292the (kernel-side) NFS attribute cache timeout for
293.Nm amd Ns 's
294own automount
295points.
296A value of 0 is supposed to turn off attribute caching, meaning
297that
298.Xr amd 8
299will be consulted via a kernel-RPC each time someone stat()'s
300the mount point (which could be abused as a denial-of-service attack).
301Warning: some OSs are incapable of turning off the NFS attribute cache
302reliably.
303On such systems,
304.Nm amd
305may not work reliably under heavy load.
306See
307the
308.Pa README.attrcache
309document in the Am-utils distribution for more details.
310.It Va auto_dir Pq string, default= Ns Pa /a
311Same as the
312.Fl a
313option to
314.Xr amd 8 .
315This sets the private directory where
316.Nm amd
317will create
318sub-directories for its real mount points.
319.It Va cache_duration Pq numeric, default=300
320Same as the
321.Fl c
322option to
323.Xr amd 8 .
324Sets the duration in seconds that looked-up or mounted map
325entries remain in the cache.
326.It Va cluster Pq string, default no cluster
327Same as the
328.Fl C
329option to
330.Xr amd 8 .
331Specifies the alternate
332.Tn HP-UX
333cluster to use.
334.It Va debug_mtab_file Pq string, default= Ns Pa /tmp/mnttab
335Path to mtab file that is used by
336.Xr amd 8
337to store a list of mounted
338file systems during debug-mtab mode.
339This option only applies
340to systems that store mtab information on disk.
341.It Va debug_options Pq string, default no debug options
342Same as the
343.Fl D
344option to
345.Xr amd 8 .
346Specify any debugging options for
347.Xr amd 8 .
348Works only if
349Works only if
350am-utils was configured for debugging using the
351.Fl Fl enable-debug
352option.
353The
354.Cm mem
355option, as well as all other options, can be turned on via
356.Fl Fl enable-debug Ns = Ns Cm mem .
357Otherwise debugging options are ignored.
358Options are
359comma delimited, and can be preceded by the string
360.Dq Li no
361to negate their
362meaning.
363You can get the list of supported debugging options by running
364.Nm amd Fl v .
365Possible values are:
366.Pp
367.Bl -tag -width ".Cm xdrtrace" -compact
368.It Cm all
369all options (excludes hrtime and mtab)
370.It Cm defaults
371"sensible" default options (all--excluding hrtime, mtab, and xdrtrace)
372.It Cm amq
373register for
374.Xr amq 8
375.It Cm daemon
376enter daemon mode
377.It Cm fork
378fork server
379.It Cm full
380program trace
381.It Cm hrtime
382print high resolution time stamps (only if syslog(3) is not used)
383.It Cm info
384info service specific debugging
385(hesiod, nis, etc.)
386.It Cm mem
387trace memory allocations
388.It Cm mtab
389use local
390.Pa ./mtab
391file
392\fBreaddir\fR   show browsable_dirs progress
393.It Cm str
394debug string munging
395.It Cm test
396full debug options plus mtab,nodaemon,nofork,noamq
397.It Cm trace
398trace protocol and NFS mount arguments
399.It Cm xdrtrace
400trace XDR routines
401.BR dismount_interval " (numeric, default=120)"
402.El
403.It Va dismount_interval Pq numeric, default=120
404Same as the
405.Fl w
406option to
407.Xr amd 8 .
408Specify, in seconds, the time between attempts to dismount
409file systems that have exceeded their cached times.
410.It Va domain_strip Pq boolean, default=yes
411If
412.Dq Li yes ,
413then the domain
414name part referred to by ${rhost} is stripped off.
415This is
416useful to keep logs and smaller.
417If
418.Dq Li no ,
419then the domain name
420part is left changed.
421This is useful when using multiple domains with
422the same maps (as you may have hosts whose domain-stripped name is
423identical).
424.It Va exec_map_timeout Pq numeric, default=10
425The timeout in seconds that
426.Xr amd 8
427will wait for an executable map program before an answer is returned from
428that program (or script).
429This value should be set to as small as possible
430while still allowing normal replies to be returned before the timer expires,
431because during the time that the executable map program is queried,
432.Xr amd 8
433is essentially waiting and is thus not responding to any other queries.
434.It Va forced_unmounts Pq boolean, default=no
435If set to
436.Dq Li yes ,
437and the client OS supports forced or lazy unmounts, then
438.Xr amd 8
439will attempt to use them if it gets any of three serious error conditions
440when trying to unmount an existing mount point or mount on top of one:
441.Er EIO , ESTALE ,
442or
443.Er EBUSY .
444.Pp
445This could be useful to recover from serious conditions such as hardware
446failure of mounted disks, or NFS servers which are down permanently, were
447migrated, or changed their IP address.
448Only
449.Dq Li type:=toplvl
450mounts hung with
451.Er EBUSY
452are forcibly unmounted using this option, which is useful to recover
453from a hung
454.Xr amd 8 ) .
455.It Va full_os Pq string, default to compiled in value
456The full name of the operating system, along with its version.
457Allows you
458to override the compiled-in full name and version of the operating system.
459Useful when the compiled-in name is not desired.
460For example, the full
461operating system name on Linux comes up as
462.Dq Li linux ,
463but you can override it to
464.Dq Li linux-2.2.5 .
465.It Va fully_qualified_hosts Pq string, default=no
466If
467.Dq Li yes ,
468.Xr amd 8
469will perform RPC authentication using fully-qualified host names.
470This is
471necessary for some systems, and especially when performing cross-domain
472mounting.
473For this function to work, the
474.Xr amd 8
475variable ${hostd} is used, requiring that ${domain} not be null.
476.It Va hesiod_base Pq string, default=automount
477Specify the base name for hesiod maps.
478.It Va karch Pq string, default to karch of the system
479Same as the
480.Fl k
481option to
482.Xr amd 8 .
483Allows you to override the kernel-architecture of your
484system.
485Useful for example on Sun (Sparc) machines, where you can build one
486.Nm amd
487binary and run it on multiple machines, yet you want each one to get
488the correct
489.Va karch
490variable set (for example, sun4c, sun4m, sun4u, etc.)
491Note that if not
492specified,
493.Xr amd 8
494will use
495.Xr uname 3
496to figure out the kernel architecture of
497the machine.
498.It Va ldap_base Pq string, default not set
499Specify the base name for LDAP.
500This often includes LDAP-specific
501values such as country and organization.
502.It Va ldap_cache_maxmem Pq numeric, default=131072
503Specify the maximum memory
504.Xr amd 8
505should use to cache LDAP entries.
506.It Va ldap_cache_seconds Pq numeric, default=0
507Specify the number of seconds to keep entries in the cache.
508.It Va ldap_hostports Pq string, default not set
509Specify the LDAP host and port values.
510.It Va ldap_proto_version Pq numeric, default=2
511Specify the version of the LDAP protocol to use.
512.It Va local_domain Pq string, default no sub-domain
513Same as the
514.Fl d
515option to
516.Xr amd 8 .
517Specify the local domain name.
518If this option is not given
519the domain name is determined from the hostname by removing the first
520component of the fully-qualified host name.
521.It Va localhost_address Pq string, default to localhost or 127.0.0.1
522Specify the name or IP address for
523.Xr amd 8
524to use when connecting the sockets
525for the local NFS server and the RPC server.
526This defaults to 127.0.0.1 or
527whatever the host reports as its local address.
528This parameter is useful on
529hosts with multiple addresses where you want to force
530.Xr amd 8
531to connect to a
532specific address.
533.It Va log_file Pq string, default= Ns Pa /dev/stderr
534Same as the
535.Fl l
536option to
537.Xr amd 8 .
538Specify a file name to log
539.Xr amd 8
540events to.
541If the string
542.Pa /dev/stderr
543is specified,
544.Xr amd 8
545will send its events to the standard error file descriptor.
546If the string
547.Pa syslog
548is given,
549.Xr amd 8
550will record its events with the system logger
551.Xr syslogd 8 .
552The default syslog facility used is
553.Dv LOG_DAEMON .
554If you
555wish to change it, append its name to the log file name, delimited by a
556single colon.
557For example, if
558.Pa logfile
559is the string
560.Dq Li syslog:local7
561then
562.Xr amd 8
563will log messages via
564.Xr syslog 3
565using the
566.Dv LOG_LOCAL7
567facility (if it exists on the system).
568.It Va log_options Pq string, default no logging options
569Same as the
570.Fl x
571option to
572.Xr amd 8 .
573Specify any logging options for
574.Xr amd 8 .
575Options are comma
576delimited, and can be preceded by the string
577.Dq Li no
578to negate their meaning.
579The
580.Dq Li debug
581logging option is only available if am-utils was configured with
582.Fl Fl enable-debug .
583You can get the list of supported debugging and logging
584options by running
585.Nm amd Fl H .
586Possible values are:
587.Pp
588.Bl -tag -width ".Cm warning" -compact
589.It Cm all
590all messages
591.It Cm defaults
592default messages (fatal,error,user,warning,info)
593.It Cm debug
594debug messages
595.It Cm error
596non-fatal system errors (cannot be turned off)
597.It Cm fatal
598fatal errors (cannot be turned off)
599.It Cm info
600information
601.It Cm map
602map errors
603.It Cm stats
604additional statistical information
605.It Cm user
606non-fatal user errors
607.It Cm warn
608warnings
609\fBwarning\fR   warnings
610.It Cm warning
611warnings
612.El
613.It Va map_reload_interval Pq numeric, default=3600
614The number of seconds that
615.Xr amd 8
616will wait before it checks to see if any maps
617have changed at their source (NIS servers, LDAP servers, files, etc.).
618.Xr amd 8
619will reload only those maps that have changed.
620.It Va nfs_allow_any_interface Pq string, default=no
621Normally
622.Xr amd 8
623accepts local NFS packets only from 127.0.0.1.
624If this
625parameter is set to
626.Dq Li yes
627then
628.Xr amd 8
629will accept local NFS packets from any
630local interface; this is useful on hosts that may have multiple interfaces
631where the system is forced to send all outgoing packets (even those bound to
632the same host) via an address other than 127.0.0.1.
633.It Va nfs_allow_insecure_port Pq string, default=no
634Normally
635.Xr amd 8
636will refuse requests coming from unprivileged ports (i.e.\&
637ports >= 1024 on Unix systems), so that only privileged users and the kernel
638can send NFS requests to it.
639However, some kernels (certain versions of
640Darwin, MacOS X, and Linux) have bugs that cause them to use unprivileged
641ports in certain situations, which causes
642.Xr amd 8
643to stop dead in its tracks.
644This parameter allows
645.Xr amd 8
646to operate normally even on such systems, at the
647expense of a slight decrease in the security of its operations.
648If you see
649messages like
650.Dq Li "ignoring request from foo:1234, port not reserved"
651in your
652.Xr amd 8
653log, try enabling this parameter and give it another go.
654.It Va nfs_proto Pq string, default to trying version tcp then udp
655By default,
656.Xr amd 8
657tries TCP and then UDP.
658This option forces the overall
659.Tn NFS
660protocol used to TCP or UDP.
661It overrides what is in the
662.Xr amd 8
663maps, and is
664useful when
665.Nm amd
666is compiled with NFSv3 support that may not be stable.
667With
668this option you can turn off the complete usage of NFSv3 dynamically
669(without having to recompile
670.Nm amd )
671until such time as NFSv3 support is
672desired again.
673.It Va nfs_retransmit_counter Pq numeric, default=11
674Same as the
675.Ar retransmit
676counter
677part of the
678.Fl t Ar timeout.retransmit
679option to
680.Xr amd 8 .
681Specifies the number of NFS retransmissions that the kernel will use to
682communicate with
683.Xr amd 8 .
684.It Va nfs_retransmit_counter_udp Pq numeric, default=11
685Same as the
686.Va nfs_retransmit_counter
687option, but for all UDP mounts only.
688.It Va nfs_retransmit_counter_tcp Pq numeric, default=11
689Same as the
690.Va nfs_retransmit_counter
691option, but for all TCP mounts only.
692.It Va nfs_retransmit_counter_toplvl Pq numeric, default=11
693Same as the
694.Va nfs_retransmit_counter
695option, but only for
696.Nm amd Ns 's
697top-level UDP mounts.
698.It Va nfs_retry_interval Pq numeric, default=8
699Same as the
700.Ar timeout
701interval
702part of the
703.Fl t Ar timeout.retransmit
704option to
705.Xr amd 8 .
706Specifies the
707.Tn NFS
708timeout interval, in
709.Em tenths
710of seconds, between NFS/RPC retries (for UDP and TCP).
711This is the value that the kernel will use to
712communicate with
713.Xr amd 8 .
714.Pp
715.Xr amd 8
716relies on the kernel RPC retransmit mechanism to trigger mount retries.
717The values of the
718.Va nfs_retransmit_counter
719and the
720.Va nfs_retry_interval
721parameters change the overall retry interval.
722Too long an interval gives
723poor interactive response; too short an interval causes excessive retries.
724.It Va nfs_retry_interval_udp Pq numeric, default=8
725Same as the
726.Va nfs_retry_interval
727option, but for all UDP mounts only.
728.It Va nfs_retry_interval_tcp Pq numeric, default=8
729Same as the
730.It nfs_retry_interval
731option, but for all TCP mounts only.
732.It Va nfs_retry_interval_toplvl Pq numeric, default=8
733Same as the
734.It nfs_retry_interval
735option, but only for
736.Nm amd Ns 's
737top-level UDP mounts.
738.It Va nfs_vers Pq numeric, default to trying version 3 then 2
739By default,
740.Xr amd 8
741tries version 3 and then version 2.
742This option forces the
743overall
744.Tn NFS
745protocol used to version 3 or 2.
746It overrides what is in the
747.Xr amd 8
748maps, and is useful when
749.Nm amd
750is compiled with NFSv3 support that may not
751be stable.
752With this option you can turn off the complete usage of NFSv3
753dynamically (without having to recompile
754.Nm amd )
755until such time as NFSv3
756support is desired again.
757.It Va nis_domain Pq string, default to local Tn NIS domain name
758Same as the
759.Fl y
760option to
761.Xr amd 8 .
762Specify an alternative
763.Tn NIS
764domain from which to fetch the
765.Tn NIS
766maps.
767The default is the system domain name.
768This option is ignored if
769.Tn NIS
770support is not available.
771.It Va normalize_hostnames Pq boolean, default=no
772Same as the
773.Fl n
774option to
775.Xr amd 8 .
776If
777.Dq Li yes ,
778then the name referred to by
779.Va ${rhost}
780is normalized relative to the host database before being used.
781The effect is
782to translate aliases into
783.Dq official
784names.
785.It Va normalize_slashes Pq boolean, default=yes
786If
787.Dq Li yes ,
788then
789.Xr amd 8
790will condense all multiple
791.Ql /
792(slash) characters into
793one and remove all trailing slashes.
794If
795.Dq Li no ,
796then
797.Xr amd 8
798will not touch
799strings that may contain repeated or trailing slashes.
800The latter is
801sometimes useful with SMB mounts, which often require multiple slash
802characters in pathnames.
803.It Va os Pq string, default to compiled in value
804Same as the
805.Fl O
806option to
807.Xr amd 8 .
808Allows you to override the compiled-in name of the operating
809system.
810Useful when the built-in name is not desired for backward
811compatibility reasons.
812For example, if the build in name is
813.Dq Li sunos5 ,
814you can override it to
815.Dq Li sos5 ,
816and use older maps which were written with the
817latter in mind.
818.It Va osver Pq string, default to compiled in value
819Same as the
820.Fl o
821option to
822.Xr amd 8 .
823Overrides the compiled-in version number of the operating
824system.
825Useful when the built in version is not desired for backward
826compatibility reasons.
827For example, if the build in version is
828.Dq Li 2.5.1 ,
829you can override it to
830.Dq Li 5.5.1 ,
831and use older maps that were written with
832the latter in mind.
833.It Va pid_file Pq string, default= Ns Pa /dev/stdout
834Specify a file to store the process ID of the running daemon into.
835If not
836specified,
837.Xr amd 8
838will print its process ID onto the standard output.
839Useful
840for killing
841.Xr amd 8
842after it had run.
843Note that the PID of a running
844.Nm amd
845can
846also be retrieved via
847.Nm amq Fl p .
848This file is used only if the
849.Va print_pid
850option is on.
851.It Va plock Pq boolean, default=yes
852Same as the
853.Fl S
854option to
855.Xr amd 8 .
856If
857.Dq Li yes ,
858lock the running executable pages of
859.Nm amd
860into memory.
861To improve
862.Nm amd Ns 's
863performance, systems that support the
864.Xr plock 3
865or
866.Xr mlockall 2
867call can lock the
868.Nm amd
869process into memory.
870This way there is less chance that
871the operating system will schedule, page out, and swap the
872.Nm amd
873process as needed.
874This improves
875.Nm amd Ns 's
876performance, at the cost of reserving the
877memory used by the
878.Nm amd
879process (making it unavailable for other processes).
880.It Va portmap_program Pq numeric, default=300019
881Specify an alternate Port-mapper RPC program number, other than the official
882number.
883This is useful when running multiple
884.Nm amd
885processes.
886For example,
887you can run another
888.Xr amd 8
889in
890.Dq test
891mode, without affecting the primary
892.Nm amd
893process in any way.
894For safety reasons, the alternate program numbers that
895can be specified must be in the range 300019-300029, inclusive.
896The
897.Xr amq 8
898utility
899has an option
900.Fl P
901which can be used to specify an alternate program number of an
902.Nm amd
903to contact.
904In this way,
905.Nm amq
906can fully control any number of
907.Nm amd
908processes running on the same host.
909.It Va preferred_amq_port Pq numeric, default=0
910Specify an alternate Port-mapper RPC port number for
911.Nm amd Ns 's
912.Xr amq 8
913service.
914This is used for both UDP and TCP.
915Setting this value to 0 (or
916not defining it) will cause
917.Xr amd 8
918to select an arbitrary port number.
919Setting the
920.Xr amq 8
921RPC service port to a specific number is useful in firewalled or NAT'ed
922environments, where you need to know which port
923.Xr amd 8
924will listen on.
925.It Va print_pid Pq boolean, default=no
926Same as the
927.Fl p
928option to
929.Xr amd 8 .
930If
931.Dq Li yes ,
932.Nm amd
933will print its process ID upon starting.
934.It Va print_version Pq boolean, default=no
935Same as the
936.Fl v
937option to
938.Xr amd 8 ,
939but the version prints and
940.Nm amd
941continues to run.
942If
943.Dq Li yes ,
944.Nm amd
945will print its version information string, which includes some
946configuration and compilation values.
947.It Va restart_mounts Pq boolean, default=no
948Same as the
949.Fl r
950option to
951.Xr amd 8 .
952If
953.Dq Li yes ,
954.Nm amd
955will scan the mount table to determine which file systems are currently
956mounted.
957Whenever one of these would have been auto-mounted,
958.Nm amd
959inherits it.
960.It Va show_statfs_entries Pq boolean, default=no
961If
962.Dq Li yes ,
963then all maps which are browsable will also show the number of
964entries (keys) they have when
965.Xr df 1
966runs.
967(This is accomplished by returning
968non-zero values to the
969.Xr statfs 2
970system call.)
971.It Va truncate_log Pq boolean, default=no
972If
973.Dq Li yes ,
974then the log file (if it is a regular file), will be truncated
975upon startup.
976.It Va unmount_on_exit Pq boolean, default=no
977If
978.Dq Li yes ,
979then
980.Xr amd 8
981will attempt to unmount all file systems which it knows
982about.
983Normally
984.Nm amd
985leaves all
986(esp.\&
987.Tn NFS )
988mounted file systems intact.
989Note that
990.Nm amd
991does not know about file systems mounted before it starts up,
992unless the
993.Va restart_mounts
994option or
995.Fl r
996flag are used.
997.It Va use_tcpwrappers Pq boolean, default=yes
998If
999.Dq Li yes ,
1000then
1001.Xr amd 8
1002will use the tcpd/libwrap tcpwrappers library
1003(if available) to control
1004access to
1005.Nm amd
1006via the
1007.Pa /etc/hosts.allow
1008and
1009.Pa /etc/hosts.deny
1010files.
1011.It Va vendor Pq string, default to compiled in value
1012The name of the vendor of the operating system.
1013Overrides the compiled-in
1014vendor name.
1015Useful when the compiled-in name is not desired.
1016For example,
1017most Intel based systems set the vendor name to
1018.Dq Li unknown ,
1019but you can set it to
1020.Dq Li redhat .
1021.El
1022.Ss "Parameters applicable to regular map sections"
1023.Bl -tag -width 4n
1024.It Va map_name Pq string, must be specified
1025Name of the map where the keys are located.
1026.It Va tag Pq string, default no tag
1027Each map entry in the configuration file can be tagged.
1028If no tag is
1029specified, that map section will always be processed by
1030.Xr amd 8 .
1031If it is
1032specified, then
1033.Nm amd
1034will process the map if the
1035.Fl T
1036option was given to
1037.Xr amd 8 ,
1038and the value given to that command-line option
1039matches that in the map section.
1040.El
1041.Sh EXAMPLES
1042Here is a real
1043.Xr amd 8
1044configuration I use daily.
1045.Bd -literal
1046# GLOBAL OPTIONS SECTION
1047[ global ]
1048normalize_hostnames =    no
1049print_pid =              no
1050restart_mounts =         yes
1051auto_dir =               /n
1052log_file =               /var/log/amd
1053log_options =            all
1054#debug_options =         all
1055plock =                  no
1056selectors_in_defaults =  yes
1057# config.guess picks up "sunos5" and I don't want to edit my maps yet
1058os =                     sos5
1059# if you print_version after setting up "os", it will show it.
1060print_version =          no
1061map_type =               file
1062search_path =            /etc/amdmaps:/usr/lib/amd:/usr/local/AMD/lib
1063browsable_dirs =         yes
1064
1065# DEFINE AN AMD MOUNT POINT
1066[ /u ]
1067map_name =               amd.u
1068
1069[ /proj ]
1070map_name =               amd.proj
1071
1072[ /src ]
1073map_name =               amd.src
1074
1075[ /misc ]
1076map_name =               amd.misc
1077
1078[ /import ]
1079map_name =               amd.import
1080
1081[ /tftpboot/.amd ]
1082tag =                    tftpboot
1083map_name =               amd.tftpboot
1084.Ed
1085.Sh SEE ALSO
1086.Xr hosts_access 5 ,
1087.Xr amd 8 ,
1088.Xr amq 8 ,
1089.xr automount 8 ,
1090.Xr ctl-amd 8 .
1091.Pp
1092.Dq am-utils
1093.Xr info 1
1094entry.
1095.Rs
1096.%A Erez Zadok
1097.%B "Linux NFS and Automounter Administration"
1098.%O ISBN 0-7821-2739-8
1099.%I Sybex
1100.%D 2001
1101.Re
1102.Pp
1103.Pa http://www.am-utils.org/
1104.Rs
1105.%T Amd \- The 4.4 BSD Automounter
1106.Re
1107.Sh HISTORY
1108The
1109.Xr amd 8
1110utility first appeared in
1111.Bx 4.4 .
1112.Sh AUTHORS
1113.An Erez Zadok Aq [email protected] ,
1114Computer Science Department, Stony Brook University, Stony Brook, New York, USA.
1115.Pp
1116Other authors and contributors to am-utils are listed in the
1117.Pa AUTHORS
1118file distributed with am-utils.
1119