SYNOPSIS

       amd.conf


DESCRIPTION

       The amd.conf file is the configuration file for Amd, as part of the am-
       utils suite.

       amd.conf contains runtime configuration information for the  Amd  auto-
       mounter program.


FILE FORMAT

       The  file  consists  of sections and parameters.  A section begins with
       the name of the section in square brackets and continues until the next
       section begins or the end the file is reached.  Sections contain param-
       eters of the form 'name = value'.

       The file is line-based - that is, each newline-terminated  line  repre-
       sents either a comment, a section name or a parameter.  No line-contin-
       uation syntax is available.

       Section, parameter names and their values are case sensitive.

       Only the first equals sign in a parameter is  significant.   Whitespace
       before  or after the first equals sign is discarded.  Leading, trailing
       and internal whitespace in section and parameter names  is  irrelevant.
       Leading  and  trailing  whitespace  in  a parameter value is discarded.
       Internal whitespace within a parameter value is not allowed, unless the
       whole  parameter value is quoted with double quotes as in 'name = "some
       value"'.

       Any line beginning with a pound sign (#) is ignored, as are lines  con-
       taining only whitespace.

       The  values  following  the  equals sign in parameters are all either a
       string (no quotes needed if  string  does  not  include  spaces)  or  a
       boolean, which may be given as yes/no.  Case is significant in all val-
       ues.  Some items such as cache timeouts are numeric.


SECTIONS

   The [global] section
       Parameters in this section either apply to Amd as a whole,  or  to  all
       other  regular  map  sections  which  follow.  There should be only one
       global section defined in one configuration file.

       It is highly recommended that this section be specified  first  in  the
       configuration file.  If it is not, then regular map sections which pre-
       cede it will not use global values defined later.


   Regular [/map] sections
       Parameters in regular (non-global)  sections  apply  to  a  single  map
       entry.   For  example, if the map section [/homes] is defined, then all
              and see what keys are available to mount in that directory.  Not
              all entries are  made  visible  to  readdir(3):  the  "/default"
              entry,  wildcard  entries,  and those with a "/" in them are not
              included.  If  you  specify  "full"  to  this  option,  all  but
              "/default"  will  be  visible.   Note  that if you run a command
              which will attempt to stat(2) the entries, such as often done by
              "ls  -l"  or  "ls  -F," Amd will attempt to mount every entry in
              that map.  This is often called a ``mount storm.''


       map_defaults (string, default to empty)
              This option sets a string to be  used  as  the  map's  /defaults
              entry,  overriding  any  /defaults  specified  in the map.  This
              allows local users to override map  defaults  without  modifying
              maps globally.


       map_options (string, default no options)
              This option is the same as specifying map options on the command
              line to Amd, such as "cache:=all".


       map_type (string, default search all map types)
              If specified, Amd will initialize the  map  only  for  the  type
              given.  This is useful to avoid the default map search type used
              by Amd which takes longer and can  have  undesired  side-effects
              such as initializing NIS even if not used.  Possible values are

              exec      executable maps
              file      plain files
              hesiod    Hesiod name service from MIT
              ldap      Lightweight Directory Access Protocol
              ndbm      (New) dbm style hash files
              nis       Network Information Services (version 2)
              nisplus   Network Information Services Plus (version 3)
              passwd    local password files
              union     union maps


       mount_type (string, default=nfs)
              All  Amd  mount  types  default  to NFS.  That is, Amd is an NFS
              server on the map mount points, for the local host it is running
              on.   If "autofs" is specified, Amd will be an autofs server for
              those mount points.


       autofs_use_lofs (string, default=yes)
              When set to "yes" and  using  Autofs,  Amd  will  use  lofs-type
              (loopback) mounts for type:=link mounts.  This has the advantage
              of mounting in place, and users get to the see the same pathname
              that  they  chdir'ed  into.  If this option is set to "no," then
              Amd will use symlinks instead: that code  is  more  tested,  but
              a  complete  map based on some parameters.  For example, you may
              want to better the NFS performance over slow slip-based networks
              as follows:

              /defaults \
                  wire==slip-net;opts:=intr,rsize=1024,wsize=1024 \
                  wire!=slip-net;opts:=intr,rsize=8192,wsize=8192

              Deprecated form: selectors_on_default


   Parameters applicable to the global section only
       arch (string, default to compiled in value)
              Same  as the -A option to Amd.  Allows you to override the value
              of the arch Amd variable.


       auto_attrcache (numeric, default=0)
              Specify in seconds (or units of 0.1 seconds,  depending  on  the
              OS),  what  is the (kernel-side) NFS attribute cache timeout for
              @i{Amd}'s own automount points.  A value of  0  is  supposed  to
              turn  off  attribute  caching, meaning that @i{Amd} will be con-
              sulted via a kernel-RPC each time  someone  stat()'s  the  mount
              point  (which  could  be  abused as a denial-of-service attack).
              Warning: some OSs are incapable of turning off the NFS attribute
              cache  reliably.   On  such  systems,  Amd may not work reliably
              under heavy load.  See the README.attrcache document in the  Am-
              utils distribution for more details.


       auto_dir (string, default=/a)
              Same  as  the -a option to Amd.  This sets the private directory
              where Amd will create sub-directories for its real mount points.


       cache_duration (numeric, default=300)
              Same as the -c option to Amd.  Sets the duration in seconds that
              looked-up or mounted map entries remain in the cache.


       cluster (string, default no cluster)
              Same as the -C option to Amd.   Specifies  the  alternate  HP-UX
              cluster to use.


       debug_mtab_file (string, default=/tmp/mnttab)
              Path to mtab file that is used by Amd to store a list of mounted
              file systems during debug-mtab mode.  This option  only  applies
              to systems that store mtab information on disk.



              fork      fork server
              full      program trace
              hrtime    print high resolution time stamps (only if syslog(3) is not used)
              info      info service specific debugging (hesiod, nis, etc.)
              mem       trace memory allocations
              mtab      use local "./mtab" file
              readdir   show browsable_dirs progress
              str       debug string munging
              test      full debug but no daemon
              trace     trace protocol and NFS mount arguments
              xdrtrace  trace XDR routines


       dismount_interval (numeric, default=120)
              Same  as  the  -w option to Amd.  Specify in seconds, the
              time between attempts to dismount file systems that  have
              exceeded their cached times.


       domain_strip (boolean, default=yes)
              If  "yes,"  then  the  domain  name  part  referred to by
              ${rhost} is stripped off.  This is useful  to  keep  logs
              and  smaller.  If "no," then the domain name part is left
              changed.  This is useful when using multiple domains with
              the  same  maps  (as  you  may  have  hosts whose domain-
              stripped name is identical).


       exec_map_timeout (numeric, default=10)
              The timeout in seconds that Amd will  wait  for  an  exe-
              cutable  map  program  before  an answer is returned from
              that program (or script).  This value should be set to as
              small  as possible while still allowing normal replies to
              be returned before the timer expires, because during  the
              time  that  the executable map program is queried, Amd is
              essentially waiting and is thus  not  responding  to  any
              other queries.


       forced_unmounts (boolean, default=no)
              If  set  to  "yes,"  and the client OS supports forced or
              lazy unmounts, then Amd will attempt to use  them  if  it
              gets any of three serious error conditions when trying to
              unmount an existing mount point or mount on top  of  one:
              EIO, ESTALE, or EBUSY.

              This  could  be useful to recover from serious conditions
              such as hardware failure of mounted disks, or NFS servers
              which  are  down  permanently,  were migrated, or changed
              their IP address.  Only "type:=toplvl" mounts  hung  with
              EBUSY  are forcibly unmounted using this option, which is
              useful to recover from a hung Amd).
              systems,  and  especially  when  performing  cross-domain
              mounting.  For this function to work,  the  Amd  variable
              ${hostd} is used, requiring that ${domain} not be null.


       hesiod_base (string, default=automount)
              Specify the base name for hesiod maps.


       karch (string, default to karch of the system)
              Same as the -k option to Amd.  Allows you to override the
              kernel-architecture of your system.  Useful  for  example
              on  Sun  (Sparc)  machines,  where  you can build one Amd
              binary, and run it on multiple  machines,  yet  you  want
              each one to get the correct karch variable set (for exam-
              ple, sun4c, sun4m, sun4u, etc.)  Note that if not  speci-
              fied,  Amd  will  use  uname(3)  to figure out the kernel
              architecture of the machine.


       ldap_base (string, default not set)
              Specify the base name  for  LDAP.   This  often  includes
              LDAP-specific values such as country and organization.


       ldap_cache_maxmem (numeric, default=131072)
              Specify  the  maximum memory Amd should use to cache LDAP
              entries.


       ldap_cache_seconds (numeric, default=0)
              Specify the number of seconds  to  keep  entries  in  the
              cache.


       ldap_hostports (string, default not set)
              Specify the LDAP host and port values.


       ldap_proto_version (numeric, default=2)
              Specify the version of the LDAP protocol to use.


       local_domain (string, default no sub-domain)
              Same  as  the -d option to Amd.  Specify the local domain
              name.  If this option is not given  the  domain  name  is
              determined  from the hostname, by removing the first com-
              ponent of the fully-qualified host name.


       localhost_address (string, default to localhost or 127.0.0.1)
              Specify the name or IP address for Amd to use  when  con-
              to  change  it,  append  its  name  to the log file name,
              delimited by a single colon.  For example, if logfile  is
              the  string  syslog:local7 then Amd will log messages via
              syslog(3) using the LOG_LOCAL7 facility (if it exists  on
              the system).


       log_options (string, default no logging options)
              Same  as  the  -x  option  to  Amd.   Specify any logging
              options for Amd.  Options are comma delimited, and can be
              preceded by the string "no" to negate their meaning.  The
              "debug" logging option is only available if am-utils  was
              configured  with --enable-debug.  You can get the list of
              supported debugging and logging options  by  running  amd
              -H.  Possible values are:

              all       all messages
              debug     debug messages
              error     non-fatal system errors
              fatal     fatal errors
              info      information
              map       map errors
              stats     additional statistical information
              user      non-fatal user errors
              warn      warnings
              warning   warnings


       map_reload_interval (numeric, default=3600)
              The number of seconds that Amd will wait before it checks
              to see if any maps have  changed  at  their  source  (NIS
              servers,  LDAP  servers,  files,  etc.).  Amd will reload
              only those maps that have changed.


       nfs_allow_any_interface (string, default=no)
              Normally  Amd  accepts  local  NFS  packets   only   from
              127.0.0.1.   If  this  parameter is set to "yes" then Amd
              will accept local NFS packets from any  local  interface;
              this is useful on hosts that may have multiple interfaces
              where the system is forced to send all  outgoing  packets
              (even  those bound to the same host) via an address other
              than 127.0.0.1.


       nfs_allow_insecure_port (string, default=no)
              Normally Amd will refuse requests  coming  from  unprivi-
              leged  ports  (i.e.   ports  >= 1024 on Unix systems), so
              that only privileged users and the kernel  can  send  NFS
              requests  to it.  However, some kernels (certain versions
              of Darwin, MacOS X, and Linux) have bugs that cause  them
              to  use  unprivileged  ports in certain situations, which
              NFSv3 dynamically (without having to recompile Amd) until
              such time as NFSv3 support is desired again.


       nfs_retransmit_counter (numeric, default=11)
              Same  as the retransmit part of the -t timeout.retransmit
              option to Amd.  Specifies the number of  NFS  retransmis-
              sions that the kernel will use to communicate with Amd.


       nfs_retransmit_counter_udp (numeric, default=11)
              Same  as  the  nfs_retransmit_counter option, but for all
              UDP mounts only.


       nfs_retransmit_counter_tcp (numeric, default=11)
              Same as the nfs_retransmit_counter option,  but  for  all
              TCP mounts only.


       nfs_retransmit_counter_toplvl (numeric, default=11)
              Same  as  the nfs_retransmit_counter option, but only for
              Amd's top-level UDP mounts.


       nfs_retry_interval (numeric, default=8)
              Same as the timeout part  of  the  -t  timeout.retransmit
              option  to  Amd.   Specifies the NFS timeout interval, in
              tenths of seconds, between NFS/RPC retries (for  UDP  and
              TCP).  This is the value that the kernel will use to com-
              municate with Amd.

              Amd relies on the  kernel  RPC  retransmit  mechanism  to
              trigger  mount  retries.   The values of the nfs_retrans-
              mit_counter and the nfs_retry_interval parameters  change
              the  overall  retry interval.  Too long an interval gives
              poor interactive response; too short an  interval  causes
              excessive retries.


       nfs_retry_interval_udp (numeric, default=8)
              Same  as  the  nfs_retry_interval option, but for all UDP
              mounts only.


       nfs_retry_interval_tcp (numeric, default=8)
              Same as the nfs_retry_interval option, but  for  all  TCP
              mounts only.


       nfs_retry_interval_toplvl (numeric, default=8)
              Same as the nfs_retry_interval option, but only for Amd's

       nis_domain (string, default to local NIS domain name)
              Same as the -y option to Amd.  Specify an alternative NIS
              domain from which to fetch the NIS maps.  The default  is
              the  system  domain  name.  This option is ignored if NIS
              support is not available.


       normalize_hostnames (boolean, default=no)
              Same as the -n option to Amd.  If "yes,"  then  the  name
              refereed  to  by  ${rhost}  is normalized relative to the
              host database before being used.  The effect is to trans-
              late aliases into ``official'' names.


       normalize_slashes (boolean, default=yes)

              If  "yes,"  then  Amd  will  condense  all multiple ``/''
              (slash) characters  into  one  and  remove  all  trailing
              slashes.   If  "no," then Amd will not touch strings that
              may contain repeated or trailing slashes.  The latter  is
              sometimes  useful  with  SMB  mounts, which often require
              multiple slash characters in pathnames.


       os (string, default to compiled in value)
              Same as the -O option to Amd.  Allows you to override the
              compiled-in  name  of  the operating system.  Useful when
              the built-in name is not desired for backward compatibil-
              ity  reasons.   For  example,  if  the  build  in name is
              ``sunos5'', you can override  it  to  ``sos5'',  and  use
              older maps which were written with the latter in mind.


       osver (string, default to compiled in value)
              Same  as the -o option to Amd.  Overrides the compiled-in
              version number of the operating system.  Useful when  the
              built  in version is not desired for backward compatibil-
              ity reasons.  For example, if the  build  in  version  is
              ``2.5.1'',  you  can  override  it  to ``5.5.1'', and use
              older maps that were written with the latter in mind.


       pid_file (string, default=/dev/stdout)
              Specify a file to store the process  ID  of  the  running
              daemon  into.   If  not  specified,  Amd  will  print its
              process id onto the standard output.  Useful for  killing
              Amd after it had run.  Note that the PID of a running Amd
              can also be retrieved via amq -p.  This file is used only
              if the print_pid option is on.


       plock (boolean, default=yes)
              ning  multiple  Amd  processes.  For example, you can run
              another Amd in "test" mode, without affecting the primary
              Amd  process  in any way.  For safety reasons, the alter-
              nate program numbers that can be specified must be in the
              range  300019-300029,  inclusive.   Amq  has an option -P
              which can be used to specify an alternate program  number
              of an Amd to contact.  In this way, amq can fully control
              any number of Amd processes running on the same host.


       preferred_amq_port (numeric, default=0)
              Specify an alternate  Port-mapper  RPC  port  number  for
              Amd's  Amq  service.   This is used for both UDP and TCP.
              Setting this value to 0 (or not defining it)  will  cause
              Amd  to select an arbitrary port number.  Setting the Amq
              RPC service port to a specific number is useful in  fire-
              walled  or  NAT'ed  environments,  where you need to know
              which port Amd will listen on.


       print_pid (boolean, default=no)
              Same as the -p option to Amd.  If "yes," Amd  will  print
              its process ID upon starting.


       print_version (boolean, default=no)
              Same  as the -v option to Amd, but the version prints and
              Amd continues to run.  If "yes," Amd will print its  ver-
              sion  information  string, which includes some configura-
              tion and compilation values.


       restart_mounts (boolean, default=no)
              Same as the -r option to Amd.  If "yes" Amd will scan the
              mount table to determine which file systems are currently
              mounted.  Whenever one of these  would  have  been  auto-
              mounted, Amd inherits it.


       show_statfs_entries (boolean), default=no)
              If  "yes,"  then  all  maps which are browsable will also
              show the number of entries (keys)  they  have  when  "df"
              runs.  (This is accomplished by returning non-zero values
              to the statfs(2) system call).


       truncate_log (boolean), default=no)
              If "yes," then the log file (if it is  a  regular  file),
              will be truncated upon startup.


       unmount_on_exit (boolean), default=no)
              The  name  of  the vendor of the operating system.  Over-
              rides the compiled-in vendor name.  Useful when the  com-
              piled-in  name  is  not desired.  For example, most Intel
              based systems set the vendor name to ``unknown'', but you
              can set it to ``redhat.''


   Parameters applicable to regular map sections
       map_name (string, must be specified)
              Name of the map where the keys are located.


       tag (string, default no tag)
              Each  map  entry in the configuration file can be tagged.
              If no tag is specified, that map section will  always  be
              processed  by  Amd.   If  it  is specified, then Amd will
              process the map if the -T option was given  to  Amd,  and
              the  value given to that command-line option matches that
              in the map section.



