无法运行已编译的文件 - bash:./ a.out:权限被拒绝.(我试过chmod)

Shu*_*hya 5 c linux permissions ubuntu gcc

我已经使用编译了我的C源代码cc test.c,它确实生成了a.out文件.

但是,当我运行它时,我收到此错误 -

bash: ./a.out: Permission denied
Run Code Online (Sandbox Code Playgroud)

我的源不在主目录中,它在不同的FAT-32分区上,所以我已经安装了代码使用以下命令的驱动器 -

$ udisks --mount /dev/sda7 --mount-options umask=022
Mounted /org/freedesktop/UDisks/devices/sda7 at /media/48E9-FD53
$ cd /media/48E9-FD53/C
Run Code Online (Sandbox Code Playgroud)

然后我使用编译我的代码 cc

我也试过了gcc.但我仍然得到同样的错误.

然后我做了 - chmod +x a.out,仍然是同样的问题.还有(chmod 755 a.out)和chmod u+x a.out.

我也尝试使用编译和执行程序sudo.

我也试过 - sudo chown sannidhya:sannidhya a.out.

我已经尝试了谷歌搜索后发现的所有东西,仍然无法让它工作.

如何运行.out文件(不将其移动到主目录)?

注意 - 我使用的是Ubuntu 12.04 LTS.

但这里有一个奇怪的事情,即使在跑步之后chmod +x a.out,在跑步时ls -l a.out,我得到-

-rw-r--r-- 1
Run Code Online (Sandbox Code Playgroud)

当我检查属性时a.out,在权限选项卡下,当我检查时Allow executing file as program,勾选出现并快速消失.

hek*_*mgl 8

似乎您已使用no-exec标志设置安装了分区.你必须重新安装分区:

sudo mount -o remount -o exec /dev/sda7
Run Code Online (Sandbox Code Playgroud)