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