查看源代码 snmp_view_based_acm_mib (snmp v5.18)

SNMP-VIEW-BASED-ACM-MIB 的检测函数

模块 snmp_view_based_acm_mib 实现了 SNMP-VIEW-BASED-ACM-MIB 的检测函数以及配置数据库的函数。

配置文件在 SNMP 用户手册中描述。

摘要

类型

注意

“此对象实例的值标识此概念行授权通知访问的 SNMP 上下文的 MIB 视图。”

注意

“此对象实例的值标识此概念行授权读取访问的 SNMP 上下文的 MIB 视图。”

注意

“此对象实例的值标识此概念行授权写入访问的 SNMP 上下文的 MIB 视图。”

	  exact  - exact match of prefix and contextName
          prefix - Only match to the prefix

INTEGER { exact (1), prefix (2) }

SnmpAdminString (SIZE(0..32))

注意

“此条目(例如,securityModel 和 securityName 的组合)所属组的名称。”

注意

“主体的 securityName,以与安全模型无关的格式表示。”

此位掩码与 vacmViewTreeFamilySubtree 的对应实例组合,定义了一系列视图子树。

注意

“一系列视图子树的人类可读名称。”

子树和掩码的对应实例是否定义了包含在 MIB 视图中或从 MIB 视图中排除的视图子树系列。

函数

向代理配置添加访问定义。等效于 vacm.conf 文件中的一个 vacmAccess 行。

向代理配置添加安全到组的定义。等效于 vacm.conf 文件中的一个 vacmSecurityToGroup 行。

向代理配置添加视图树族定义。等效于 vacm.conf 文件中的一个 vacmViewTreeFamily 行。

此函数在系统启动时从 supervisor 调用。

从代理配置中删除访问定义。

从代理配置中删除安全到组的定义。

从代理配置中删除视图树族定义。

将配置文件中的所有数据插入数据库,并销毁所有旧数据,包括 StorageType 为 nonVolatile 的行。从配置文件创建的行的 StorageType 将为 nonVolatile

类型

链接到此类型

access_notify_view_name()

查看源代码
-type access_notify_view_name() :: snmp_framework_mib:admin_string().

注意

“此对象实例的值标识此概念行授权通知访问的 SNMP 上下文的 MIB 视图。”

SnmpAdminString (SIZE(0..32))

链接到此类型

access_read_view_name()

查看源代码
-type access_read_view_name() :: snmp_framework_mib:admin_string().

注意

“此对象实例的值标识此概念行授权读取访问的 SNMP 上下文的 MIB 视图。”

SnmpAdminString (SIZE(0..32))

链接到此类型

access_write_view_name()

查看源代码
-type access_write_view_name() :: snmp_framework_mib:admin_string().

注意

“此对象实例的值标识此概念行授权写入访问的 SNMP 上下文的 MIB 视图。”

SnmpAdminString (SIZE(0..32))

-type context_match() :: exact | prefix.
	  exact  - exact match of prefix and contextName
          prefix - Only match to the prefix

INTEGER { exact (1), prefix (2) }

-type context_prefix() :: snmp_framework_mib:admin_string().

SnmpAdminString (SIZE(0..32))

-type group_name() :: snmp_framework_mib:admin_string().

注意

“此条目(例如,securityModel 和 securityName 的组合)所属组的名称。”

SnmpAdminString (SIZE(1..32))

-type internal_view_mask() :: null | [internal_view_mask_element()].
链接到此类型

internal_view_mask_element()

查看源代码
-type internal_view_mask_element() :: 0 | 1.
-type internal_view_type() :: 1 | 2.
-type mibview() :: [{SubTree :: snmp:oid(), Mask :: internal_view_mask(), Type :: internal_view_type()}].
-type security_name() :: snmp_framework_mib:admin_string().

注意

“主体的 securityName,以与安全模型无关的格式表示。”

SnmpAdminString (SIZE(1..32))

-type view_mask() :: [0 | 1].

此位掩码与 vacmViewTreeFamilySubtree 的对应实例组合,定义了一系列视图子树。

“1” 表示必须进行精确匹配,“0” 表示“通配符”(任何子标识符值都匹配)。

注意

