Arquivo executável por todos, mas ainda não pode ser executado?

4

Como mostrado pelo seguinte código:

ll
total 136
-rwxr-xr-x 1 kaiyin kaiyin  19067 May  9  2013 dbmeister.py
-rwxr-xr-x 1 kaiyin kaiyin   1617 Jul 29  2011 locuszoom
-rwxr-xr-x 1 kaiyin kaiyin 112546 May  9  2013 locuszoom.R


./locuszoom
-bash: ./locuszoom: Permission denied

locuszoom é executável globalmente, mas ainda não pode ser executado. Os arquivos estão em um disco rígido montado em /media/data1 .

    
por qed 13.01.2014 / 13:36

2 respostas

6

O disco rígido precisa ser remontado para que a opção exec mount seja incluída.

trecho da página man do monte

FILESYSTEM INDEPENDENT MOUNT OPTIONS
    ....
    exec   Permit execution of binaries.

Você pode fazer isso de 1 a 2 maneiras.

Exemplos

Por meio da linha de comando.

$ mount -o remount,exec /media/data1

Ou no seu /etc/fstab .

# <file system>      <dir>         <type>    <options>             <dump> <pass>
/dev/sdb1            /media/data1  ext4      rw,exec,noauto        0      0
    
por 13.01.2014 / 13:46
0

Assumindo que locuszoom é um script de shell de algum tipo, é possível que o bash esteja lhe dizendo que algo no início do script falhou, em vez de você não poder executar o script. Tente bash -x ./locuszoom e veja se está falhando em algum lugar (assumindo que locuszoom é um script de shell bash).

    
por 13.01.2014 / 13:39