Provided by: libsnmp-base_5.2.1.2-4ubuntu2_all bug


       snmp_config - handling of Net-SNMP configuration files


       The  Net-SNMP package uses various configuration files to configure its
       applications.  This manual page merely describes the overall nature  of
       them, so that the other manual pages don’t have to.


       First  off,  there  are numerous places that configuration files can be
       found  and  read  from.   By  default,  the   applications   look   for
       configuration   files   in  the  following  4  directories,  in  order:
       /etc/snmp, /etc/snmp, /usr/lib/snmp, and $HOME/.snmp.  In each of these
       directories,  it  looks  for  files with the extension of both conf and
       local.conf (reading the second ones last).  In this manner, there are 8
       default   places   a   configuration  file  can  exist  for  any  given
       configuration file type.

       Additionally, the above  default  search  path  can  be  overridden  by
       setting the environment variable SNMPCONFPATH to a colon-separated list
       of directories to search for.

       Finally, applications that store persistent data will also look in  the
       /var/lib/snmp directory for configuration files there.


       Each  application  may  use  multiple  configuration  files, which will
       configure various different aspects of the application.  For  instance,
       the SNMP agent (snmpd) knows how to understand configuration directives
       in both  the  snmpd.conf  and  the  snmp.conf  files.   In  fact,  most
       applications  understand  how  to  read  the  contents of the snmp.conf
       files.  Note, however, that configuration directives understood in  one
       file  may  not be understood in another file.  For further information,
       read the associated manual page  with  each  configuration  file  type.
       Also,  most of the applications support a -H switch on the command line
       that will list the  configuration  files  it  will  look  for  and  the
       directives in each one that it understands.

       The  snmp.conf configuration file is intended to be a application suite
       wide configuration file that supports directives that  are  useful  for
       controlling  the  fundamental  nature  of all of the SNMP applications,
       such as how they all manipulate and parse the textual SNMP MIB files.


       It’s possible to switch in mid-file the  configuration  type  that  the
       parser  is  supposed  to  be reading.  Since that sentence doesn’t make
       much sense, lets give you an example: say that you wanted  to  turn  on
       packet  dumping output for the agent by default, but you didn’t want to
       do that for the rest of the applications (ie, snmpget, snmpwalk,  ...).
       Normally  to enable packet dumping in the configuration file you’d need
       to put a line like:

              dumpPacket true

       into the snmp.conf file.  But, this would turn it on  for  all  of  the
       applications.  So, instead, you can put the same line in the snmpd.conf
       file so that it only applies to the snmpd daemon.  However, you need to
       tell  the parser to expect this line.  You do this by putting a special
       type specification token inside a [] set.  In other words, inside  your
       snmpd.conf file you could put the above snmp.conf directive by adding a
       line like so:

              [snmp] dumpPacket true

       This tells the parser to parse the above line as if it  were  inside  a
       snmp.conf  file  instead of an snmpd.conf file.  If you want to parse a
       bunch of lines rather than just one  then  you  can  make  the  context
       switch  apply  to  the  remainder of the file or until the next context
       switch directive by putting the special token on a line by itself:

              # make this file handle snmp.conf tokens:
              dumpPacket true
              logTimestamp true
              # return to our original snmpd.conf tokens:
              rocommunity mypublic


       Any lines beginning with the character ’#’ in the  configuration  files
       are treated as a comment and are not parsed.


       Information  about  writing  C  code  that  makes use of this system in
       either the agent’s MIB modules or in applications can be found  in  the
       read_config(3) manual page.