Existem várias causas possíveis para isso.
- O sistema de arquivos está montado
noexec
. - Corrupção do sistema de arquivos que precisa ser corrigida com fsck.
- O sistema de arquivos é estrangeiro e a tradução incorreta de permissões resulta em privilégios negados.
- O diretório que contém o binário não possui o bit de execução definido (causando um problema com o traversal)
- Um subdiretório no diretório não possui o conjunto de bits de execução (aplica-se somente se o binário estiver aninhado em mais de um diretório)
- O binário não possui os bits de leitura e execução definidos para seu ID de usuário ou ID de grupo.
- Você não é realmente root (UID 0), mesmo que o nome da conta diga
root
. Embora improvável, isso é possível. Observe queroot
não é 100% igual a UID 0, que é um ID "especial" que ultrapassa as verificações de privilégios. A contaroot
, no entanto, é mapeado para o UID 0. - Regras do SELinux / grsecurity que negam tudo. (obrigado Janne Pikkarainen! teve um pequeno bloqueio mental sobre esse aborrecimento).
- Um ou mais binários estão comprometidos. Nesse caso, você não pode confiar em nada que esteja executando.
Mais informações são necessárias para entender realmente o que está acontecendo.