Назад | Перейти на главную страницу

Невозможно запустить SNMP в 64-разрядной версии RHEL5

Я установил net-snmp, net-snmp-utils и net-snmp-devel в свой 64-битный Centos5 с помощью yum.

Я установил следующие пакеты:

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 был включен. Любые конфигурации, которые могут исправить это? Заранее спасибо.

Возможно, контексты безопасности по умолчанию установлены неправильно.

Таким образом, вы можете рекурсивно восстановить контексты безопасности по умолчанию, введя следующую команду.

Сначала перейдите в корневой каталог.

#cd /
#restorecon -Rv .

Вы можете использовать следующую команду для проверки контекста безопасности.

$ ls -alZ

Вы можете использовать следующую команду, чтобы изменить его:

$ chcon

Чтобы моя служба 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