Montei uma partição NTFS (onde tenho alguns binários e scripts do Linux juntamente com o Win32 e arquivos de dados) com a seguinte linha fstab:
/dev/sda5 /mnt/dat ntfs-3g rw,dev,exec,auto,async,users,umask=000,uid=1000,gid=1000,locale=en_US.utf8, errors=remount-ro 0 0
Todos os arquivos parecem ter um atributo executável definido, mas se eu tentar executá-los, recebo o erro "Permissão negada". Mesmo com o sudo. Mesmo enquanto as permissões de execução (assim como de leitura e gravação) são concedidas a todos e todo o proprietário do arquivo é definido para o usuário.
Então, como eu configuro o sistema para poder executar binários Linux a partir do NTFS?
Respostas:
Eu tive exatamente o mesmo problema e a solução no meu caso foi escrever a
exec
opção de montagem após ausers
opção. Isso ocorre porque ausers
opção ativa implicitamente anoexec
opção, então você deve especificar explicitamenteexec
.Eu obtive isso de "Por que não consigo executar programas em outra partição no Linux?" no Unix e Linux Stack Exchange .
fonte
Havia algumas pessoas refletindo sobre isso nos canais de bate-papo. Uma das pessoas sugeriu que você desse uma olhada na resposta de George Edison a esta pergunta e veja se ela ajuda: A
permissão do arquivo .exe falha
Observe que você precisará ter opções adicionais de montagem em uma partição NTFS para executar arquivos binários dessas partições diretamente - a
users
opção e também aexec
opção.users
permite desmontar por não-superusuários (bem como montar) eexec
executar executáveis a partir dele (no entanto, lembre-se de que isso não é garantia de fazer tudo funcionar).fonte
Esse é o "recurso" do pacote udisks para, por padrão, restringir a modificação de permissão na partição ntfs (ou em outras partições não Linux).
Para ativar esse recurso, você pode ler,
Habilitar a configuração de permissão executável de arquivos na partição NTFS
fonte