我使用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:s0为system_u:object_r:lib_t:s0