Обычно я без проблем выполняю 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 показывает следующее:
Примечание: по умолчанию прослушивается порт UDP 162 на всех интерфейсах IPv4. Поскольку порт 162 является привилегированным, snmptrapd обычно должен запускаться как root.
Я не знаком с snmpapp.conf, но я бы начал с проверки прав доступа для /var/lib/net-snmp/snmpapp.conf. Какой дистрибутив вы используете и используете ли вы какой-либо интерфейс для SNMP?