9394952

导航

RHEL AS4上配置snmpd遇到问题及解决办法笔记

在一台RH EL AS4的新服务器上,按常规配置好/etc/snmp/snmp.conf,启动/sbin/service snmpd start后,在监控主机上执行检查命令时,出现

#snmpwalk -v 1 192.168.1.1 -c public .1.3.6.1.4.1.2021.53
UCD-SNMP-MIB::ucdavis.53.1.1 = INTEGER: 1
UCD-SNMP-MIB::ucdavis.53.2.1 = STRING: "getmem.sh"
UCD-SNMP-MIB::ucdavis.53.3.1 = STRING: "/bin/sh /home/getmem.sh"
UCD-SNMP-MIB::ucdavis.53.100.1 = INTEGER: 126
UCD-SNMP-MIB::ucdavis.53.101.1 = STRING: "/bin/sh: /home/getmem.sh: Permission denied"
UCD-SNMP-MIB::ucdavis.53.102.1 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.53.103.1 = ""
经查/home/getmem.sh的权限是777,在#状态下执行也是完全正常通过,而以命令行状态直接执行snmpd,监控主机取得数据是正确的,正在头痛多天ing....

网络搜索各种资料文档,最后总结是RHEL的新SELINUX内核令以daemon运行的系统程序受SELINUX的权限限制,无法执行其它脚本。一般网上介绍的解决办法都是直接关掉SELINUX或将SELINUX设置成通过模式,这样就失去了SELINUX的保护功能,查阅相关资料后,我采用单独关闭SELINUX里对SNMPD的保护:

#/usr/sbin/setsebool -P snmpd_disable_trans 1

然后,重启snmpd的服务,OK,监控主机读出正确的数据了

posted on 2007-08-09 11:30  9394952  阅读(169)  评论(0编辑  收藏  举报