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