Permissão negada quando tento executar um programa montado com o assembler do GNU

0

Eu estava testando o assembler GNU usando código intermediário gerado pelo gcc. Eu realmente não entendo a sintaxe do assembly GNU, embora eu possa aprender em algum momento. Eu executei o comando as hello.s e, em seguida, as hello.s -o hello . Quando eu corri o executável, ele disse "Permissão negada". Mesmo quando tentei executá-lo como root, recebi a mesma mensagem. Eu corri ls -l para verificar as permissões de arquivo e os bits de permissão são normais ( rw-r--r-- ). O que está acontecendo aqui e como posso resolver esse problema?

    
por Zen Hacker 14.11.2015 / 21:04

1 resposta

1

Quando você compila um arquivo de código-fonte, o arquivo binário de saída recém-gerado tem as permissões rw-r--r-- e não é executável, pois não há x na string.

Torne-o executável executando

chmod +x hello

preceda o comando com sudo , se necessário. Depois disso, execute o binário com ./hello .

    
por 16.11.2015 / 08:36