图Bind9请求统计与Cacti:named.stats =>权限被拒绝

我有时候在Linux Debian上设置了一个Cacti插件 ,允许通过SNMP / rndc查询来收集DNS统计信息,以便生成漂亮的graphics。

它工作得很好,直到几周前… 🙁

所以问题在于,像往常一样, 名为.stats的文件具有特定的用户/组文件权限。 但是Cacti poller用户没有读取它所需的文件权限…

工作stream程是:

  • Cacti轮询器调用bind-stats.sh脚本
  • 这个脚本做了一个主机名的snmpget
  • snmpget调用runstats.sh脚本
  • 终于runstats.sh执行以下操作:
    • 删除旧的named.stats
    • 做一个rndc stats ,生成一个新的named.stats文件。
    • 使用Perl模板读取&parsingnamed.stats文件

控制台输出

 mdw05:~# /usr/share/cacti/site/scripts/bind-stats.sh example.serverfault.com snmpCommunity cat: /var/cache/bind/named.stats: Permission denied mdw05:~# mdw05:~# ls -l /var/cache/bind/named.stats -rw-r----- 1 bind bind 4.8K Jul 23 10:54 /var/cache/bind/named.stats mdw05:~# 

因此,如何configuration绑定rndc命令来更改默认的文件权限,以允许脚本runstats.sh读取此文件…?
我已经尝试添加SNMP和/或Cacti用户作为绑定组的成员 ,但它不工作> _ <

谢谢你的帮助。


bind-stats.sh

 #!/bin/sh # $1 hostname $2 community /usr/bin/snmpget -v 2c -Ovq -c $2 $1 .1.3.6.1.4.1.18689.0.1.4.1.2.14.100.110.115.99.97.99.104.101.45.115.116.97.116.115.1 | sed 's/"//g' 

snmpd.conf

 ## cacti polling (http://docs.cacti.net/usertemplate:host:bind9.7) extend .1.3.6.1.4.1.18689.0.1 dnscache-stats /usr/local/sbin/cacti_bind9.7/runstats.sh 

runstats.sh

 #!/bin/sh rm -f /var/cache/bind/named.stats rndc stats cat /var/cache/bind/named.stats | perl /usr/local/sbin/cacti_bind9.7/dnsstats.pl 

为此使用sudo。 添加到/ etc / sudoers

snmp ALL = NOPASSWD:/usr/local/sbin/cacti_bind9.7/runstats.sh

并修改你的snmpd.conf延长线到:

扩展.1.3.6.1.4.1.18689.0.1 dnscache-stats / usr / bin / sudo /usr/local/sbin/cacti_bind9.7/runstats.sh

问候,

鲁本。