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

喜你入骨 提交于 2020-01-03 15:17:52

问题


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.


回答1:


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



回答2:


I'd guess you are doing all of this on an NTFS/FAT partition that you probably share with windows. chmod permissions do not work on them.

You should move it to an ext4 (or equivalent linux) partition, and then perform permission changes.


Else, for an NTFS/FAT partition, you set permissions for the entire partition, at the time of mounting. For example,

sudo umount /mnt/my_partition
sudo mount -t vfat -o rw,auto,user,fmask=0000,dmask=0000 /dev/sda7 /mnt/my_partition

This would give you 777 on all directories and files (eeeek!), but once set, you can't modify them till you remount.



来源:https://stackoverflow.com/questions/16087752/unable-to-run-compiled-files-bash-a-out-permission-denied-ive-tried-chm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!