请注意,在“外部”格式中,每个八位字节的每个位都由此列表中的“位”表示。也就是说,每个八位字节“包含”8 位;因此总共最多有 8 * 16 = 128 位。

OCTET STRING (SIZE (0..16))

-type view_name() :: snmp_framework_mib:admin_string().

注意

“一系列视图子树的人类可读名称。”

SnmpAdminString (SIZE(1..32))

-type view_type() :: included | excluded.

子树和掩码的对应实例是否定义了包含在 MIB 视图中或从 MIB 视图中排除的视图子树系列。

INTEGER { included(1), excluded(2) }

函数

链接到此函数

add_access(GroupName, Prefix, SecModel, SecLevel, Match, RV, WV, NV)

查看源代码
-spec add_access(GroupName, Prefix, SecModel, SecLevel, Match, RV, WV, NV) ->
                    {ok, Key} | {error, Reason}
                    when
                        GroupName :: group_name(),
                        Prefix :: context_prefix(),
                        SecModel :: snmp_framework_mib:security_model(),
                        SecLevel :: snmp_framework_mib:security_level(),
                        Match :: context_match(),
                        RV :: access_read_view_name(),
                        WV :: access_write_view_name(),
                        NV :: access_notify_view_name(),
                        Key :: term(),
                        Reason :: term().

向代理配置添加访问定义。等效于 vacm.conf 文件中的一个 vacmAccess 行。

链接到此函数

add_sec2group(SecModel, SecName, GroupName)

查看源代码
-spec add_sec2group(SecModel, SecName, GroupName) -> {ok, Key} | {error, Reason}
                       when
                           SecModel :: snmp_framework_mib:security_model(),
                           SecName :: security_name(),
                           GroupName :: group_name(),
                           Key :: term(),
                           Reason :: term().

向代理配置添加安全到组的定义。等效于 vacm.conf 文件中的一个 vacmSecurityToGroup 行。

链接到此函数

add_view_tree_fam(ViewName, SubTree, Status, Mask)

查看源代码
-spec add_view_tree_fam(ViewName, SubTree, Status, Mask) -> {ok, Key} | {error, Reason}
                           when
                               ViewName :: view_name(),
                               SubTree :: snmp:oid(),
                               Status :: view_type(),
                               Mask :: null | view_mask(),
                               Key :: term(),
                               Reason :: term().

向代理配置添加视图树族定义。等效于 vacm.conf 文件中的一个 vacmViewTreeFamily 行。

-spec configure(ConfDir) -> snmp:void() when ConfDir :: string().

此函数在系统启动时从 supervisor 调用。

将配置文件中的所有数据插入数据库,并销毁所有 StorageType 为 volatile 的旧行。从配置文件创建的行的 StorageType 将为 nonVolatile

所有 snmp 计数器都设置为零。

如果在配置文件中发现错误,则使用错误报告模块的函数 config_err/2 报告,并且该函数失败,原因为 configuration_error

ConfDir 是一个字符串,指向找到配置文件的目录。

读取的配置文件为:vacm.conf

-spec delete_access(Key) -> ok | {error, Reason} when Key :: term(), Reason :: term().

从代理配置中删除访问定义。

-spec delete_sec2group(Key) -> ok | {error, Reason} when Key :: term(), Reason :: term().

从代理配置中删除安全到组的定义。

链接到此函数

delete_view_tree_fam(Key)

查看源代码
-spec delete_view_tree_fam(Key) -> ok | {error, Reason} when Key :: term(), Reason :: term().

从代理配置中删除视图树族定义。

-spec reconfigure(ConfDir) -> snmp:void() when ConfDir :: string().

将配置文件中的所有数据插入数据库,并销毁所有旧数据,包括 StorageType 为 nonVolatile 的行。从配置文件创建的行的 StorageType 将为 nonVolatile

因此,调用此函数后,SNMP-VIEW-BASED-ACM-MIB 中的数据是来自配置文件的数据。

所有 snmp 计数器都设置为零。

如果在配置文件中发现错误,则使用错误报告模块的函数 config_err/2 报告,并且该函数失败,原因为 configuration_error

ConfDir 是一个字符串,指向找到配置文件的目录。

读取的配置文件为:vacm.conf