![SNMP 社区字符串权限](https://linux22.com/image/505497/SNMP%20%E7%A4%BE%E5%8C%BA%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%9D%83%E9%99%90.png)
我正在考虑通过组策略为 Windows 服务器部署 SNMP 设置,并准备了一个管理模板。然而,我在应用策略时注意到了奇怪的行为。
创建了两个具有不同权限的社区字符串。即:
MYCOMMUNITY - READ ONLY
MYCOMMUNITY - READ CREATE
Windows 注册表还显示正在创建两个值
HKLM\Software\Policies\SNMP\Parameters\ValidCommunities
NAME TYPE DATA
1 REG_SZ MYCOMMUNITY
MYCOMMUNITY REG_DWORD 0x00000010 (16)
这两个注册表值中的后者生成了我想要的 READ CREATE 社区,但我似乎无法阻止第一个字符串条目的生成。
我的问题是读取创建权限是否优先于只读权限,或者这种配置是否会出现“随机”行为?
谢谢
答案1
对于 SNMP v1,您希望社区有所不同,即
MYROCOMMUNITY - READ ONLY
MYRWCOMMUNITY - READ WRITE
由于 SNMP v1 没有用户名,因此社区决定访问级别。我不知道 Windows 如何处理这种情况。
答案2
实际上已经找到了使用组策略的解决方案。尽管我昨天读到过,但您实际上可以使用 adm 模板删除注册表值。为我解决这个问题的策略代码如下。
POLICY "Delete Default SNMP Community"
EXPLAIN "Deletes the first Community String from SNMP"
KEYNAME "Software\Policies\SNMP\Parameters\ValidCommunities"
VALUENAME "1"
VALUEON DELETE
VALUEOFF "MYCOMMUNITY"
END POLICY
我知道这与所问的问题略有不同。但是这实现了我需要的结果 - 即我知道具有读取创建权限的单个社区。