snmp_usm(3)

snmp_usm3

User-based security module for bsnmpd(1)

Library

(begemotSnmpdModulePath."usm" = /usr/lib/snmp_usm.so)

Overview

The snmp_usm module implements SNMPv3 User-Based Security Model MIB as defined in RFC 3414. The module is used to manage the internal list of SNMPv3 USM active users in bsnmpd. The module must be loaded for bsnmpd to receive and process SNMPv3 USM PDUs correctly.

Implementation notes

A short description of the objects in the MIB follows.

usmStats

The subtree contains statistics for the User-based Security Model PDU processing. The statistics are reset each time the module is loaded.

usmUserSpinLock

An advisory lock used to coordinate several Command Generator Applications when altering the SNMP USM users.

usmUserTable

The table contains all SNMP USM users configured in bsnmpd. The table contains the following objects

usmUserEngineID

An SNMP engine's administratively-unique identifier. Must be set to the same Engine ID as bsnmpd so that the user will actually be allowed to communicate with the daemon. The column is used as entry key and is not accessible for GET or SET operations.

usmUserName

The USM user name. The second entry key, again not accessible for GET or SET operations.

usmUserSecurityName

The column has the exact same value as the usmUserName column, however is accessible for GET operations.

usmUserCloneFrom

A GET on this column will return an empty OID. SET operations are currently not supported.

usmUserAuthProtocol

The value of this column contains the OID corresponding to the authentication protocol used by the USM user. The following protocols and their OIDs are known to snmp_usm module

NoAuthProtocol 1.3.6.1.6.3.10.1.1.1
HMACMD5AuthProtocol 1.3.6.1.6.3.10.1.1.2
HMACSHAAuthProtocol 1.3.6.1.6.3.10.1.1.3
usmUserAuthKeyChange, usmUserOwnAuthKeyChange

These columns may be used to change the user's authentication key.

usmUserPrivProtocol

The value of this column contains the OID corresponding to the privacy protocol used by the USM user. The following protocols and their OIDs are known to snmp_usm module

NoPrivProtocol 1.3.6.1.6.3.10.1.2.1
DESPrivProtoco 1.3.6.1.6.3.10.1.2.2
AesCfb128Protocol 1.3.6.1.6.3.10.1.2.4
usmUserPrivKeyChange, usmUserOwnPrivKeyChange

These columns may be used to change the user's privacy key.

usmUserPublic

An arbitrary octet string that may be modified to confirm a SET operation on any of the columns was successful.

usmUserStorageType

This column always has either of two values. Entries created via bsnmpd's configuration file always have this column set to readOnly (5) and it is not possible to modify those entries. Entries created by Command Generator Applications always have this column set to volatile(2) and such entries are lost when the module is restarted. A SET operation on this column is not allowed.

usmUserStatus

This column is used to create new USM user entries or delete existing ones from the table.

Files

/usr/share/snmp/defs/usm_tree.def

The description of the MIB tree implemented by snmp_usm.

Releases

34 releases since FreeBSD 9.0-RELEASE; the text changed 20 times.

  1. 9.0
  2. 9.1
  3. 9.2
  4. 9.3
  5. 10.0
  6. 10.1
  7. 10.2
  8. 10.3
  9. 10.4
  10. 11.0
  11. 11.1
  12. 11.2
  13. 11.3
  14. 11.4
  15. 12.0
  16. 12.1
  17. 12.2
  18. 12.3
  19. 12.4
  20. 13.0–13.2
  21. 13.3–16.0

Standards

IETF RFC 3414

Authors

Shteryana Shopova ⟨[email protected]⟩

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.