Podem ser todos os possíveis problemas.
Saber mais detalhes sobre o que o programa pode fazer pode ser útil. Por exemplo, um programa pode não ter permissão para gravar em um diretório em um sistema de arquivos que é montado como somente leitura, mesmo que os arquivos especifiquem que as permissões no estilo Unix permitiriam que o arquivo fosse sobrescrito (quando montado, leia / escrever).
Suas configurações de permissões no estilo Unix para o arquivo, que são definidas por chmod, parecem boas. Eu concordo com isso, com base na saída que você mostrou. Então, vamos tentar ver algumas outras coisas.
Algumas idéias rápidas: mount pode ter noexec (verifique o ponto de montagem / root se ele existir; meu palpite provavelmente não é, nesse caso você vai querer verificar o ponto / mount)
Permissões causadas por outra coisa. por exemplo, a primeira linha de um arquivo de script diz! # / bin / my-interpretor, mas você não tem permissões para executar o my-interpretor
Se você está recebendo um erro de permissão, talvez um arquivo execute my-interpretor, mas o arquivo executa outro programa que está causando erros.
A resposta de Frank registra o SELinux. Portanto, pode haver fontes de permissões diferentes daquelas que estão em um arquivo. Se o arquivo for um arquivo de script, tente obtê-lo. (Isto é: em vez de executar "/ path / file", execute ". / Path / file" - com um período e um espaço e depois um nome de arquivo. Ou o comando "source"; detalhes podem ser dependentes do shell. / p>
Talvez outro possível motivo possa estar relacionado a "ulimit -a"? (Isso pode ser um comando interno de um shell, então não apenas "man ulimit" - em vez disso, "man $ SHELL")
Talvez algumas dessas ideias estejam um pouco erradas, mas essas são apenas algumas das ideias que aparecem na minha cabeça. Então, eu não estou dizendo que todas essas respostas são possíveis, ou mesmo que todas essas são definitivamente possíveis; são apenas algumas ideias e talvez uma delas esteja certa.
Resolução de problemas: verifique os arquivos de registro. Verifique o valor de retorno (echo $?). E se o root executar o programa? E se uma pessoa usa "sudo"? E se uma pessoa do grupo "roda" executar o programa?