У меня есть скрипт python, который читает последнюю строку текстового файла (присутствует в папке location / home / anas / projects) и печатает его. Текстовый файл содержит одно значение с плавающей запятой в каждой строке. Когда я запускаю этот скрипт python из терминала, он работает нормально. Проблема у меня в том, что я хочу использовать этот скрипт с snmp. Поэтому я использовал расширение snmp и добавил
extend snmp-datarate /usr/bin/python2.7 /usr/local/bin/snmp-feedback.py
в файл /etc/snmp/snmpd.conf. и когда я запускаю эту команду
snmpwalk -v2c -c public 127.0.0.1 NET-SNMP-EXTEND-MIB::nsExtendObjects
, она выдает мне следующую ошибку:
NET -SNMP-EXTEND-MIB :: nsExtendOutLine. "snmp-datarate" .4 = STRING: OSError: [Errno 13] Отказано в доступе: '/ home / anas / projects'
Теперь я подумал, что это может произойти из-за использования python, поэтому я также попробовал сценарий оболочки, назвав его snmp-agra-datarate. sh, который имеет только две строки кода
#!/bin/bash
echo $( tail -n 1 /home/anas/projects/6780-log.txt )
Запуск этого сценария из терминала дает ожидаемый результат. Затем я расширил snmp с помощью
extend datarate /usr/local/bin/snmp-agra-datarate.sh
, а затем снова попытался запустить snmp walk. я получаю похожую ошибку
NET -SNMP-EXTEND-MIB :: nsExtendOutLine. "datarate" .2 = STRING: tail: не могу открыть '/home/anas/projects/6780-log.txt' для чтение: Отказано в доступе
Что-то мне не хватает для чтения внешнего текстового файла с python или оболочкой для расширенного агента snmp?
-я использую Ubuntu 16.04 LTS и net -snmp v5.8
-Both python и сценарии оболочки имеют разрешения на выполнение. (я сделал chmod 755)
-текстовый файл также имеет все разрешения