Normalerweise führe ich snmptraps und andere Net-SNMP-Befehle ohne Probleme mit der Root-Sitzung aus, aber wenn ich versuche, dieselben Befehle mit einem normalen Benutzer auszuführen, erhalte ich die folgenden Fehler:
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
Ich versuche, nach einer .conf-Datei zu suchen, um einem normalen Benutzer die erforderlichen Berechtigungen für alle Net-SNMP-Aufrufe zu erteilen, weiß aber nicht genau, was ich tun muss, um dieses Problem zu beheben.
Ich danke Ihnen für Ihre Hilfe.
Antwort1
Ich hatte ein ähnliches Problem und konnte es lösen, indem ich einer Diskussion unter folgte.http://sourceforge.net/p/net-snmp/bugs/1706/. Ich denke, der Kern des Problems liegt darin, dass der Befehl snmptrap mit einem nicht privilegierten Benutzer ausgeführt wird. In diesem Fall sollte eine benutzerspezifische Konfiguration durch Hinzufügen der folgenden Zeile erstellt werden:
persistentDir /home/user/.snmp_persist
in ~/.snmp/snmp.conf
Nachdem Sie snmptrap ausgeführt haben, sollten Sie etwas Ähnliches sehen:
Creating directory: /home/user/.snmp_persist
Ich hoffe das hilft.
Antwort2
Ein kurzer Blick auf die Manpage von snmptrapd zeigt Folgendes:
Hinweis: Standardmäßig wird auf allen IPv4-Schnittstellen auf UDP-Port 162 gewartet. Da 162 ein privilegierter Port ist, muss snmptrapd normalerweise als Root ausgeführt werden.
Ich bin mit snmpapp.conf nicht vertraut, würde aber zunächst einen Blick auf die Berechtigungen für /var/lib/net-snmp/snmpapp.conf werfen. Welche Distribution verwenden Sie und verwenden Sie eine Art Frontend für SNMP?