我从 OVH(Kimsufi 2G)租用了一个 VPS,但在让 snmpd 正常工作方面遇到了麻烦。
该盒子是运行 OVH 定制内核的 Debian Squeeze:
root@vps:~# uname -a
Linux vps 2.6.38.2-grsec-xxxx-grs-ipv6-64 #2 SMP Thu Aug 25 16:40:22 UTC 2011 x86_64 GNU/Linux
问题是用以下方式snmpd
发送垃圾邮件:syslog
cannot open /proc/net/*
root@vps:~# tail -f /var/log/syslog
Feb 8 23:57:38 vps snmpd[32481]: cannot open /proc/net/dev ...
Feb 8 23:57:53 vps snmpd[32481]: cannot open /proc/net/dev ...
Feb 8 23:58:01 vps /USR/SBIN/CRON[3074]: (root) CMD (/usr/local/rtm/bin/rtm 39 > /dev/null 2> /dev/null)
Feb 8 23:58:08 vps snmpd[32481]: cannot open /proc/net/dev ...
Feb 8 23:58:23 vps snmpd[32481]: cannot open /proc/net/dev ...
Feb 8 23:58:38 vps snmpd[32481]: cannot open /proc/net/snmp ...
Feb 8 23:58:38 vps snmpd[32481]: cannot open /proc/net/dev ...
Feb 8 23:58:53 vps snmpd[32481]: cannot open /proc/net/dev ...
Feb 8 23:59:01 vps /USR/SBIN/CRON[3117]: (root) CMD (/usr/local/rtm/bin/rtm 39 > /dev/null 2> /dev/null)
Feb 8 23:59:08 vps snmpd[32481]: cannot open /proc/net/dev ...
问题似乎是由grsecurity
内核补丁引起的,如上所述这里和这里。
但是没有grsec_proc
组,所以我无法更改组snmpd
运行方式,如第一个链接中提到的那样,并且重新编译和安装新内核不是一个选项,因为我不够专业。
还有其他方法可以解决这个问题吗?
答案1
您需要启用进程组在grsec
内核配置中:
#
# Filesystem Protections
#
[…]
CONFIG_GRKERNSEC_PROC_USERGROUP=y
CONFIG_GRKERNSEC_PROC_GID=1005
[…]
然后你必须把你想要访问的用户放入/proc
该组中group-id:1005
。