Como todos têm permissões de execução, há apenas duas possibilidades para mim:
- Você não pode acessar o arquivo binário porque não tem permissão para ir tão longe na estrutura do arquivo (faltando
x
permission em algum lugar a caminho). - Na verdade, o kernel não pode carregar esse arquivo executável porque ele não corresponde a determinados requisitos do sistema, como sua arquitetura.
No primeiro caso, uma boa solução pode ser usar su
: alternar para a conta que deve executar o arquivo e tentar acessá-lo. Comece pela raiz e desça progressivamente até o seu arquivo. Eventualmente, cd
será executado em um problema permissão negada . Claro, outra coisa pode ser que você simplesmente não tem permissão de execução no arquivo, mas esse não é o seu caso.
Agora, se isso não parece ser um problema de permissão, como no seu caso, você provavelmente está tentando executar algo que seu sistema simplesmente não pode manipular. Uma boa ideia pode ser usar file
em seu executável para verificar se ele corresponde ou não à sua arquitetura. Por exemplo, no meu sistema ...
$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.6.24.
... o que é excelente, já que estou executando uma máquina de 64 bits (arquitetura x86-64), que suporta implementações do System V. Eu também estou usando um sistema GNU / Linux, que até se encaixa na última informação.