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
snmpvacm [COMMON OPTIONS] createAuth GROUPNAME [CONTEXTPREFIX] MODEL LEVEL AUTHTYPE CONTEXTMATCH VIEW
snmpvacm [COMMON OPTIONS] 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 com-mands commands
mands effectively create or delete rows in the appropriate one of these tables, and match the equiva-lent equivalent
lent configure directives 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 con-trol control
trol 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-inde-pendent security-model-independent
pendent 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 (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 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 (possi-bly (possibly
bly 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 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 createSec2Group com-mand, command,
mand, 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' (repre-senting (representing
senting '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 con-text context
text name of a request must match the CONTEXTPREFIX value for this access entry to be applica-ble applicable
ble 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 supported.
deleteAccess GROUPNAME [CONTEXTPREFIX] MODEL LEVEL
Delete an entry from the SNMPv3 access table, thus removing the specified 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 equiva-lent). equivalent).
lent).
createAuth GROUPNAME [CONTEXTPREFIX] MODEL LEVEL AUTHTYPE CONTEXTMATCH VIEW
Create an entry in the Net-SNMP extension to the standard access table, thus allowing a certain type
of access to the MIB view for the principals in the specified group. The interpretation of GROUP-NAME, GROUPNAME,
NAME, 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) and
snmptrapd.conf(5) for details of valid tokens.
VIEW
The name of the MIB view (as set up by createView or equivalent) defining the MIB objects 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 equiv-alent). equivalent).
alent).
EXAMPLES
Given a pre-existing user dave (which could be set up using the snmpusm(1) command), we could config-ure configure
ure 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 com-mands: commands:
mands:
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 set-ting setting
ting 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 flexibility 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)
|