# snmpvacm(1) - man - phpMan

[SNMPVACM(1)](https://www.chedong.com/phpMan.php/man/SNMPVACM/1/markdown)                                   Net-SNMP                                   [SNMPVACM(1)](https://www.chedong.com/phpMan.php/man/SNMPVACM/1/markdown)



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

## SYNOPSIS
       **snmpvacm** [COMMON OPTIONS] AGENT **createSec2Group** MODEL SECURITYNAME  GROUPNAME
       **snmpvacm** [COMMON OPTIONS] AGENT **deleteSec2Group** MODEL SECURITYNAME
       **snmpvacm** [COMMON OPTIONS] AGENT **createView** [-Ce] NAME SUBTREE MASK
       **snmpvacm** [COMMON OPTIONS] AGENT **deleteView** NAME SUBTREE
       **snmpvacm**  [COMMON  OPTIONS]   AGENT  **createAccess**  GROUPNAME [CONTEXTPREFIX] MODEL LEVEL CON‐
       TEXTMATCH READVIEW WRITEVIEW NOTIFYVIEW
       **snmpvacm** [COMMON OPTIONS]  AGENT **deleteAccess** GROUPNAME [CONTEXTPREFIX] MODEL LEVEL
       **snmpvacm** [COMMON OPTIONS]  AGENT **createAuth** GROUPNAME [CONTEXTPREFIX]  MODEL  LEVEL  AUTHTYPE
       CONTEXTMATCH VIEW
       **snmpvacm** [COMMON OPTIONS]  AGENT **deleteAuth** GROUPNAME [CONTEXTPREFIX] MODEL LEVEL AUTHTYPE


## DESCRIPTION
       **snmpvacm**  is  an SNMP application that can be used to do simple maintenance 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 appropriate one of these ta‐
       bles, and match the equivalent configure directives which are documented in the [_snmpd.conf(5)](https://www.chedong.com/phpMan.php/man/snmpd.conf/5/markdown)_
       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  ac‐
       cess  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 (represented  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 **createAc**‐‐
              **cess** 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 SECU‐
       RITYNAME 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 sub‐
       trees which may be individually included in or (occasionally) 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 con‐
              structing a view from a mixture of included and excluded subtrees, the  excluded  sub‐
              trees  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 en‐
       try 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 sub‐
       trees), 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  par‐
       ticular  MIB  views  for the principals in the specified 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 **cre**‐‐
              **ateSec2Group** command, or equivalent)

       CONTEXTPREFIX

              A string representing a context name (or collection of context names) which  this  ac‐
              cess  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  val‐
              ues:
              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  ob‐
              jects 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 ob‐
              jects 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  ob‐
              jects which may be included in notification request.

              Note that this aspect of access control is not currently supported.


   **deleteAccess** GROUPNAME [CONTEXTPREFIX] MODEL LEVEL
       Delete an entry from the SNMPv3 access table, thus removing the specified access control set‐
       tings.  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).


   **createAuth** GROUPNAME [CONTEXTPREFIX] MODEL LEVEL AUTHTYPE CONTEXTMATCH VIEW
       Create an entry in the Net-SNMP extension to the standard access table, thus allowing a  cer‐
       tain type of access to the MIB view for the principals in the specified group.  The interpre‐
       tation of GROUPNAME, CONTEXTPREFIX, MODEL, LEVEL and CONTEXTMATCH are the  same  as  for  the
       **createAccess**  directive.   The  extension  access table is indexed by the group name, context
       prefix, security model, security level and authtype values.

       AUTHTYPE

              The style of access that this entry should be applied to.  See [_snmpd.conf(5)](https://www.chedong.com/phpMan.php/man/snmpd.conf/5/markdown)_  and  _sn__‐
              [_mptrapd.conf(5)](https://www.chedong.com/phpMan.php/man/mptrapd.conf/5/markdown)_ for details of valid tokens.

       VIEW

              The  name of the MIB view (as set up by **createView** or equivalent) defining the MIB ob‐
              jects for which this style of access is authorized.


   **deleteAuth** GROUPNAME [CONTEXTPREFIX] MODEL LEVEL AUTHTYPE
       Delete an entry from the extension access table, thus removing the specified  access  control
       settings.   The  entry  to  be removed is indexed by the group name, context prefix, security
       model, security level and authtype values, which should match those used in the corresponding
       **createAuth** command (or equivalent).


       Note  that **snmpget** REQUIRES  an argument specifying the agent to query as described in the .I
       [snmpcmd(1)](https://www.chedong.com/phpMan.php/man/snmpcmd/1/markdown) manual page.


## EXAMPLES
       Given a pre-existing user _dave_ (which could be set up using the [_snmpusm(1)](https://www.chedong.com/phpMan.php/man/snmpusm/1/markdown)_ 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)](https://www.chedong.com/phpMan.php/man/.iso/1/markdown)_ , 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)](https://www.chedong.com/phpMan.php/man/.iso/1/markdown)[.org(3)](https://www.chedong.com/phpMan.php/man/.org/3/markdown)[.dod(6)](https://www.chedong.com/phpMan.php/man/.dod/6/markdown)[.inet(1)](https://www.chedong.com/phpMan.php/man/.inet/1/markdown)[.mgmt(2)](https://www.chedong.com/phpMan.php/man/.mgmt/2/markdown)[.mib-2(1)](https://www.chedong.com/phpMan.php/man/.mib-2/1/markdown)[.system(1)](https://www.chedong.com/phpMan.php/man/.system/1/markdown)_ , 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 mes‐
       sage).


## 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  intu‐
       itive.   These commands do not provide the full flexibility of the equivalent config file di‐
       rectives.


       There is (currently) no equivalent to the one-shot configure directives _rouser_ and _rwuser._


## SEE ALSO
       [snmpcmd(1)](https://www.chedong.com/phpMan.php/man/snmpcmd/1/markdown), [snmpusm(1)](https://www.chedong.com/phpMan.php/man/snmpusm/1/markdown), [snmpd.conf(5)](https://www.chedong.com/phpMan.php/man/snmpd.conf/5/markdown), [snmp.conf(5)](https://www.chedong.com/phpMan.php/man/snmp.conf/5/markdown), RFC 2575, Net-SNMP project FAQ



V5.9.1                                       05 Sep 2006                                 [SNMPVACM(1)](https://www.chedong.com/phpMan.php/man/SNMPVACM/1/markdown)
