Você disse que o script está localizado em /tmp
; é sua /tmp
partição montada noexec
por acaso? Isso pode ser uma fonte ocasional de confusão.
Estou tentando executar o comando exec para realizar verificações por meio do snmp.
Estou no Debian 6.0
Aqui está o meu arquivo snmpd.conf
rwcommunity public 172.23.129.0/29
syslocation "Blah
syscontact [email protected]
sysname belleville.domain.net
sysdescr "Syslog Domain Server"
disk /
load 5 10 10
#exec 1.3.6.1.4.1.2021.8 /usr/bin/python /usr/local/domain/tools/check-syslog.py
exec 1.3.6.1.4.1.2021.8 /usr/bin/python /tmp/check-syslog.py
Aqui está a saída do snmpget:
snmpget -Of -cpublic -v1 belleville 1.3.6.1.4.1.2021.8.1.101.1
.iso.3.6.1.4.1.2021.8.1.101.1 = STRING: "/usr/bin/python: can't open file '/tmp/check-syslog.py': [Errno 13] Permission denied"
Não entendi o problema de permissão, pois os direitos no arquivo são 711 e o proprietário root: root, localizado na pasta / tmp. De qualquer forma, esse script é executado pelo usuário root, não é? Então 700 deve ser o suficiente de qualquer maneira? Isso me faz pensar que isso não parece um problema de permissão, mesmo com essa mensagem de erro.
Espero que alguém já tenha encontrado esse problema e possa me dar alguns conselhos: /
Muito obrigado por qualquer conselho:)
Você disse que o script está localizado em /tmp
; é sua /tmp
partição montada noexec
por acaso? Isso pode ser uma fonte ocasional de confusão.
O snmpd pode ser executado com uma conta diferente da raiz também.
Faça check-out executando um script de teste que execute "id".
Não tenho certeza, que é exatamente o seu problema. Nós encontramos o mesmo, mas com extend
, onde nome é obrigatório e OID não é. Então, nosso snmp configurado incorretamente estava executando apenas a última parte da linha de comando que não era um arquivo executável.
Sua variante:
exec 1.3.6.1.4.1.2021.8 /usr/bin/python /tmp/check-syslog.py
definirá /usr/bin/python
e nome e tentará executar apenas /tmp/check-syslog.py
sem intérprete
Corrija um com o nome da extensão check-syslog
:
exec 1.3.6.1.4.1.2021.8 check-syslog /usr/bin/python /tmp/check-syslog.py