EXAMPLES

       Here is a real Amd configuration file I use daily.

       # GLOBAL OPTIONS SECTION
       [ global ]
       normalize_hostnames =    no
       print_pid =              no
       restart_mounts =         yes
       auto_dir =               /n
       log_file =               /var/log/amd
       log_options =            all
       #debug_options =         all
       plock =                  no
       selectors_in_defaults =  yes
       # config.guess picks up "sunos5" and I don't want to edit my maps yet
       os =                     sos5
       # if you print_version after setting up "os," it will show it.
       print_version =          no
       map_type =               file
       search_path =            /etc/amdmaps:/usr/lib/amd:/usr/local/AMD/lib
       browsable_dirs =         yes

       # DEFINE AN AMD MOUNT POINT
       [ /u ]
       map_name =               amd.u

       [ /proj ]
       map_name =               amd.proj

       [ /src ]
       map_name =               amd.src
       ``am-utils'' info(1) entry.

       Linux NFS and Automounter Administration  by  Erez  Zadok,  ISBN
       0-7821-2739-8, (Sybex, 2001).

       http://www.am-utils.org

       Amd - The 4.4 BSD Automounter


AUTHORS

       Erez  Zadok  <ezk@cs.sunysb.edu>,  Computer  Science Department,
       Stony Brook University, Stony Brook, New York, USA.

       Other authors and contributors to am-utils  are  listed  in  the
       AUTHORS file distributed with am-utils.



                                 7 August 1997                     AMD.CONF(5)

Man(1) output converted with man2html