檢視原始碼 snmp_user_based_sm_mib (snmp v5.18)
SNMP-USER-BASED-SM-MIB 的檢測功能
模組 snmp_user_based_sm_mib
實作 SNMP-USER-BASED-SM-MIB 的檢測功能,以及設定資料庫的功能。
請注意,驗證已根據 RFC 7860 (SNMP-USM-HMAC-SHA2-MIB) 進行擴展。
組態檔案的說明請參閱 SNMP 使用者手冊。
摘要
類型
列表的大小/長度取決於驗證協定
注意
「指示代表此使用者傳送至/來自 usmUserEngineID 所識別的 SNMP 引擎之訊息是否可以驗證,如果可以,則指示所使用的驗證協定類型。」
注意
「指向此 usmUserTable 中另一個概念列的指標。此另一個概念列中的使用者稱為複製來源使用者。」
注意
「使用此語法的每個物件定義都必須識別協定 P、金鑰 K 和產生 L 個八位元組輸出的雜湊演算法 H。」
注意
「代表使用者名稱的人類可讀字串。這是(以使用者為基礎的安全)模型相關的安全 ID。」
列表的大小/長度取決於隱私協定
注意
「指示代表此使用者傳送至/來自 usmUserEngineID 所識別的 SNMP 引擎之訊息是否可以免受洩漏保護,如果可以,則指示所使用的隱私協定類型。」
OCTET STRING (SIZE(0..32))
函數
將 USM 安全資料 (使用者) 新增至代理程式組態。相當於 usm.conf
檔案中的一行。
此函數會在系統啟動時從監督程式呼叫。
從代理程式組態中刪除 USM 安全資料 (使用者)。
將組態檔案中的所有資料插入資料庫,並銷毀所有舊資料,包括 StorageType 為 nonVolatile
的列。從組態檔案建立的列將具有 StorageType nonVolatile
。
類型
-type auth_key() :: snmp:octet_string().
列表的大小/長度取決於驗證協定
Size any for usmNoAuthProtocol
Size 16 for usmHMACMD5AuthProtocol
Size 20 for usmHMACSHAAuthProtocol
Size 28 for usmHMAC128SHA224AuthProtocol
Size 32 for usmHMAC192SHA256AuthProtocol
Size 48 for usmHMAC256SHA384AuthProtocol
Size 64 for usmHMAC384SHA512AuthProtocol
-type auth_protocol() ::
usmNoAuthProtocol | usmHMACMD5AuthProtocol | usmHMACSHAAuthProtocol |
usmHMAC128SHA224AuthProtocol | usmHMAC192SH256AuthProtocol | usmHMAC256SHA384AuthProtocol |
usmHMAC384SHA512AuthProtocol.
注意
「指示代表此使用者傳送至/來自 usmUserEngineID 所識別的 SNMP 引擎之訊息是否可以驗證,如果可以,則指示所使用的驗證協定類型。」
注意
此類型的一些項目實際上是由 SNMP-USM-HMAC-SHA2-MIB mib 定義。
AutonomousType
-type clone_from() :: zeroDotZero | snmp:row_pointer().
注意
「指向此 usmUserTable 中另一個概念列的指標。此另一個概念列中的使用者稱為複製來源使用者。」
RowPointer
-type key_change() :: snmp:octet_string().
注意
「使用此語法的每個物件定義都必須識別協定 P、金鑰 K 和產生 L 個八位元組輸出的雜湊演算法 H。」
OCTET STRING
-type name() :: snmp_framework_mib:admin_string().
注意
「代表使用者名稱的人類可讀字串。這是(以使用者為基礎的安全)模型相關的安全 ID。」
SnmpAdminString (SIZE(1..32))
-type priv_key() :: snmp:octet_string().
列表的大小/長度取決於隱私協定
Size any for usmNoPrivProtocol
Size 16 for usmDESPrivProtocol
Size 16 for usmAesCfb128Protocol
-type priv_protocol() :: usmNoPrivProtocol | usmDESPrivProtocol | usmAesCfb128Protocol.
注意
「指示代表此使用者傳送至/來自 usmUserEngineID 所識別的 SNMP 引擎之訊息是否可以免受洩漏保護,如果可以,則指示所使用的隱私協定類型。」
注意
此類型的一些項目實際上是由 SNMP-USM-AES-MIB mib 定義。
AutonomousType
-type public() :: string().
OCTET STRING (SIZE(0..32))
-type usm_entry() :: {EngineID :: snmp_framework_mib:engine_id(), UserName :: name(), SecName :: snmp_framework_mib:admin_string(), Clone :: clone_from(), AuthP :: auth_protocol(), AuthKeyC :: key_change(), OwnAuthKeyC :: key_change(), PrivP :: priv_protocol(), PrivKeyC :: key_change(), OwnPrivKeyC :: key_change(), Public :: public(), AuthKey :: auth_key(), PrivKey :: priv_key()}.
函數
add_user(EngineID, Name, SecName, Clone, AuthP, AuthKeyC, OwnAuthKeyC, PrivP, PrivKeyC, OwnPrivKeyC, Public, AuthKey, PrivKey)
檢視原始碼-spec add_user(EngineID, Name, SecName, Clone, AuthP, AuthKeyC, OwnAuthKeyC, PrivP, PrivKeyC, OwnPrivKeyC, Public, AuthKey, PrivKey) -> {ok, Key} | {error, Reason} when EngineID :: snmp_framework_mib:engine_id(), Name :: name(), SecName :: snmp_framework_mib:admin_string(), Clone :: clone_from(), AuthP :: auth_protocol(), AuthKeyC :: key_change(), OwnAuthKeyC :: key_change(), PrivP :: priv_protocol(), PrivKeyC :: key_change(), OwnPrivKeyC :: key_change(), Public :: public(), AuthKey :: auth_key(), PrivKey :: priv_key(), Key :: term(), Reason :: term().
將 USM 安全資料 (使用者) 新增至代理程式組態。相當於 usm.conf
檔案中的一行。
此函數會在系統啟動時從監督程式呼叫。
將組態檔案中的所有資料插入資料庫,並銷毀 StorageType 為 volatile
的所有舊列。從組態檔案建立的列將具有 StorageType nonVolatile
。
所有 snmp
計數器都會設定為零。
如果在組態檔案中找到錯誤,則會使用錯誤報告模組的 config_err/2
函數來報告,並且函數會因原因 configuration_error
而失敗。
ConfDir
是一個字串,指向組態檔案所在的目錄。
讀取的組態檔案是:usm.conf
。
從代理程式組態中刪除 USM 安全資料 (使用者)。
將組態檔案中的所有資料插入資料庫,並銷毀所有舊資料,包括 StorageType 為 nonVolatile
的列。從組態檔案建立的列將具有 StorageType nonVolatile
。
因此,在呼叫此函數後,SNMP-USER-BASED-SM-MIB 中的資料即為組態檔案中的資料。
所有 snmp
計數器都會設定為零。
如果在組態檔案中找到錯誤,則會使用錯誤報告模組的 config_err/2
函數來報告,並且函數會因原因 configuration_error
而失敗。
ConfDir
是一個字串,指向組態檔案所在的目錄。
讀取的組態檔案是:usm.conf
。