snmpvacm



SNMPVACM(1)                        Net-SNMP                        SNMPVACM(1)




NAME

       snmpvacm  -  creates  and  maintains  SNMPv3  View-based Access Control
       entries on a network entity


SYNOPSIS

       snmpvacm [COMMON OPTIONS] createSec2Group MODEL SECURITYNAME  GROUPNAME
       snmpvacm [COMMON OPTIONS] deleteSec2Group MODEL SECURITYNAME
       snmpvacm [COMMON OPTIONS] createView [-Ce] NAME SUBTREE MASK
       snmpvacm [COMMON OPTIONS] deleteView NAME SUBTREE
       snmpvacm  [COMMON OPTIONS] createAccess GROUPNAME [CONTEXTPREFIX] MODEL
       LEVEL CONTEXTMATCH READVIEW WRITEVIEW NOTIFYVIEW
       snmpvacm [COMMON OPTIONS] deleteAccess GROUPNAME [CONTEXTPREFIX]  MODEL
       LEVEL



DESCRIPTION

       snmpvacm  is  an SNMP application that can be used to do simple mainte-
       nance on the View-based Control Module (VACM) tables of an SNMP  agent.
       The  SNMPv3 VACM specifications (see RFC2575) define assorted tables to
       specify groups of users, MIB views,  and  authorised  access  settings.
       These snmpvacm commands effectively create or delete rows in the appro-
       priate one of these tables, and match the equivalent  configure  direc-
       tives which are documented in the snmpd.conf(5) man page.

       A  fuller  explanation of how these operate can be found in the project
       FAQ.


SUB-COMMANDS

   createSec2Group MODEL SECURITYNAME GROUPNAME
       Create an entry in the SNMPv3 security name to group table.  This table
       allows a single access control entry to be applied to a number of users
       (or ’principals’), and is indexed by the security  model  and  security
       name values.

       MODEL

              An  integer  representing  the security model, taking one of the
              following values:
              1 - reserved for SNMPv1
              2 - reserved for SNMPv2c
              3 - User-based Security Model (USM)


       SECURITYNAME

              A string representing the security name for a principal  (repre-
              sented  in  a security-model-independent format).  For USM-based
              requests, the security name is the same as the username.


       GROUPNAME

              A string identifying the group that this  entry  (i.e.  security
              name/model pair) should belong to.  This group name will then be
              referenced in the access table (see createAccess below).


   deleteSec2Group MODEL SECURITYNAME
       Delete an entry from the SNMPv3 security  name  to  group  table,  thus
       removing access control settings for the given principal.  The entry to
       be removed is indexed by  the  MODEL  and  SECURITYNAME  values,  which
       should  match  those  used in the corresponding createSec2Group command
       (or equivalent).


   createView [-Ce] NAME SUBTREE MASK
       Create an entry in the SNMPv3 MIB view table.  A MIB view consists of a
       family of view subtrees which may be individually included in or (occa-
       sionally) excluded from the view.  Each view subtree is  defined  by  a
       combination  of  an  OID  subtree together with a bit string mask.  The
       view table is indexed by the view name and subtree OID values.

       [-Ce]

              An optional flag to indicate that this view  subtree  should  be
              excluded  from the named view.  If not specified, the default is
              to include the subtree in the view.  When  constructing  a  view
              from  a  mixture of included and excluded subtrees, the excluded
              subtrees should be defined first -  particularly  if  the  named
              view is already referenced in one or more access entries.

       NAME

              A  string  identifying  a particular MIB view, of which this OID
              subtree/mask forms part (possibly the only part).

       SUBTREE

              The OID defining the root of the subtree to add to  (or  exclude
              from) the named view.

       MASK

              A  bit  mask  indicating which sub-identifiers of the associated
              subtree OID should be regarded as significant.


   deleteView NAME SUBTREE
       Delete an entry from the SNMPv3 view table, thus removing  the  subtree
       from  the  given  MIB  view.  Removing the final (or only) subtree will
       result in the deletion of the view.  The entry to be removed is indexed
       by  the  NAME  and SUBTREE values, which should match those used in the
       corresponding createView command (or equivalent).

       When removing subtrees from a mixed view (i.e. containing both included
       and  excluded subtrees), the included subtrees should be removed first.


   createAccess GROUPNAME [CONTEXTPREFIX] MODEL  LEVEL  CONTEXTMATCH  READVIEW
       WRITEVIEW NOTIFYVIEW
       Create  an  entry  in  the SNMPv3 access table, thus allowing a certain
       level of access to particular MIB views for the principals in the spec-
       ified  group (given suitable security model and levels in the request).
       The access table is indexed by the group name, context prefix, security
       model and security level values.

       GROUPNAME

              The  name of the group that this access entry applies to (as set
              up by a createSec2Group command, or equivalent)

       CONTEXTPREFIX

              A string representing a context name (or collection  of  context
              names)  which  this access entry applies to.  The interpretation
              of this string depends on the value of  the  CONTEXTMATCH  field
              (see below).

              If omitted, this will default to the null context "".

       MODEL

              An  integer  representing  the security model, taking one of the
              following values:
              1 - reserved for SNMPv1
              2 - reserved for SNMPv2c
              3 - User-based Security Model (USM)

       LEVEL

              An integer representing the minimal security level,  taking  one
              of the following values:
              1 - noAuthNoPriv
              2 - authNoPriv
              3 - authPriv

              This  access  entry will be applied to requests of this level or
              higher (where authPriv is higher than  authNoPriv  which  is  in
              turn higher than noAuthNoPriv).

       CONTEXTMATCH

              Indicates  how  to  interpret  the CONTEXTPREFIX value.  If this
              field has the value ’1’ (representing ’exact’) then the  context
              name of a request must match the CONTEXTPREFIX value exactly for
              this access entry to be applicable to that request.

              If this field has the value ’2’ (representing ’prefix’) then the
              initial  substring  of  the context name of a request must match
              the CONTEXTPREFIX value for this access entry to  be  applicable
              to that request.  This provides a simple form of wildcarding.

       READVIEW

              The name of the MIB view (as set up by createView or equivalent)
              defining the MIB objects for which this request may request  the
              current values.

              If  there  is  no  view  with this name, then read access is not
              granted.

       WRITEVIEW

              The name of the MIB view (as set up by createView or equivalent)
              defining  the MIB objects for which this request may potentially
              SET new values.

              If there is no view with this name,  then  read  access  is  not
              granted.

       NOTIFYVIEW

              The name of the MIB view (as set up by createView or equivalent)
              defining the MIB objects which may be included  in  notification
              request.

              Note  that  this  aspect of access control is not currently sup-
              ported.


   deleteAccess GROUPNAME [CONTEXTPREFIX] MODEL LEVEL
       Delete an entry from the SNMPv3 access table, thus removing the  speci-
       fied  access  control  settings.  The entry to be removed is indexed by
       the group name, context  prefix,  security  model  and  security  level
       values, which should match those used in the corresponding createAccess
       command (or equivalent).


