Não é possível executar um arquivo com o bit de permissão de execução definido [duplicado]

3

Bem, sou muito verde para o Linux, mas estou preso a algo que deveria saber e não sei. Meu arquivo tem os seguintes conjuntos de bits de permissão:

-r-xr-xr-x

é de propriedade de root (mas não importa, pois -x está ativo mesmo para qualquer usuário) não é gravável, e como ele reside em um CDROM, mesmo que seja uma iso virtual montada como um cdrom soa ok, mas não consigo executar: Diz "Permissão negada" O que eu sinto falta? A montagem em si tem permissão de execução, então deve ser executada, por que não?

EDITAR

Eu resolvi o problema, mas não duvido, já que explicitar bash ./autorun.sh funciona - eu preciso de uma conta root para o que está dentro, mas funciona.

    
por Felice Pollano 27.11.2013 / 20:21

1 resposta

6

A explicação mais provável é Patrick : o sistema de arquivos é montado com a opção noexec , portanto os bits de permissão de execução em todos os arquivos são ignorados, e você não pode executar diretamente nenhum programa residente neste sistema de arquivos. Observe que a opção noexec mount está implícita na opção user em /etc/fstab (supostamente por motivos de segurança, embora, ao contrário das opções nodev e nosuid , noexec não forneça nenhuma segurança) . Se você usa user e deseja ter arquivos executáveis, use user,exec .

Também é possível que a linha shebang do script aponte para um arquivo que existe, mas isn ' t executável - nesse caso, a mensagem de erro se refere ao script , embora o erro esteja no interpretador. No entanto, é improvável que o shebang aponte para um arquivo existente errado (se o erro não for encontrado, uma declaração pendente seria mais plausível).

    
por 28.11.2013 / 01:06