snmpd.conf: não é possível executar o script (Permissão negada)

2

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:)

    
por philippe 17.07.2011 / 13:44

3 respostas

2

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.

    
por 17.07.2011 / 13:50
2

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".

    
por 17.07.2011 / 22:51
1

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
    
por 03.03.2016 / 08:35

Tags