我一直尝试按照本网站上的说明在 Ubuntu(VMware Workstation)上安装 MRTG:https://help.ubuntu.com/community/MRTG。
但是,每当我到达这个配置点时:
cfgmaker snmp_community_string@ip_address_of_device_to_be_monitored > /etc/mrtg.cfg
就我的情况来说:
cfgmaker [email protected] > /etc/mrtg.cfg
我不断收到这样的回复:
bash: /etc/mrtg.cfg: Permission denied.
我尝试使用sudo
和运行该命令sudo bash
,但似乎没有任何方法可以解决问题。
snmpwalk
我设法在我想要监控的设备(具有上述 IP 地址的树莓派)上执行并查看 RPI 的 MIB。
我的目标是获取 RPI 的 CPU 温度图表,但我现在真的陷入困境,无法继续前进。
有人知道如何进行吗?
答案1
有几种方法可以实现这一点:
使用单引号将整个命令括起来,如下所示:
sudo bash -c 'cfgmaker [email protected] > /etc/mrtg.cfg'
在中创建脚本
~/bin
#!/bin/bash cfgmaker [email protected] > /etc/mrtg.cfg
并执行
sudo
:sudo MyScript.sh
运行
sudo --shell
并执行:cfgmaker [email protected] > /etc/mrtg.cfg
答案2
该错误意味着您没有足够的权限打开文件/etc/mrtg.cfg
进行写入。
除了Fabby 给出了很好的答案要在的非交互式 root 拥有的会话中运行该命令bash
,您还可以使用tee
:
echo 'cfgmaker [email protected]' | sudo tee /etc/mrtg.cfg
如果您想要附加(可能是下一次),请使用-a
以下选项tee
:
echo 'cfgmaker [email protected]' | sudo tee -a /etc/mrtg.cfg
需要注意的是,该字符串将显示在终端(STDOUT)上,您可以通过以下方式禁用此功能:
echo 'cfgmaker [email protected]' | sudo tee /etc/mrtg.cfg >/dev/null
<<<
您还可以使用 Here Strings( ) 而不是管道来做同样的事情:
sudo tee /etc/mrtg.cfg <<<'cfgmaker [email protected]'
sudo tee -a /etc/mrtg.cfg <<<'cfgmaker [email protected]'
sudo tee /etc/mrtg.cfg <<<'cfgmaker [email protected]' >/dev/null
答案3
或者你可以使用:
sudo su
cfgmaker [email protected] > /etc/mrtg.cfg
答案4
我在 sudo 下运行时遇到了同样的问题,所以我改用 su,命令运行没有错误。如果您不知道您的 root 密码,那么您必须先更改 root 密码,然后才能以 root 身份运行此命令。