EXAMPLES

       Given a pre-existing user dave (which could be set up  using  the  snm-
       pusm(1)  command),  we  could  configure  full read-write access to the
       whole OID tree using the commands:


              snmpvacm localhost createSec2Group 3 dave RWGroup

              snmpvacm localhost createView   all .1 80

              snmpvacm localhost createAccess  RWGroup 3 1 1 all all none

       This creates a new security group named "RWGroup" containing the SNMPv3
       user  "dave",  a  new  view "all" containing the full OID tree based on
       .iso(1) , and then allows those users  in  the  group  "RWGroup"  (i.e.
       "dave")  both  read-  and write-access to the view "all" (i.e. the full
       OID tree) when using authenticated SNMPv3 requests.


       As a second example, we could set up read-only access to a  portion  of
       the OID tree using the commands:


              snmpvacm localhost createSec2Group 3 wes ROGroup

              snmpvacm localhost createView   sysView  system fe

              snmpvacm localhost createAccess  ROGroup 3 0 1 sysView none none

       This creates a new security group named "ROGroup" containing the  (pre-
       existing) user "wes", a new view "sysView" containing just the OID tree
       based on .iso(1).org(3).dod(6).inet(1).mgmt(2).mib-2(1).system(1) , and
       then  allows  those  users  in  the  group "ROGroup" (i.e. "wes") read-
       access, but not write-access to the view  "sysView"  (i.e.  the  system
       group).



EXIT STATUS

       The following exit values are returned:

       0 - Successful completion

       1 - A usage syntax error (which displays a suitable usage message) or a
       request timeout.

       2 - An error occurred while executing the command (which also  displays
       a suitable error message).



LIMITATIONS

       This  utility  does  not  support  the  configuration  of new community
       strings, so is only of use for setting up new access control for SNMPv3
       requests.   It  can  be  used to amend the access settings for existing
       community strings, but not to set up new ones.


       The use of numeric parameters for secLevel and contextMatch  parameters
       is  less than intuitive.  These commands do not provide the full flexi-
       bility of the equivalent config file directives.


       There is (currently) no equivalent to the one-shot configure directives
       rouser and rwuser.



SEE ALSO

       snmpcmd(1), snmpusm(1), snmpd.conf(5), snmp.conf(5), RFC 2575, Net-SNMP
       project FAQ



4th Berkeley Distribution         30 May 2003                      SNMPVACM(1)

Man(1) output converted with man2html