Why does Ubuntu refuse to execute files from an NTFS partition?

I mount an NTFS partition (where I've got some Linux binaries and scripts alongside with Win32 and data files) with the following fstab line:

/dev/sda5 /mnt/dat ntfs-3g rw,dev,exec,auto,async,users,umask=000,uid=1000,gid=1000,locale=en_US.utf8,  errors=remount-ro 0 0

All files seem to have executable attribute set then, but if I try to actually execute them, I get "Permission denied" error. Even with sudo. Even while execute (as well as read and write) permissions are granted to everyone and all the files owner is set to the user.

So how do I set the system up to be able to run Linux binaries from NTFS?


Solution 1:

I had the exact same problem and the solution in my case was to write de exec mount option after the users option. That's because the users option implicitly activate the noexec option, so you have to explicitly specify exec.

I got this from "Why can't I run programs on another partition in Linux?" on Unix & Linux Stack Exchange.

Solution 2:

There were a few people mulling this one over in the chat channels. One of the people suggested that you take a look at George Edison's response to this question, and see if it helps you:
.exe file permission fail

Note that you will have to have additional mount options on an NTFS partition in order to execute binary files from those partitions directly - the users option, and also the exec option. users permits unmounting by non-superusers (as well as mounting), and exec permits executables to be run from it (however, keep in mind this isn't a guarantee to make everything work).

Solution 3:

That is the "feature" of udisks package to, by default, restricts permission modification on ntfs partition (or other non-Linux partitions).

To enable this feature, you may want to read,

Enable Setting Executable Permission of Files at NTFS Partition