SNMP:非 root 用戶

SNMP:非 root 用戶

我通常會執行 snmptraps 和其他 net-snmp 命令,而不會出現 root 會話問題,但是當我嘗試使用普通用戶執行相同的命令時,我會收到以下錯誤:

Cannot rename /var/lib/net-snmp/snmpapp.conf to /var/lib/net-snmp/snmpapp.0.conf

Cannot unlink /var/lib/net-snmp/snmpapp.conf

read_config_store open failure on /var/lib/net-snmp/snmpapp.conf

read_config_store open failure on /var/lib/net-snmp/snmpapp.conf

read_config_store open failure on /var/lib/net-snmp/snmpapp.conf

我嘗試搜尋 .conf 文件,以向普通用戶添加所有 net-snmp 的必要權限,但我沒有找到解決此問題的確切方法。

感謝您的幫助。

答案1

我遇到過類似的問題,並透過以下討論解決了它:http://sourceforge.net/p/net-snmp/bugs/1706/。我認為問題的本質與使用非特權使用者執行 snmptrap 命令有關。在這種情況下,應透過新增以下行來建立使用者特定配置:

persistentDir /home/user/.snmp_persist

在~/.snmp/snmp.conf中

運行 snmptrap 後,您應該會看到類似以下內容的內容:

Creating directory: /home/user/.snmp_persist

我希望這有幫助。

答案2

快速瀏覽 snmptrapd 手冊頁會顯示以下內容:

注意:預設會偵聽所有 IPv4 介面上的 UDP 連接埠 162。由於 162 是特權端口,因此 snmptrapd 通常必須以 root 身份運行。

我不熟悉 snmpapp.conf,但我會先查看 /var/lib/net-snmp/snmpapp.conf 的權限。您正在運行什麼發行版?

相關內容