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都有此問題.