无法在 RHEL5 64 位中启动 SNMP

无法在 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。有什么配置可以解决这个问题吗?提前致谢。

答案1

可能是默认安全上下文设置不正确。

因此,您可以通过发出以下命令递归恢复默认安全上下文。

首先改变到根目录。

#cd /
#restorecon -Rv .

答案2

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

$ ls -alZ

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

$ chcon

答案3

为了使我的 snmp 服务正常工作,我restorecon在运行 snmp 所涉及的库上执行命令。

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:s0system_u:object_r:lib_t:s0

相关内容