无法在RHEL5 64位中启动SNMP

我使用yum在我的64位Centos5上安装了net-snmp,net-snmp-utils和net-snmp-devel。

以下是我安装的软件包:

net-snmp-devel-5.3.2.2-14.el5_7.1 net-snmp-utils-5.3.2.2-14.el5_7.1 net-snmp-devel-5.3.2.2-14.el5_7.1 net-snmp-libs-5.3.2.2-14.el5_7.1 net-snmp-libs-5.3.2.2-14.el5_7.1 net-snmp-5.3.2.2-14.el5_7.1 net-snmp-perl-5.3.2.2-14.el5_7.1 

启动snmp,

 [root@localhost ~]# /etc/init.d/snmpd start Starting snmpd: /usr/sbin/snmpd: error while loading shared libraries: librpmdb4.4.so: cannot open shared object file: Permission denied [FAILED] 

但是当我禁用SELinux时,

 [root@localhost ~]# setenforce 0 [root@localhost ~]# /etc/init.d/snmpd start Starting snmpd: [ OK ] 

当我启用SELinux时,它不能再成功启动。

 [root@localhost ~]# setenforce 1 [root@localhost ~]# /etc/init.d/snmpd restart Stopping snmpd: [ OK ] Starting snmpd: /usr/sbin/snmpd: error while loading shared libraries: librpmdb-.4.so: cannot open shared object file: Permission denied [FAILED] 

我该怎么办? 我当然需要启用我的SELinux。 任何可以解决这个问题的configuration? 提前致谢。

这可能是默认的安全上下文没有正确设置。

所以,你可以通过下面的命令recursion地恢复默认的安全上下文。

首先转到根目录。

 #cd / #restorecon -Rv . 

您可以使用以下命令来检查安全上下文。

 $ ls -alZ 

您可以使用以下命令来更改它:

 $ chcon 

为了使我的snmp服务起作用,我在运行snmp的库上执行命令restorecon

 restorecon -vv /lib64/libres* restorecon -vv /lib64/libnsl* restorecon -vv /lib64/libdl* restorecon -vv /lib64/libm* restorecon -vv /lib64/libcrypt* restorecon -vv /lib64/libutil* restorecon -vv /lib64/libpthread* restorecon -vv /lib64/libc* restorecon -vv /lib64/librpmdb* restorecon -vv /usr/lib64/librpmdb-4.4.so restorecon -vv /lib64/libselinux* restorecon -vv /lib64/libnss3* restorecon -vv /usr/lib64/libnss3.so restorecon -vv /usr/lib64/libnssutil3.so restorecon -vv /usr/lib64/libplds4.so restorecon -vv /usr/lib64/libplc4.so restorecon -vv /usr/lib64/libnspr4.so restorecon -vv /lib64/librt.so.1 restorecon -vv /lib64/librt* restorecon -vv /usr/lib64/libbz2.so.1 restorecon -vv /usr/lib64/libbz2* restorecon -vv /lib64/libgcc_s* restorecon -vv /usr/lib64/libsysfs* restorecon -vv /usr/lib64/libsqlite3* restorecon -vv /usr/lib64/libelf* restorecon -vv /lib64/libsepol* restorecon -vv /lib64/ld-linux-x86-64.so.2 restorecon -vv /lib64/ld-linux-x86-64* restorecon -vv /lib64/ld-2.5.so 

restorecon将上述库的安全上下文从system_u:object_r:file_t:s0 system_u:object_r:lib_t:s0system_u:object_r:lib_t:s0