не могу выполнить мой старый файл, тот же пользователь, только rw [дубликат]

На этот вопрос уже есть ответ здесь:

(использовал этот трюк, и не сработало)

После переустановки ubuntu с 16.04 на 14.04. Моя программа C не может быть выполнена. Мое имя пользователя то же самое.

Я использовал:

chmod +x ./hello 
chmod -R 775 hello

Я все еще получаю:

bash: ./hello: Permission denied

Я использую GUI, чтобы отметить выполнение или изменить разрешение группы или вида, он внезапно возвращается через несколько секунд. Но я могу читать и писать все файлы внутри него, когда я компилирую его снова, затем выполняю, он всегда не работает.

GUI

Как я могу решить эту проблему?

(читал много других вопросов, но все еще не работает для меня...)

$ 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)
0
задан 13 April 2017 в 15:24

1 ответ

Проблема здесь состоит в том, что файловой системой является NTFS, который не поддерживает полномочия Unix. Необходимо использовать fmask опция mount, который устанавливает полномочия всех файлов на подсоединенном внешнем диске, в то время как это смонтировано.

Примечание, что у Вас должны быть корневые полномочия для этих команд для работы.

Первый, размонтируйте диск в случае необходимости:

umount /dev/sda7

, Если это дает ошибку как:

umount: /dev/sda7: not mounted

просто игнорируют его.

Затем, создают каталог, чтобы быть Вашей точкой монтирования:

mkdir -p /media/reigin/data

Наконец, смонтируйте диск:

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

Это присвоит 755 полномочия каждому файлу на диске (но каталоги будут все еще иметь полномочия по умолчанию). Обратите внимание, что это не является постоянным; необходимо будет сделать этот каждый раз, когда Вы монтируете диск.

0
ответ дан 28 September 2019 в 13:32

Другие вопросы по тегам:

Похожие вопросы: