Provided by: libsnmp-base_5.9.4+dfsg-1.1ubuntu3.1_all bug

NAME

       snmp_config - handling of Net-SNMP configuration files

DESCRIPTION

       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.

DIRECTORIES SEARCHED

       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,
       /usr/share/snmp, /usr/lib/x86_64-linux-gnu/snmp, and $HOME/.snmp.  In each of these directories, it looks
       for files snmp.conf, snmpd.conf and/or  snmptrapd.conf,  as  well  as  snmp.local.conf,  snmpd.local.conf
       and/or  snmptrapd.local.conf.  *.local.conf  are  always  read  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.  The path for the persistent data
       should be included when running applications that use persistent storage, such as snmpd.

       Applications will read persistent configuration files in the following order of preference:

              file in SNMP_PERSISTENT_FILE environment variable
              directories in SNMPCONFPATH environment variable
              directory defined by persistentDir snmp.conf variable
              directory in SNMP_PERSISTENT_DIR environment variable
              default /var/lib/snmp directory

       Finally, applications will write persistent configuration files in the following order of preference:

              file in SNMP_PERSISTENT_FILE environment variable
              directory defined by persistentDir snmp.conf variable
              directory in SNMP_PERSISTENT_DIR environment variable
              default /var/lib/snmp directory

       Note:  When using SNMP_PERSISTENT_FILE, the filename should match the  application  name.   For  example,
       /var/net-snmp/snmpd.conf.

CONFIGURATION FILE TYPES

       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.

SWITCHING CONFIGURATION TYPES IN MID-FILE

       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:
              [snmp]
              dumpPacket true
              logTimestamp true
              # return to our original snmpd.conf tokens:
              [snmpd]
              rocommunity mypublic

       The same approach can be used to set configuration directives for a  particular  client  application  (or
       group  of  applications).   For  example,  any  program  that uses the 'snmp_parse_args()' call to handle
       command-line arguments (including the standard  command-line  tools  shipped  as  part  of  the  Net-SNMP
       distributions) will automatically read the config file 'snmpapp.conf'.  To set library-level settings for
       these applications (but not other more-specific tools), use configuration such as the following:

              [snmp] defCommunity myCommunity

       for a single directive, or

              # make this file handle snmp.conf tokens:
              [snmp]
              defCommunity myCommunity
              defVersion   2c
              # return to our original snmpapp.conf tokens:
              [snmpapp]

       for multiple settings.  Similarly for any other application token (as passed to init_snmp()).

COMMENTS

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

INCLUDING OTHER CONFIGURATION FILES

       It is possible to include other configuration files  for  processing  during  normal  configuration  file
       processing.:

              # include site specific config
              includeFile site.conf

       This will load the specified configuration file. The
       path to file must be either absolute, starting with '/',
       or relative. The relative path is then relative to the directory
       where the parent file with 'includeFile' directive resides.

       The included file name does not need to have '.conf' suffix.

              # include a all *.conf files in a directory
              includeDir /etc/snmp/config.d

       This will search specified directory for all files with '.conf'
       suffix and process them as if they were included using includeFile
       directive. The configuration files are not processed in any particular
       order.

       The specified directory must be absolute directory path.

API INTERFACE

       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 netsnmp_config_api(3) manual page.

SEE ALSO

       snmpconf(1), netsnmp_config_api(3), snmp.conf(5), snmpd.conf(5)

V5.9.4.pre2                                        08 Mar 2010                                    SNMP_CONFIG(5)