1、登录root帐户 # mkdev snmp 2、编辑/etc/snmpd.conf 注意snmpd.conf中的descr和objid的内容都是固定的,不要修改 descr=SCO TCP/IP Runtime Release 2.0.0 objid=SCO.1.2.0.0 contact=Jeff Liebermann(改成你的名字) location=Comix World Headquarters(改成你的位置) 3、编辑/etc/snmpd.comm 注释或删除所有带WRITE权限的行,缺省的community名字是"public". 例如: # test1 0.0.0.0 READ # test2 127.0.0.1 WRITE public 0.0.0.0 READ public是个口令(passwd). 如果考虑安全因素,应选择一个不同的community名字(passWord) 并将ip设置为本机127.0.0.1 例如: secret 127.0.0.1 READ 这样只有在本机运行MIB browser能够读到SNMP的参数.用本机ip地址也能工作 4、编辑/etc/snmpd.peers 其中SCO提供的hostmib OID那行配置是错误的,应该修改,如下所示: (OID正确, 但MIB用的是错误的OID, 所以原来hostmib的配置必须被换掉) # "unixd" 1.3.6.1.4.1.4.3.1.2 "aintNoThing" # "triald" 1.3.6.1.4.1.4.3.23.1 "aintNoThing" # "gated" 1.3.6.1.4.1.4.3.23.2 "aintNoThing" # "foosmuxd" 1.3.6.1.4.1.4.3.23.3 "mypasswd" "scoDoctorMIB" 1.3.6.1.4.1.32.100.1.1 "mypasswd" ####"hostmib" 1.3.6.1.4.1.32.99.1 "aintNoThing" "hostmib" 1.3.6.1.2.1.25 "aintNoThing" 前4行没有用,只需要最后一行hostmib. SCO配置的OID号码"...32.99.1"是错误的 5、编辑/etc/snmpd.trap 这时候应当没有任何traps. 6、确认snmp是否工作 执行命令# getmany localhost public iso 将看到有很多行信息,如果配置了hostmib,那么会列出来更多. 7、执行 # mkdev hostmib 选择install. # ps -ef grep smux 确认能看到有"/etc/smuxtcl /etc/sysadm.d/hostmib.tcl" 8、创建一个mib编号目标名称表: # cd /etc/sysadm.d # post_mosy -i hostmib.defs -o hostmib.dfn SCO的SNMP包中缺少hostmib.dfn文件,但getone和getmany命令都需要利用这个文件来 输出OID编号对应的描述名称. 9、重起网络 执行 # /etc/rc2.d/S89hostmib stop 停止smux hostmib # ps -e grep snmpd 记下snmpd的pid 比如结果是 1176 ? 00:11 snmpd 那么snmpd的pid就是1176, 然后执行# kill -1 1176 让snmpd守护进程重新读入修改后的新配置 再执行 # /etc/rc2.d/S89hostmib start 重启动smux hostmib 10、测试 下面的测试命令例子中sloth是需要测试的机器名字,你需要修改为自己的机器名字。 getone -f /etc/sysadm.d/hostmib.dfn sloth public mib-2.25.1.6.0 getone -f /etc/sysadm.d/hostmib.dfn sloth public 1.3.6.1.2.1.25.1.6.0 getmany -f /etc/sysadm.d/hostmib.dfn sloth public hrSystemProcesses getone -f /etc/sysadm.d/hostmib.dfn sloth public hrSystemProcesses.0 上述命令都应当返回当前正在运行的进程个数 检查SNMP状态的命令:/usr/bin/snmpstat -s sloth 11、Bugs SNMP的"getmany"程序有1处bug,它不能处理long OID. SCO 3.2v4.2、OSR5的5.0.0/5.0.2/5.0.4都有此问题.
(出处:http://www.sheup.com)