Skip to content
Advertisement

Unable to run compiled files – bash: ./a.out: Permission denied. (I’ve tried chmod)

I’ve compiled my C source using cc test.c, and it did generate a.out file.

However when I run it I get this error –

bash: ./a.out: Permission denied

My source is not in the home directory, it is on different FAT-32 partition, so I’ve mounted the drive in which the code is using the following command –

$ udisks --mount /dev/sda7 --mount-options umask=022
Mounted /org/freedesktop/UDisks/devices/sda7 at /media/48E9-FD53
$ cd /media/48E9-FD53/C

Then I compile my code using cc

I’ve also tried gcc. But still I get the same error.

Then I did – chmod +x a.out, still the same problem. Also with(chmod 755 a.out) and chmod u+x a.out.

I’ve also tried compiling and executing the program using sudo.

I’ve also tried – sudo chown sannidhya:sannidhya a.out.

I’ve tried every thing that I found after googling, still couldn’t get it to work.

How can I run .out file (without moving it to home directory)?

Note – I am using Ubuntu 12.04 LTS.

But a weird thing here is, even after running chmod +x a.out, on running – ls -l a.out, I get-

-rw-r--r-- 1

also when I check the properties of a.out, under Permissions tab, when I check Allow executing file as program,the tick appears and quickly disappears.

Advertisement

Answer

Seems that you’ve mounted the partition with with no-exec flag set. You’ll have to remount the partition:

sudo mount -o remount -o exec /dev/sda7
User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement