não pode executar meu arquivo antigo, mesmo usuário, somente rw [duplicado]

0

(use este truque e não funcionou)

Depois de reinstalar meu Ubuntu de 16.04 a 14.04. Meu programa C não pode ser executado. Meu nome de usuário é o mesmo.

Eu usei:

chmod +x ./hello 
chmod -R 775 hello

Ainda estou recebendo:

bash: ./hello: Permission denied

Eu uso GUI, para marcar a execução ou mudança de grupo de permissão ou tipo, de repente volta depois de alguns segundos. Mas eu posso ler e escrever todos os arquivos dentro dele, quando eu compilo de novo, então executo, ele sempre não funciona.

Comopossoresolverisso?

(leiamuitasoutrasperguntas,masaindanãofuncionouparamim..)

$ ls -l total 160 -rw------- 1 reigin reigin 1323 Agu 31 07:14 bentuk.class -rw------- 1 reigin reigin 2438 Agu 31 07:14 bentuk.java -rw------- 1 reigin reigin 1290 Sep 1 04:16 bentukq.class -rw------- 1 reigin reigin 2183 Sep 1 04:16 bentukq.java -rw------- 1 reigin reigin 644 Agu 29 05:09 deret.class -rw------- 1 reigin reigin 841 Agu 29 05:09 deret.java -rw------- 1 reigin reigin 1471 Agu 27 04:30 Fkonversi.class -rw------- 1 reigin reigin 8519 Sep 20 14:44 hello -rw------- 1 reigin reigin 264 Sep 20 09:06 hello.c -rw------- 1 reigin reigin 262 Agu 25 23:52 hello.c~ -rw------- 1 reigin reigin 417 Agu 26 00:00 hello.class -rw------- 1 reigin reigin 281 Agu 26 00:00 hello.java -rw------- 1 reigin reigin 182 Sep 1 18:13 HelloWorld.java -rw------- 1 reigin reigin 8612 Agu 26 01:20 jumlah -rw------- 1 reigin reigin 484 Agu 26 01:20 jumlah.c -rw------- 1 reigin reigin 557 Agu 27 05:43 jumlah.class -rw------- 1 reigin reigin 645 Agu 26 00:22 jumlah.java drwx------ 1 reigin reigin 4096 Sep 17 12:46 lat2 drwx------ 1 reigin reigin 4096 Sep 17 12:46 lat3 -rw------- 1 reigin reigin 8517 Sep 20 09:23 new -rw------- 1 reigin reigin 250 Sep 20 09:23 new.c -rw------- 1 reigin reigin 25424 Agu 31 07:18 noted.txt drwx------ 1 reigin reigin 4096 Sep 20 11:42 ong -rw------- 1 reigin reigin 1006 Agu 31 06:16 suhu.class -rw------- 1 reigin reigin 1354 Agu 31 06:15 suhu.java drwx------ 1 reigin reigin 0 Sep 17 12:46 suhuu -rw------- 1 reigin reigin 645 Agu 26 10:17 terbesar.class -rw------- 1 reigin reigin 865 Agu 26 01:29 terbesar.java -rw------- 1 reigin reigin 8664 Sep 1 11:24 test -rw------- 1 reigin reigin 266 Sep 1 11:24 test.c -rw------- 1 reigin reigin 8758 Agu 29 03:36 tigainteger -rw------- 1 reigin reigin 2343 Agu 29 03:30 tigainteger_.c -rw------- 1 reigin reigin 2345 Agu 29 03:34 tigainteger.c -rw------- 1 reigin reigin 1184 Agu 27 13:46 tigainteger.class -rw------- 1 reigin reigin 2776 Agu 27 13:09 tigainteger.java

grep result:

# mount | grep 'on /media
/dev/sda7 on /media/reigin/data type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
    
por Budi Mulyo 20.09.2016 / 02:39

1 resposta

0

O problema aqui é que o sistema de arquivos é NTFS, que não suporta permissões Unix. Você precisa usar a opção fmask de mount , que define as permissões de todos os arquivos na unidade montada enquanto ela é montada.

Note que você precisa ter permissões de root para que esses comandos funcionem.

Primeiro, desmonte a unidade, se necessário:

umount /dev/sda7

Se der um erro como:

umount: /dev/sda7: not mounted

apenas ignore.

Em seguida, crie um diretório para ser seu ponto de montagem:

mkdir -p /media/reigin/data

Finalmente, monte a unidade:

 mount -o fmask=0022 /dev/sda7 /media/reigin/data

Isso atribuirá 755 de permissões a todos os arquivos da unidade (mas os diretórios ainda terão permissões padrão). Note que isso não é permanente; você terá que fazer isso toda vez que montar o disco.

    
por insert_name_here 20.09.2016 / 10:24