Erro de bash ao tentar executar um arquivo

2

Eu sou meio novo no Linux e na programação, então, por favor, desculpe minha falta de conhecimento.

Estou tentando executar um programa básico chamado trial.c com um arquivo executável denominado tentando , mas quando digito ./ tentando no terminal esse erro aparece:

bash: ./trying: Permission denied

A pasta está no meu disco rígido com 3 partições, uma para casa, outra para o meu ubuntu_files, e a outra é uma partição fat32 chamada MISC. A pasta está dentro da partição fat32 do meu disco rígido.

o problema é que não importa o quanto eu tente usar chown e chmod (ambos com recursividade) para alterar a permissão da pasta que contém o trial.c e o executável (< strong> tentando ), a mensagem de erro bash ainda permaneceria o mesmo.

O usuário é equipecrklo, e eu digitei groups nciacrklo para ver qual grupo está associado a esse usuário e tentei os códigos encontrados abaixo em meu terminal.

sudo chown nciacrklo:nciacrklo /media/nciacrklo/MISC/LibUsb -R -v

e depois disso ele disse:

ownership of '/media/nciacrklo/MISC/LibUsb/trying' retained as nciacrklo:nciacrklo 
ownership of '/media/nciacrklo/MISC/LibUsb/trial.c' retained as nciacrklo:nciacrklo

e depois,

sudo chmod 755 /media/nciacrklo/MISC/LibUsb -R -v

então disse:

mode of '/media/nciacrklo/MISC/LibUsb/trying' changed from 0644 (rw-r--r--) to 0755 (rwxr-xr-x)
mode of '/media/nciacrklo/MISC/LibUsb/trial.c' changed from 0644 (rw-r--r--) to 0755 (rwxr-xr-x)

finalmente, tentei novamente o ./trying , mas o mesmo erro apareceu.

bash: ./trying: Permission denied

por favor, por favor me ajude estou lutando com isso e ainda tenho que fazer muita programação sobre o tópico LibUsb & lt;. & lt;.

quaisquer comentários sobre como usar o LibUsb para adquirir imagens da webcam também seriam de grande ajuda. Obrigado!!! \ m /,

    
por Carl 24.11.2013 / 13:29

1 resposta

2

Se todas as permissões do arquivo estiverem corretas, como parecem ser, pode ser porque sua partição está montada com o sinalizador noexec .

Para verificar isso: digite mount e verifique se é o caso. Você deveria ver algo como:

/dev/sdd1 on /media/banana type vfat (rw,noexec,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,shortname=mixed,errors=remount-ro)

(veja o noexec ai?)

Remontar sua partição com o sinalizador noexec da seguinte forma:

sudo mount -o remount,exec /media/banana

(você terá que adaptar a parte banana para o seu caso). E verifique se funcionou emitindo mount novamente:

/dev/sdd1 on /media/banana type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,shortname=mixed,errors=remount-ro)

(não mais noexec aqui!).

Se esse foi o seu problema, você terá que descobrir que a partição foi montada com o sinal noexec em primeiro lugar.

    
por gniourf_gniourf 24.11.2013 / 15:49