Como acessar o executável em uma partição separada? [duplicado]

1

Acabei de começar a usar o Ubuntu e tenho o meu disco rígido configurado com uma partição do Ubuntu, uma partição do Windows 7 e uma partição de armazenamento muito maior, onde eu mantenho a maioria dos meus arquivos.

Eu tenho feito alguma programação e tenho colocado a.out em uma pasta na partição Storage. Quando tento lançá-lo no Bash, recebi uma permissão de erro negado. Eu então fiz um sudo chmod +x a.out , mas isso não deu nenhum feedback, então eu tentei lançar a.out novamente e tenho permissão negada . Eu tentei usar a GUI para alterar a.out para executável, mas quando eu marquei a caixa que desmarca imediatamente.

Eu fiz algumas pesquisas e parece que a própria partição precisa de permissão para executar. Então eu fiz sudo chmod +x Storage e então eu fiz ls -l e consegui:

drwx------ 1 jared jared 4096 2011-09-17 21:03 Storage

Quando eu voltar para alterar a.out , isso ainda não mudará.

Esta é a linha de /proc/mounts para o sistema de arquivos:

/dev/sda3 /media/Storage fuseblk   rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0

Tenho certeza de que há algo sobre permissões que estou entendendo mal, portanto, se alguém pudesse me apontar na direção certa, seria muito apreciado.

Obrigado, Jared

    
por Jared 20.09.2011 / 05:36

2 respostas

0

Os scripts Bash não precisam ser executáveis, você só precisa especificar com o que executá-los. Por exemplo:

bash ./script

As permissões do Linux (também conhecidas como chmod / chown) funcionam apenas nos sistemas de arquivos do Linux. Eles não funcionam em NTFS ou FAT32.

    
por mikewhatever 20.09.2011 / 07:56
0

Sistemas de arquivos do Windows (notavelmente fat32 e ntfs) e alguns outros não têm um gerenciamento correto como seus equivalentes linux. Mas mesmo que não fosse assim, sudo chmod +x Storge não faria muito, pois é apenas uma pasta na hierarquia do sistema de arquivos e as pastas já são executáveis. Você precisaria da opção de recursor chmod -R folder para definir as permissões para todos os arquivos nessa pasta. Mas, novamente, isso não funcionará aqui porque não há permissões a serem definidas.

No entanto, você pode dizer ao seu sistema para montar a partição de armazenamento de uma forma que permita a execução. Por exemplo, minha entrada /etc/fstab para minha partição do windows é assim:

# Excerpt from /etc/fstab
UUID=7258CB9858CB598D /media/win ntfs rw,auto,user,exec,nls=utf8,umask=003,gid=46,uid=1000    0   2

Observe, em particular, a opção umask e exec . gid e uid dizem ao mount a qual usuário a partição pertence.

Mais informações nestas perguntas:

por con-f-use 20.09.2011 / 11:16