3ware SNMP 插件无法与 selinux 配合使用

3ware SNMP 插件无法与 selinux 配合使用

有谁有使用经验3ware 的 SNMP 库在 SELINUX 下?我收到以下错误:

snmpget -v 2c -c pub hostname TW-RAID-MIB::twRaidUnitStatus.1
Error in packet
Reason: noCreation (That table does not support row creation or that object can not ever be created)
Failed object: TW-RAID-MIB::twRaidUnitStatus.1

如果禁用 selinux 并重新启动 snmpd,snmpget 就可以正常工作。

我已采取以下步骤,但均未能解决问题:

  • yum 更新 net-snmp
  • yum 更新 selinux 策略
  • /sbin/restorecon -R -v /etc/snmp /var/net-snmp /usr/share/snmp /dev/twa*

答案1

以下策略允许 net-snmp + 3ware snmp 与 selinux 协同工作。这不是一个理想的解决方案,因为它允许 snmpd 访问所有类型的 device_t 和 var_t 文件。它实际上只需要访问 /dev/twa*、/var/net-snmp、/usr/share/snmp 和一些其他库和配置文件。如果有人能制定更好的策略,我希望看到它。

policy_module(snmp, 1.0)

require {
  type snmpd_exec_t;
  type snmpd_t;
  type device_t;
  type var_t;
}

allow snmpd_t device_t : file rw_file_perms;
allow snmpd_t device_t : chr_file rw_file_perms;
allow snmpd_t device_t : dir rw_dir_perms;
allow snmpd_t var_t : file rw_file_perms;
allow snmpd_t var_t : file create_file_perms;
allow snmpd_t var_t : dir rw_dir_perms;
allow snmpd_t var_t : lnk_file { getattr read write create };

相关内容